Background
This issue tracks the encoding and enforcement follow-up tasks identified in the 2026-04-14 session retrospective for the Open Harness Architecture Sprint.
Root cause summary: Prose-encoded gates without programmatic governors get bypassed under execution pressure, especially after context compaction. The sprint produced three gate failures: (1) PR Review Triage Gate bypassed → premature merge of PR #556, (2) Readiness Language Guard violated in a pre-compact checkpoint → "ready to merge" propagated through compaction as fact, (3) delegation to an agent without confirming terminal access → plan returned instead of execution.
Source: .tmp/main/2026-04-14.md § Retrospective
Encoding Gaps to Close
Gap 1 — wait_for_pr_review.py must be mandatory (High)
Where: AGENTS.md § Verify-After-Act table, git push row
The Verify-After-Act table documents what to do after git push, but does not currently mandate uv run python scripts/wait_for_pr_review.py <pr> before any merge suggestion. scripts/wait_for_pr_review.py exists and is documented elsewhere but the enforcement hook from the Verify-After-Act table is missing.
Action: Add mandatory step to the git push row in the Verify-After-Act table: "After CI passes, run uv run python scripts/wait_for_pr_review.py <pr> before any merge suggestion or PR Review Triage begins."
Gap 2 — Pre-Compact Checkpoint must not use unqualified "ready" language (High)
Where: AGENTS.md § Size Guard / Pre-Compact Checkpoint guidance (cross-ref to Readiness Language Guard)
The checkpoint template and guidance for writing ## Pre-Compact Checkpoint entries does not currently cross-reference the Readiness Language Guard. An agent wrote "ready to merge" in a checkpoint — the word "ready" was incorrect and propagated through compaction as fact, directly causing the premature merge.
Action: Add one sentence to the Pre-Compact Checkpoint writing guidance: "Pre-compact checkpoints must not use unqualified 'ready' or 'complete' language — see Readiness Language Guard."
Gap 3 — Pre-Delegation Checklist: confirm target agent has terminal access (Medium)
Where: AGENTS.md § Focus-on-Descent / Compression-on-Ascent → Pre-Delegation Checklist
The Pre-Delegation Checklist has 3 checks (Scope Clarity, Output Format + Ceiling, Success Criteria). There is no check for whether the target agent has terminal/execution access when the task requires implementation. This caused a full delegation round-trip to Executive Scripter that returned a plan instead of execution.
Action: Add a 4th check to the Pre-Delegation Checklist: "Tool Access — if this delegation requires terminal execution or file writes, confirm the target agent has execute or terminal in its tools array. If not, route to a capable agent or implement directly and document."
Gap 4 — PR Review Triage Gate: convert prose paragraph to explicit numbered checklist (Medium)
Where: AGENTS.md § Agent Communication → PR Review Triage Gate
The current gate description says "immediately after a push or PR open" and lists steps in prose, but the steps are embedded in a block quote with 1.–5. numbering that is easy to skip. The merge error skipped step 1 entirely (check for new reviews after latest push). An explicit checklist with a binary pass/fail format would make it harder to skip.
Action: Convert the PR Review Triage Gate description to an explicit numbered checklist with [ ] checkboxes and a "BLOCKED" signal if any item is unchecked before claiming merge-ready.
Acceptance Criteria
Background
This issue tracks the encoding and enforcement follow-up tasks identified in the 2026-04-14 session retrospective for the Open Harness Architecture Sprint.
Root cause summary: Prose-encoded gates without programmatic governors get bypassed under execution pressure, especially after context compaction. The sprint produced three gate failures: (1) PR Review Triage Gate bypassed → premature merge of PR #556, (2) Readiness Language Guard violated in a pre-compact checkpoint → "ready to merge" propagated through compaction as fact, (3) delegation to an agent without confirming terminal access → plan returned instead of execution.
Source:
.tmp/main/2026-04-14.md§ RetrospectiveEncoding Gaps to Close
Gap 1 —
wait_for_pr_review.pymust be mandatory (High)Where:
AGENTS.md§ Verify-After-Act table,git pushrowThe Verify-After-Act table documents what to do after
git push, but does not currently mandateuv run python scripts/wait_for_pr_review.py <pr>before any merge suggestion.scripts/wait_for_pr_review.pyexists and is documented elsewhere but the enforcement hook from the Verify-After-Act table is missing.Action: Add mandatory step to the
git pushrow in the Verify-After-Act table: "After CI passes, runuv run python scripts/wait_for_pr_review.py <pr>before any merge suggestion or PR Review Triage begins."Gap 2 — Pre-Compact Checkpoint must not use unqualified "ready" language (High)
Where:
AGENTS.md§ Size Guard / Pre-Compact Checkpoint guidance (cross-ref to Readiness Language Guard)The checkpoint template and guidance for writing
## Pre-Compact Checkpointentries does not currently cross-reference the Readiness Language Guard. An agent wrote "ready to merge" in a checkpoint — the word "ready" was incorrect and propagated through compaction as fact, directly causing the premature merge.Action: Add one sentence to the Pre-Compact Checkpoint writing guidance: "Pre-compact checkpoints must not use unqualified 'ready' or 'complete' language — see Readiness Language Guard."
Gap 3 — Pre-Delegation Checklist: confirm target agent has terminal access (Medium)
Where:
AGENTS.md§ Focus-on-Descent / Compression-on-Ascent → Pre-Delegation ChecklistThe Pre-Delegation Checklist has 3 checks (Scope Clarity, Output Format + Ceiling, Success Criteria). There is no check for whether the target agent has terminal/execution access when the task requires implementation. This caused a full delegation round-trip to Executive Scripter that returned a plan instead of execution.
Action: Add a 4th check to the Pre-Delegation Checklist: "Tool Access — if this delegation requires terminal execution or file writes, confirm the target agent has
executeorterminalin its tools array. If not, route to a capable agent or implement directly and document."Gap 4 — PR Review Triage Gate: convert prose paragraph to explicit numbered checklist (Medium)
Where:
AGENTS.md§ Agent Communication → PR Review Triage GateThe current gate description says "immediately after a push or PR open" and lists steps in prose, but the steps are embedded in a block quote with
1.–5.numbering that is easy to skip. The merge error skipped step 1 entirely (check for new reviews after latest push). An explicit checklist with a binary pass/fail format would make it harder to skip.Action: Convert the PR Review Triage Gate description to an explicit numbered checklist with
[ ]checkboxes and a "BLOCKED" signal if any item is unchecked before claiming merge-ready.Acceptance Criteria
git pushrow inAGENTS.mdincludes mandatorywait_for_pr_review.pyinvocation before any merge discussiondocs(agents): close retrospective encoding gapscommit on a feature branch with CI green before merge