# Plan Index

audience: AI coding agents first.

Read this file at session start, after compaction, and before claiming work. Every new actionable owner request MUST map to a durable indexed plan before implementation. Triage and deduplicate by outcome: one plan may own several tightly-coupled task IDs; every task maps to exactly one primary plan. Update existing plan for repeated/corrective requests; NEVER create duplicates.

## Status contract

- `PROPOSED`: awaiting owner approval; do not launch.
- `ACTIVE`: a specific worker/process is currently executing the plan; record it in receipt.
- `IDLE`: approved/open but nobody is currently executing it.
- `BLOCKED`: genuine external blocker recorded; continue next independent ACTIVE or executable IDLE plan.
- `DONE`: installed/deployed and owner-visible with receipt.
- `SUPERSEDED`: replacement plan linked; preserve history.

## Plans

| Priority | Status | Plan | Scope | Current receipt |
|---:|---|---|---|---|
| FIRE | DONE | [Workstation AI account Gateway convergence](2026-08-22-workstation-ai-account-gateway.md) | Systray owns local Codex/Claude/Claudex account management; Subrouter is per-account loopback custody; Factory/agentic execution moved to AWP | Landed/deployed workstation proof PASS; `zync` remains native/unbound; authority 0/0/0/0; edge disabled |
| FIRE | SUPERSEDED | [Self-hosted Subrouter authority S6](2026-08-22-subrouter-authority-s6.md) | Historical K3s/Factory authority direction | Superseded by workstation AI account Gateway convergence after owner moved Factory/agentic execution to AWP |
| FIRE | DONE | [Self-hosted Subrouter authority S5](2026-08-22-subrouter-authority-s5.md) | Synthetic incremental Codex/Claude migration, Repair, acceptance, and rollback transactions | Deployed fixture Codex+Claude migration/repair/restart/rollback PASS; `zync` remains native/unbound; live authority 0/0/0/0 |
| FIRE | DONE | [Self-hosted Subrouter authority S4](2026-08-21-subrouter-authority-s4.md) | Remote seat through tailnet authority using only per-run route/grant material | `debian1` container/tailnet canary PASS; bounded receipt proves no provider/admin credential delivery and automatic revoke/delete cleanup |
| FIRE | DONE | [Self-hosted Subrouter authority S3](2026-08-21-subrouter-authority-s3.md) | Tailnet-only machine-authenticated edge, exact-route buildbox grant, credentialless remote proof | `debian1` 200/401 proofs, `debian2` edge 403, revocation 200→401, cleanup/restart returned authority to zero |
| FIRE | DONE | [Self-hosted Subrouter authority S2](2026-08-20-subrouter-authority-s2.md) | Credentialless installed exact-route/grant/admin-isolation canary; no live account migrated | Owner reports `zync2` unrecoverable; `zync` test-only and must remain native/unmodified; installed credentialless proof passed and cleaned back to zero |
| FIRE | DONE | [Self-hosted Subrouter authority S1](2026-08-18-subrouter-authority-s1.md) | Exact dark routes, scoped proxy grants, gateway-only homes, and gateway health; all real provider launches remain native | Canonical receipt via `modules/subrouter/bin/verify-candidate path`; focused/static/full green, module 42, Systray 237; exact-route/grant/admin/gateway-home/native-launch proofs PASS; installed state 0 credentials/routes/grants/unresolved |
| FIRE | DONE | [Self-hosted Subrouter authority S0](2026-08-17-subrouter-authority.md) | Pinned, crash-safe, credential-empty self-hosted refresh authority on loopback | Installed `overdeck-subrouter.service` active on `127.0.0.1:31415`; credential-empty authority status proved |
| 1 | SUPERSEDED | [Codex grant single-writer](2026-08-17-codex-grant-single-writer.md) | Historical incident remediation; registry/lifecycle/attestation outcomes preserved, custom authority/copy reconciliation replaced by Subrouter | Superseded by self-hosted Subrouter authority; incident evidence retained |
| FIRE | ACTIVE | [Systray must never rotate Claude OAuth grants](2026-08-15-systray-claude-token-rotation.md) | Systray usage poller refreshes grants it doesn't own; refresh-token replay revoked the multideal grant 01:50 2026-08-15 | Root cause verified; token backed up; read-only fix in progress |
| FIRE | ACTIVE | [Astryx UI cutover](2026-08-15-astryx-cutover.md) | Migrate all deck-ui + web UI components to @astryxdesign/core+lab (visual-only); React 19 prerequisite; parity + all gates green | Plan authored; recon done; worktree claim + baseline next |

