Existing step01Linear / FT-N
The ticket
- Outcome plus acceptance criteria, written before any branch exists
- One accountable owner, one acting agent
- Blocked-on and bay recorded on the issue itself
- Fed by triaged feedback (FT-67).
the work order posted on the shop wall
Existing step02JP's agents · orchestrator
Claim, then branch
- Guarded claim on the issue, then scope
- Branch cut from a freshly fetched main, never a stale local ref
- Job ticket compiled from the acceptance criteria
- The scheduler dispatches; the guards are what stop it.
the floor supervisor assigns the bay, the parts and the deadline
Existing step03Two lanes
Commits in a worktree
- One issue, one worktree: its own checkout of the repo
- Refused if the tree is dirty or already claimed
- Small reviewable commits, not one drop at the end
- Two lanes, same repo, same shared conventions.
two workshops, each with its own bays, drawing on the same common stores
Existing step04CI + critic
Checks and review
- An independent critic reads the diff, not the builder's reasoning
- Required checks run on the PR: tests, lint, build
- Defects go back to the worktree as another commit
- A green check is not approval to deploy.
the inspection bay, with its own gauges
Existing step05FT-98 / Render
PR preview environment
FT-98 · Done
- One shareable preview URL per pull request
- Built by the same Dockerfile as production
- Isolated non-production data, worker off
- Previews inherit the seed's plan: that line is the only cost lever.
a pilot line is a copy of the real line; a bench is one person's workbench
Touches the live line · human gate06GitHub / main
Squash-merge into main
- Branch rebased on current main, PR reviewed and approved
- Required approvals plus green required checks
- Squash-merge, so main keeps one commit per issue
- Merged is not released: main can sit ahead of production.
the new part is fitted into the main production line
Touches the live line · human gate07Render / mise en service
Deploy
- Attestation, merge and deploy are three distinct steps
- Runbook: pause, drain jobs to zero, back up, deploy the exact SHA, /healthz, resume
- A human confirms the deploy, then the issue moves to Done
- Auto-deploy is off: someone chooses the commit that ships.
mise en service: the upgraded line is switched on to a written procedure