Problem
A PR-feedback coder follow-up can correctly report that a surfaced signed human requirement is blocked, with a requirement-specific disposition and evidence, but validation still requires that requirement in the legacy human_requirements.addressed_ids ledger.
Observed on PR #569 while implementing issue #568. The original Codex response included Requirement 1 with disposition blocked and detailed evidence. It was rejected with: Coder response did not address all surfaced signed human requirement IDs: Requirement 1.
That makes a legitimate blocking follow-up impossible: a coder must either falsely claim a blocked requirement was addressed or fail validation.
The format-repair prompt has a related schema drift. Its primary coder_followup example omits human_requirement_dispositions entirely, although the current validator requires that field whenever surfaced signed requirements exist. The Codex repair response therefore omitted the field and failed with: coder_followup is missing required field(s): human_requirement_dispositions.
Expected behavior
- For surfaced signed requirements, accept exactly one human_requirement_dispositions entry per requirement, including a non-blank evidence field.
- When coder_followup.state is blocking, an evidenced blocked disposition must be valid without requiring the same ID in human_requirements.addressed_ids.
- Require addressed_ids only for requirements whose disposition is addressed, or otherwise clearly define and enforce a non-contradictory ledger contract.
- Update the primary coder_followup repair schema and worked examples to include human_requirement_dispositions and to show an evidenced blocked requirement.
Regression coverage
- A blocking coder follow-up with Requirement 1 disposition blocked and evidence validates without Requirement 1 in addressed_ids.
- An approved follow-up still requires appropriate addressed handling.
- A repair prompt generated for surfaced requirements includes the complete current coder_followup schema, and a repaired blocking response validates.
Problem
A PR-feedback coder follow-up can correctly report that a surfaced signed human requirement is blocked, with a requirement-specific disposition and evidence, but validation still requires that requirement in the legacy human_requirements.addressed_ids ledger.
Observed on PR #569 while implementing issue #568. The original Codex response included Requirement 1 with disposition blocked and detailed evidence. It was rejected with: Coder response did not address all surfaced signed human requirement IDs: Requirement 1.
That makes a legitimate blocking follow-up impossible: a coder must either falsely claim a blocked requirement was addressed or fail validation.
The format-repair prompt has a related schema drift. Its primary coder_followup example omits human_requirement_dispositions entirely, although the current validator requires that field whenever surfaced signed requirements exist. The Codex repair response therefore omitted the field and failed with: coder_followup is missing required field(s): human_requirement_dispositions.
Expected behavior
Regression coverage