| FIRE | IDLE | [Laptop Build Containment](2026-08-15-laptop-build-containment.md) | 2026-08-15 load-145 fire; builds contained/off-laptop, agents+VM untouched | Containment + routing fix + buildbox php parity landed (68749558b, 2eca4d14, 55b8c902d) and deployed; open lane: remote vendor/ materialization then lift php local-only exemption |
| FIRE | ACTIVE | [Land retirement path hardening](2026-08-13-land-retirement-path-hardening.md) | Verify and block receipt-controlled executable/path escape in controller land retirement | Exploit confirmed and fixed in `da3789b87`; 48 focused tests + typecheck clean; integrating current main |
| FIRE | ACTIVE | [Incremental Delivery Operating Model](2026-08-13-incremental-delivery-operating-model.md) | #1/#2/#3 strengthen existing Overdeck queue incrementally: continuation, receipt reuse, exact proof, flags, visibility, retirement | Existing machinery inventoried; S0 policy landing now; revised remaining estimate 3,100–5,500 LOC across 28–45 files |
| 0 | ACTIVE | [T2 Stop Repair](2026-08-13-t2-stop-repair.md) | Restore deployed `T2` Stop work safely; preserve incident data; prove exact-unit stop; land durable fix | Task #14 active; compatibility fix installed and focused tests pass; landing reconciliation active |
| FIRE | ACTIVE | [Idle language-server reaper class](2026-08-14-lsp-reaper-class.md) | #6 class in existing agent-reaper: silent auto-reap of idle LSPs of live sessions; sessions untouched; restore ENFORCE=1 (drift evidenced) | Diagnosed; implementation starting in worktree |
| FIRE | DONE | [Press.zone auto-lander enrollment](2026-08-13-presszone-auto-lander-enrollment.md) | Generalize stage-a land queue to any trunk branch; enroll Press.zone wp-content (base master); end-to-end proof | Brain landed `0b458e168` + deployed `6c6657b0`; Press.zone enrolled (queue+guard+regenerated ship.sh); proof `f16f37ba5` on origin/master |
| NORMAL | IDLE | [land-enroll onboarding script](2026-08-13-land-enroll-onboarding-script.md) | One fail-closed `land-enroll` wrapper over the enrollment sequence; roll out to zync.is (merge-to-main) and multideal (pr mode, queue refused) | Prerequisite met (Press.zone proof DONE); executable |
| 1 | SUPERSEDED | [CI/CD reliability and speed](2026-08-12-ci-cd-incremental-delivery.md) | Evidence-backed whole-project CI/deploy optimization, deduplication, industry-gap audit, and permanent FIRE prevention | Design complete; execution replaced by incremental Claudex streams below |
| FIRE | ACTIVE | [CI/CD incremental delivery](2026-08-12-ci-cd-incremental-delivery.md) | Parallel independently shippable CI/CD relief; Claudex GPT workers; per-slice land/deploy; `/ci` mockups and authoritative visibility | S8 repaired at `e6f264875`, landed/deployed, installed files byte-match main; controller recovery 14/14; other independent slices remain active |
| 3 | DONE | [Missing ship wrapper recovery](2026-08-13-missing-ship-wrapper-recovery.md) | #3 make missing `.claude/scripts/ship.sh` executable setup, never external blocker | Landed `948141237` via integration `270ca169c`; installed canonical skill byte-matches landed source; final free space 41.96 GiB |
| NORMAL | DONE | [list-sessions tool](2026-08-13-list-sessions.md) | #1 user tool: live Claude session breakdown (title/id/pid/attached/active/last); lives in `modules/workstation/claude/bin`. #2 CLI filters `-t/-s/-c`. #3 STARTED + DETACHED columns. #4 `--kill` detached+idle zombies | #1 landed `852985795`+receipt `c3b9d3f67`; #2 landed `b882cd077`; #3 landed `47ff66932` (tool `870b51103`); #4 landed `73196989` (tool `d5f059a71`); DEPLOYED `73196989` — `/logs` 200, services active, `--kill` live on PATH, E2E-kill proven |
| FIRE | DONE | [CI delivery web data](2026-08-12-ci-delivery-web-data.md) | #22/#29/#32 typed `deploy-status` parser and read-only collector query seam; no visual or queue changes | Web `da7b312ba` + collector `4abdc6c03` landed as `08a0b449c`; deployed; `/ci` 200 with explicit unknown freshness; collector 10/10 focused tests |
| FIRE | PROPOSED | [Project GOLIVE onboarding](2026-08-13-project-golive-onboarding.md) | Add Project; postpone or agent-built/reviewed GOLIVE; existing Factory decisions/observability | Spec + request plan authored; implementation explicitly not launched |
| FIRE | ACTIVE | [Integrate web-agent Project Control work](2026-08-13-integrate-web-agent-project-control.md) | #1 reconcile submitted package; verify; push; deploy | Guarded worktree active; package verification known incomplete; byte reconciliation next |
| FIRE | DONE | [Pi settings single-writer ownership](2026-08-12-pi-single-writer-ownership.md) | #7 canonical deploy ownership; preserve/merge foreign contents; hash/provenance transaction; round-trip test; land/deploy | Landed/deployed `65ff076e8`; canonical links + zero drift; installed remote canary `STATIC_REMOTE_OK` |
| FIRE | ACTIVE | [ask-gpt bounded prompt submission](2026-08-12-ask-gpt-silent-hangs.md) | #1 stop silent hangs before prompt submission; visible bounded failure or proven send | Installed proof green; landing/deploying |
| FIRE | DONE | [Deploy Status Filesystem Integrity](2026-08-12-deploy-status-filesystem-integrity.md) | #33 prevent false green deploy state from missing/inaccessible/malformed locks or lifecycle-incomplete held locks | Commit `675a9d115`; adapter 12/12; index 6/6; typecheck clean; full collector has unrelated existing failures |
| FIRE | ACTIVE | [Disable Claude Code Remote Control](2026-08-12-disable-remote-control.md) | Set tracked/live `disableRemoteControl: true`; verify block; push/deploy | Worktree `wt/disable-remote-control`; canonical source and deploy entrypoint identified |
| FIRE | ACTIVE | [Deploy queue — coalescing](2026-08-12-deploy-queue-coalescing.md) | Transparent in-script deploy queue: persistence, visibility, coalescing; systemd path/service backstop; recovered from lost session `ses_00bc3eb05ffe7YKXeLedypuXR2` | PASS=30 FAIL=0; landing |
| FIRE | ACTIVE | [Localize Overdeck skills](2026-08-12-localize-od-skills.md) | #1 move every `od-*` skill from Claude-global to Overdeck project-local scope; push/deploy | Worktree `wt/localize-od-skills`; 11 global skills inventoried; deployment ownership trace in progress |
| FIRE | ACTIVE | [Restore `claudex` configuration](2026-08-12-claudex-config-drift.md) | #1/#2 restore missing `claudex` statusline; audit proven settings drift | Live statusline restored and rendered; 15 healer + 114 claudex/statusline tests pass; hardening commit/land/deploy next |
| FIRE | ACTIVE | [Land project-color settings drift](2026-08-12-land-project-color-settings-drift.md) | Reconcile `wt/factory-settings`; verify collector persistence; land/deploy; remove worktree service provenance | Typecheck + 691 tests pass remotely; rebased onto current main |
| FIRE | ACTIVE | [ask-gpt trusted attachment staging](2026-08-12-ask-gpt-trusted-attachments.md) | #4 make jailed attachment paths visible to trusted relaunch; prove installed fresh send | Root cause proven; isolated repair worktree active |
| FIRE | ACTIVE | [ask-gpt isolated X display startup](2026-08-12-ask-gpt-xvfb-startup.md) | #21 restore isolated Xvfb startup across jailed launch boundary and authenticated browser work | Candidate installed; actual jailed PATH download produced valid 179026-byte ZIP, zero failures/partials; 281 passed, 1 skipped; independent review running |
| FIRE | DONE | [local-gate remote dispatch timeout](2026-08-12-local-gate-dispatch-timeout.md) | Fix phantom 1ms dispatch timeouts, per-host budget drain, and clamped transfer budgets in remote-build.mjs; no local fallback | Landed 1bfa205c4; 8 remote-build suites green; buildboxes dispatching again; deploy in flight |
| 1 | PROPOSED | [Remote build: delete the scheduler](2026-08-12-remote-build-scheduler-removal.md) | Replace hand-rolled host scoring/health-cache/claims with static assignment + Mutagen sync; keep all 3 boxes and the wrapper | Proposed after the outage; owner corrections (3 boxes, wrapper mandatory) folded in; awaiting approval |
| FIRE | DONE | [Incident dispatch selector options](2026-08-09-incident-dispatch-selector-options.md) | #2 resume live `/incidents` browser acceptance through installed e2e-remote | Remote selectors/interactions verified; no local browser; transient 81 MB state/incident 503 signal preserved as separate follow-up evidence |
| FIRE | ACTIVE | [Preserve rootless Podman networking children](2026-08-11-deck-podman-network-child-lifetime.md) | Fix transient service kill mode; keep local WordPress fixture networking alive | Source worktree claimed; focused test and install-before-land pending |
| FIRE | ACTIVE | [Restore e2e-remote registry lookup integrity](2026-08-11-e2e-remote-registry-integrity.md) | #1 DONE; #5 stop workstation-local payload execution, assert registered remote identity, restore Chromium and unblock observability | Repair worktree active; installed canary falsely reports workstation `e14`; source/runtime chain comparison exactly next |
| FIRE | DONE | [Land queue Git isolation](2026-08-11-land-queue-git-isolation.md) | #1 isolate conductor fetch/candidate/publication from corrupt task refs and objects | Landed/deployed; 115 focused + 151 Factory tests; installed dangling-ref containment and owner-visible runtime proven |
| 1 | DONE | [Compact-proof task persistence recovery](2026-08-11-compact-proof-task-persistence-recovery.md) | #15 read persisted `<task-id>.json` task files after compaction | Landed/deployed `c394e28a`; 82/82 tests; installed deploy-clone hook runtime-proven with isolated `47.json` fixture |
| FIRE | DONE | [Stop literal `%h` directories](2026-08-11-stop-percent-h-directories.md) | #1/#4/#5 identify creator; normalize every launcher path; preserve existing artifacts | Landed/deployed `64dd0cc6`; 2026-08-11 17:19 +07 revalidation: zero live carriers and fresh Python probes use absolute cache path |
| FIRE | DONE | [Review and merge PR 13](2026-08-11-review-merge-pr-13.md) | #1 personal review; satisfy live-proof and gate constraints; merge/deploy | Merged/deployed; SSH injection follow-up fixed; 57 K3s tests + installed proof green |
| FIRE | ACTIVE | [GPT Workflow Skill](2026-08-11-gpt-workflow-skill.md) | #36 Luna-driven ask-gpt implementation/review/correction; Terra integration/landing; immutable receipts | Worktree `wt/gpt-workflow-skill`; plan active; source pending |
| FIRE | ACTIVE | [Controller-Owned Dark Delivery](2026-08-11-controller-owned-dark-delivery.md) | #5/#25/#39 controller-owned dark delivery; signed evidence admission; buildbox admission restoration | Lost progress reconstructed from ground-truth transcript; `d381525ca` landed, deployment blocked by preserved deploy-clone `_human-session` WIP; installed bootstrap/audit pending |
| FIRE | IDLE | [WIP and Worktree Triage](2026-08-11-wip-worktree-triage.md) | #1 audit all worktrees/branches/WIP; preservation-first consolidation and retirement recommendations | Read-only inventory complete: 272 worktrees, 99 branch-only refs, 8 stashes; 117 recovery lanes; zero deletions currently pass gate |
| FIRE | ACTIVE | [CPU load — agent session sprawl](2026-08-11-cpu-load-session-sprawl.md) | Laptop pinned at 100%; cleanup must never terminate attached sessions | Task #6 DONE: deployed current main; units absent/inactive, zero processes, receipt stable; task #3 pending runtime-bound redesign |
| FIRE | IDLE | [Master Delivery Plan](2026-08-10-master-delivery-plan.md) | Complete recovery lane registry; navigation only | Split into deduplicated executable plans below |
| FIRE | DONE | [Cluster degraded — oversized mirror trips the fleet](2026-08-11-cluster-push-oversize-trip.md) | 15.3 GB non-git `Press.zone` mirror times out the 120 s push budget and marks every host unhealthy | Landed `b86ee4380` + deployed; doctor green on ssh/parity/rsync for all three hosts; debian2 back in both spill orders |
| FIRE | IDLE | [Emergency Offload](2026-08-10-emergency-offload.md) | #170 restore remote execution and laptop usability | Whole-agent remote seat completed on Debian2, exit 0; customer payload and spill pending |
| FIRE | DONE | [Factory on k3s](2026-08-10-factory-k3s.md) | #96/#175 immutable k3s execution vertical slice | Landed `8ee207afe`; deployed; installed hash/provenance and cleanup units green; canary rc0/CLEANED; zero resources/refs/mailboxes; 33+174+70 clean |
| FIRE | ACTIVE | [K3s migration and node enrollment](2026-08-10-k3s-migration-execution.md) | Reconcile scheduler/Factory tracks; phased cluster migration; one-command post-Tailscale enrollment | Phase 1 merged/deployed at `832acc72`; Phase 2 deterministic zero-mutation enrollment planner and package complete; next gate is owner dry-run receipt and reviewed Phase 3 canary authorization |
| 2 | BLOCKED | [Seat Image Node Drift](2026-08-11-seat-image-node-drift.md) | debian1 seat image node v22≠v24; land-queue gate red fleet-wide | Handed to k3s/node-image lane; direct-land escape in use |
| 1 | ACTIVE | [Flow-First Operating Model](2026-08-10-flow-first-operating-model.md) | Permanent delivery workflow adjustment | Owner goal active: main session MUST continuously execute; background waits route immediately to another lane, never stop |
| 2 | ACTIVE | [Factory Reliability](2026-08-10-factory-reliability.md) | #1/#151/#171/#181/#182/#183 transport, supervision, timeout fixture, disk admission, UI kill/copy | #1 landed/deployed at 747fe53f; #151 passed 10 focused runs and 144-test Factory suite |
| 3 | DONE | [Global WIP Triage Skill](2026-08-11-global-wip-triage-skill.md) | Tested global `/wip-triage`; safe preservation, classification, consolidation, and retirement | Landed/deployed `ac1461925`; installed path pinned to deploy clone; contract test passes |
| 3 | ACTIVE | [GPT Orchestrator Skill](2026-08-11-gpt-orchestrator-skill.md) | Tested global `/gpt-orchestrator`; multi-task ask-gpt Pro dispatch, correction, artifact verification, sequential landing, fail-closed theme-title validation | Worker in `wt/fix-gpt-title-contract`; correction captured; source edit pending |
| 3 | DONE | [GPT Factory Skill](2026-08-12-gpt-factory-skill.md) | #11 exact file-backed context packaging and Pro-default Factory GPT launch | Landed `924664313`; deployed; installed bytes and contract verified |
| 3 | DONE | [Factory GPT Model Integration](2026-08-11-factory-gpt-model.md) | Pi provider `gpt`; `gpt/sol-web-<effort>`; mediated tools; Pro-default wrapper | Landed/deployed; installed provider healthy/authenticated; full gates and visibility contract pass |
| 2 | IDLE | [Factory Presets](2026-08-09-factory-presets.md) | #53 named seat/model/account presets | Local integration committed; awaiting orchestrated land/deploy |
| 3 | ACTIVE | [Incidents Completion](2026-08-10-incidents-completion.md) | #1/#179/#233/#234/#236 full redesign, classification, backfill, dispatch intelligence/security, merge to `main` | Merge conflicts resolved; collector typecheck + 152 focused tests + diff checks green; merge commit next |
| 3 | ACTIVE | [Incident Lifecycle Controls](2026-08-13-incident-lifecycle-controls.md) | #13 exact active-work stop; inactive-only delete; tools-icon Actions; backend-safe refresh; land/deploy/proof | Worktree `incident-actions`; seam exploration running; contract tests next |
| 4 | IDLE | [Runtime and Session Safety](2026-08-10-runtime-session-safety.md) | #23 DONE; #41/#148/#164/#169/#172 open; #178 DONE | #23 reconciliation landed/deployed `c5d071c60`; frozen source superseded and retirement-eligible but preserved pending separate gate |
| 5 | ACTIVE | [Task Registry Reconciliation](2026-08-10-task-registry-reconciliation.md) | #1–#238 stale/forgotten/false-completion audit | Main session mapped all registry tasks; corpus-only requests being reconciled |
| 5 | ACTIVE | [Owner Request Recovery](2026-08-10-owner-request-recovery.md) | #231 recover, deduplicate, triage every transcript request | Main session processing 137-message corpus |
| 7 | DONE | [ask-gpt Parallel Seats](2026-08-10-ask-gpt-parallel-seats.md) | gptbridge seat pool: 15 browsers, one auth | Landed 07235bd6b, deployed, live-proven slot 8 under 7-slot load |
| 7 | DONE | [ask-gpt Resume/Log/Live](../specs/2026-08-10-ask-gpt-resume-live-design.md) | --resume, logs, --live, --download-attachments, --list trio | Landed 5357d7c34, deployed sha 5357d7c3, all features live-verified incl. hydration + cache-first list |
| 1 | DONE | [ask-gpt Account Registry](2026-08-11-ask-gpt-account-registry.md) | #4 local JSONL registry, one-time import, account-bound resume/download | Landed/deployed `b59a7f7f`; bootstrap imported 64 owned conversations; local-only listing proven |
| 7 | DONE | [ask-gpt Attachment Download Progress](2026-08-11-ask-gpt-download-progress.md) | #5/#6/#17 progress UX plus generated-file drawer recovery | Fixes landed in `d0cae47bd`; deployed from landed source; installed exact-target proof saved valid ZIP with zero failures or partials |
| 7 | DONE | [Land queue missing verdict](2026-08-11-landq-live-ticket-loss.md) | #7 propagate queue-list failures and release failed tickets | Landed/deployed `052b1f706`; installed queue source verified; PASS=109 + local-gate + 151 factory tests |
| 6 | ACTIVE | [Prompt Journal Restoration](2026-08-10-prompt-journal-restoration.md) | #235 restore durable installed request journal | Fleet state landed `c19f4841`; clean deploy clone; standard deployment `b81apw5jr` running |
| 7 | ACTIVE | [Live Report Synchronization](2026-08-10-live-report-sync.md) | #125 keep owner report authoritative | Generator preserved and integrated; transition hooks and owner-path installation remain |
| 1 | BLOCKED | [Agent and Cluster Observability](2026-08-10-agent-observability.md) | #1/#2 DONE; #4 reconcile `/logs`, `/agents`, `/sessions` definitions and raw-record sets; repair current-vs-history counts; date-safe chart axes; self-explanatory UX | Commit `fccebfa2c`, main integrated, full/post-merge gates clean; e2e-remote selects workstation `e14` instead of registry buildboxes, guard correctly blocks Chromium; ship/deploy withheld |
| 9 | IDLE | [Security Gate Containment](2026-08-10-security-gate-containment.md) | #140 contain LLM runner without gate latency regression | Design unresolved; dangerous tests restricted to danger-lab |
| 10 | IDLE | [QuietContext Product](2026-08-10-quietcontext-product.md) | #176/#219–225 purpose through Factory launch | Purpose clarification incomplete; emergency capacity prohibited |
| 11 | IDLE | [Recovery Doors](2026-08-10-recovery-doors.md) | #40 reboot-proof Debian1/2 rescue access | Reboot proof pending |
| 2 | PROPOSED | [Shared contracts package](2026-08-13-arch-shared-contracts.md) | C3-remainder/C4/C5/C12/C18: `@overdeck/incident-contract` owns incident wire types, dispatch vocabulary, error codes, offload verbs, token helper; collapse three mirrors | Spec 2026-08-13-arch-shared-contracts-design.md written + externally reviewed APPROVE-WITH-FIXES, all fixes applied; docs only — owner gate to launch, await approval |
| 3 | PROPOSED | [Module deepenings](2026-08-13-arch-module-deepenings.md) | C8/C19 fleet, C9/C17 gptbridge, C13/C16 systray, C10 controller store, C11 actions gateway, C15 web data path | Spec 2026-08-13-arch-module-deepenings-design.md written + externally reviewed APPROVE-WITH-FIXES, all fixes applied; docs only — owner gate to launch, awaits shared-contracts for 3.4/3.6 lanes |
| 3 | PROPOSED | [Domain glossary](2026-08-13-arch-domain-glossary.md) | C7: repo-root CONTEXT.md + docs/adr/ (ADR-0001/0008/0009) | Spec 2026-08-13-arch-domain-glossary-design.md written + externally reviewed APPROVE-WITH-FIXES, fixes applied; docs only — owner gate to launch |
| 12 | IDLE | [Factory Account Directory Concurrency](2026-08-10-jpr06-integration.md) | #153 same-account run isolation | Local commit created; 147 Factory tests passed |

