v2.46.0 — Layer D: operated end-to-end autopilot service
Autopilots become a real operated service: a durable run pauses at the human checkpoint, waits in an inbox for a named licensed human to sign, then resumes and executes the irreversible action (the write). Built on rcm; works for all 16.
- Durable run store — runs persist (
~/.great_cto/autopilot-runs), survive restarts, immutable audit trail.startRun→awaiting-approval;approve(id, who)resumes + runs the write;rejectends it with nothing irreversible run. - Resumable runtime —
runFlowgainsstartAt+approvedGates; the v2.43.0 safety invariant holds end-to-end (the write fires ONLY because a human signed its gate — across a process boundary). - CLI
autopilot.mjs(start/inbox/show/approve/reject/runs) ↔ admin board/autopilot.html+/api/autopilot/*— one shared store, fully synced. - Multi-gate — tax now needs two signatures (preparer PTIN → taxpayer Form 8879) before the IRS e-file.
- Push to the signer — board pushes '🛂 new case awaiting your signature' when a gate opens.
- Hardening — multi-tenant scoping (each tenant sees only its queue) + a stable per-run idempotency key so a retried write never double-submits.
- 261 lib tests. Proven on rcm live: 3 live connectors → pause → coder signs → 837 submitted → completed.