a853ef7709
Add getGitStates(podId) to db.ts — queries the engineer_states collection written by scripts/podman-agent.mjs and returns a map keyed by engineer name. In PodMan.onScreenFrame(), fuse before detectCollisions(): if an engineer has changedFiles in engineer_states, force hasUnpushedChanges=true on their context. This overrides Gemini vision's unreliable pixel-based guess with deterministic local git state — preventing the money-moment collision from silently not firing. Key assumption: LiveKit participant identity matches the --name arg used when running the git watcher (e.g. identity "alice" → --name alice). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AaCFWMkYQmTcuPsxaaACft