| ARCHIVE | DONE | [Workstation Agent Safety](2026-08-10-workstation-agent-safety.md) | #1/#5/#26–28/#33/#36 | Installed cgroup/kill protections; danger-lab proof recorded |
| ARCHIVE | DONE | [Agent Containment](2026-08-10-agent-containment.md) | #24 no-source recovery; frozen escape test fully superseded | Exact 5/5 + full gate green; independent review clean; frozen source `RETIRE — REDUNDANT` HIGH, preserved pending separate retirement gate |

## Request capture protocol

For every new actionable owner request:

1. Search this index for same outcome.
2. Existing plan → append request/comment/correction in full long-form meaning, WIP impact, acceptance delta, and next action.
3. New outcome → create `YYYY-MM-DD-<short-outcome>.md` from contract below; add row here.
4. Create/link task-registry ID.
5. Mark `PROPOSED` when owner asks for a plan/approval before launch; `ACTIVE` only while a named worker/process is executing; otherwise approved/open plans are `IDLE`.
6. Only then implement.
7. Before any response, stop, or compaction: update receipt.

Plan minimum:

```text
# Outcome
status:
task IDs:
source request:

## Acceptance criteria
## Preserved WIP
## Constraints
## Execution steps
## Current receipt
## Next executable action
```

Never paste a substantial plan only into chat. Chat response points to durable plan and reports its status.
