type: meta

slug: autonomous-gate-self-repair

base_branch: main

gate0_mode: strict

preset: codex

land_mode: merge-to-main

exec_mode: ship


type: goal

text: Make runplan autonomously repair gate infrastructure, synchronize task branches, and finish all plan tasks without babysitting.


type: methodology

text: TDD; failure-domain attribution; bounded retries; isolated base repair; evidence-gated landing; foreground Codex execution.


type: intent

text: Users receive completed features instead of quarantined downstream tasks caused by harness defects, stale bases, flaky gates, or silent stalls.


type: direction

verbatim: i want "runplan" do all tht you are doing, to avoid this from happening again


verbatim: you must not run with cursor preset, must run with codex preset


verbatim: you must run it with a blocking turn and consume it's output until completion or failure


type: task

seat: coder

tier: medium

desc: Read docs/plans/2026-07-22-autonomous-gate-self-repair.md Task 1. Add semantic gate progress and semantic stall termination. Acceptance: bash test/gate0-progress.test.sh && bash test/gate0-heartbeat.test.sh && bash lib/test-gates.sh. Commit only declared files.


desc: Read docs/plans/2026-07-22-autonomous-gate-self-repair.md Task 2. Add evidence-based gate failure attribution and clean-base reproduction. Acceptance: node --test src/test/engine-gates.test.js. Commit only declared files.


tier: high

desc: Read docs/plans/2026-07-22-autonomous-gate-self-repair.md Task 3. Add isolated base repair transaction, retry ledger, and task-base synchronization using active Codex preset. Acceptance: node --test src/engine/repair.test.js src/test/engine-repair.test.js. Commit only declared files.


desc: Read docs/plans/2026-07-22-autonomous-gate-self-repair.md Task 4. Add blocking foreground engine migration re-exec preserving --preset codex. Acceptance: node --test src/test/runner-transcript.test.js && bash test/engine-provenance-runtime.test.sh. Commit only declared files.


desc: Read docs/plans/2026-07-22-autonomous-gate-self-repair.md Task 5. Add incident-chain E2E acceptance proving t1-t5 land after stall, base repair, task rebase, and foreground Codex engine migration. Acceptance: bash test/autonomy-e2e.test.sh && bash test/runner-integration.sh. Commit only declared files.


note: 2026-07-22 handoff: foreground run is still attached in unified terminal session 59592 using released engine 0.1.35. Tasks t1/t2 are done; t3 resumed directly at gate0, failed first gate attempt, and is currently in its second gate attempt with no terminal output yet. Consume that exact foreground session; do not switch to a background terminal. User requires fix/rerun iteration until the run lands without intervention. origin/main is 3da2f2dc and already contains landed autonomous-gate-self-repair-v2 plus release 0.1.35; /home/user/.harness/engine/CURRENT is 0.1.35. Preserve dirty primary checkout changes. Runstate journal is progress ground truth.


note: 2026-07-23 handoff: active engine 0.1.42 includes review-proof repair recovery (origin/main 51a64a54 plus release landing). Foreground run 827c0509be85 resumed t2, gated repaired descendant head 31a8d25d, then durable run.failed at journal seq 3359 because cdx plain terminal output had prose plus final JSON and wrapper returned review-invalid. Worktree fix-gate-failure-attribution on branch fix/cdx-multiline-terminal has uncommitted wrappers/codex.sh and test/codex-sidecar-contract.test.sh changes; focused contract passes 12/12, independent review and full gate remain. The actual structured review rejects t2 with two major defects: clean-base direct failures lose original check/item/fingerprint, and production has no task rerun fallback so flake classification is unreachable. Fix parser, review/gate/land/release/activate; then repair only t2 declared gates files, resume foreground Codex until run.done succeeded. Preserve dirty detached primary checkout; never edit SQLite manually.