Fleet Mission Control — fallback harness handoff¶
Verified 2026-07-19 at fleet-mission-control commit 8c365b1. This is the shared operational handoff for Codex/ChatGPT, Antigravity 2.0/agy, and Grok. Global identity, constitution, and house facts remain managed by fleet-constitution; volatile repository state belongs here.
Read this first¶
- Andrew's highest-priority requirement was full phone parity before Claude usage ran out. FLT-152 is landed at
1c51526: installable PWA with complete iPhone and Pixel Fold folded/unfolded support. - Tailscale is the required access path. FLT-153 is landed at
44a0f1a: verified same-tailnet-user peers can establish cockpit sessions. Deployment API origin was corrected at8c365b1. - FLT-150 attachments landed at
12aa73c; FLT-151 multi-repository discovery fix landed at0ef9732. - The remaining failover work is operational: deploy the Mission Control API/startup launcher to the other three PCs, bind each service to that machine's Tailscale address, and give clients an ordered set of four Tailscale endpoints. Do not expose the API on the LAN or public internet.
- One-brain constitution and facts are installed on greatroom. Propagation and verification on gaming, streaming, and bedroom remain pending unless newer evidence proves otherwise.
- The autonomy substrate (FLT-113, FLT-132, FLT-133 in
usage-governor) is inert. Do not enable it; it remains gated on nine proofs.
System map¶
Fleet Mission Control controls four Windows PCs over Tailscale and an SSH mesh:
| Role | Host |
|---|---|
| greatroom | ANDYGREATROOMPC |
| gaming | DESKTOP-D249KD4 |
| streaming | DESKTOP-SCDT9HI |
| bedroom | ANDREWBEDROOMTV |
This repository contains a .NET 10 API in src/FleetMissionControl.Api (port 5170) and an Angular cockpit in frontend (port 4200). Backend contracts generate openapi/FleetMissionControl.Api.json and frontend/src/app/api/fleet-api.generated.ts; npm run check:drift must remain clean.
Relevant sibling repositories are usage-governor, fleet-dispatch, fleet-memory, fleet-constitution, fleet-repo-sync, and fleet-harness. The fuller cross-fleet session memory is ~/.fleet/memory/HANDOFF.md, but it was stale at the time this document was verified; prefer this file for Mission Control landed state and verify both against git.
Safe work discipline¶
- Never build or edit reviewable files in the main checkout. Main may contain Andrew's or another harness's uncommitted changes. Create a dedicated worktree and branch from
origin/master. - Before committing backend work, run
dotnet build -warnaserroranddotnet test. Before committing frontend work, runnpx ng build,npx ng lint,npx vitest run, andnpm run check:driftfromfrontend. - After contract changes, run
npm run generate:clientand commit both generated artifacts. - Stage explicit file paths only; broad or stage-all forms are blocked. Use one focused commit.
- Run the
council-code-reviewgate before every commit and resolve findings. - Land only vetted work by fast-forward or cherry-pick. A finished sibling worktree can retain an identity lease; remove that worktree after preserving its commit before landing.
- Push and fan out with
C:/Users/fives/source/repos/fleet-repo-sync/sync-push.ps1 -RepoPath <repo>. Never filesystem-sync a live.gitdirectory.
Harness entrypoints¶
- Codex/ChatGPT: repo
AGENTS.md+ global~/.codex/AGENTS.md. Headless CLI usescodex exec -m <model>and requires an external timeout; interactive mode needs a TTY.gpt-5.6-solis the hard/Fable-class lane,gpt-5.6-terrathe practical everyday coding lane, andgpt-5.6-lunathe cheap bulk lane. The cockpit'sCapabilityRouter.ConcreteModelmaps ceiling/standard/mechanical onto exactly those three (FLT-194). - Antigravity 2.0/agy: repo
GEMINI.mdandAGENTS.md+ global~/.gemini/GEMINI.md. Both app and CLI discover both repo filenames. Useagy -p,--model "Label", and null stdin. - Grok harness/CLI: repo
AGENTS.md+ global~/.grok/AGENTS.md. Never rely onGROK.md; current Grok does not load it. Usegrok -pand--yoloor--always-approveonly for authorized unattended work. Grok is primarily the adversarial/red-team seat, not the bulk builder.
Pending product lanes¶
- FLT-148: limits/reset dashboard. Historical partial worktrees were
ug-flt148andfmc-flt148; inspect before trusting or deleting them. - FLT-149 cockpit model selectors. Historical partial worktree was
fmc-flt149. - FLT-151: activate image generation with Auto plus explicit OpenAI/Gemini/Grok routing (follow-on to FLT-102).
- FLT-152: unify attachment UX across smart command, direct launch, and follow-up composers.
- FLT-153: add durable asynchronous OpenAI Sora, Gemini Veo, and Grok Imagine video generation.
- FLT-154: research a governed Claude Projects integration aligned with Work Wingman.
- FLT-155: research a governed NotebookLM integration aligned with Work Wingman.
- Four-node Tailscale API failover and peer deployment.
- One-brain propagation and drift verification across the remaining PCs.
Current phone endpoints on greatroom are cockpit http://100.69.90.95:4200 and API http://100.69.90.95:5170. Treat the IP as host-specific configuration, not a universal bind address.
Before resuming¶
Run read-only checks first: git status --short --branch, git log -10 --oneline, git worktree list, and service/endpoint probes. Do not overwrite dirty files or assume an old worktree is disposable. If a newer commit or live deployment contradicts this document, trust verified artifacts and update this handoff in the same reviewed change.
Boards: Jira FLT, Vikunja project 7 on greatroom, and fleet-harness/docs/BOARD.md.