poodr map: add a test-repair route for proven test defects #512

Open
opened 2026-08-25 21:11:30 +00:00 by jared · 1 comment
Owner

VERDICT: CREATE — Real design gap in poodr map (missing test-repair route, no way to express already-green pass) forced two manual DB surgeries this session; root-of-chain is the map/gate design itself, not an improvisation to drop.

Context

During #508 (session 4b7df35f, 2026-08-25), programmer-repair proved by independent reproduction that a test was self-contradictory (worktree_cli_finish_refuses_non_ancestor_test.rb topology identical to the clean-path test — no production change could satisfy both). The poodr map has no edge from programmer-repair to test-writer (programmers never edit tests, correctly), so the run terminated bound_exhausted:programmer-repair/fail and the orchestrator manually reset pipeline.db and re-pointed position at test-writer. A second gap in the same episode: after the test repair the suite was fully green, but the test-writer gate expects red, so the green suite recorded verdict fail and looped test-writer; the orchestrator manually bridged position to behavior-verifier.

Tasks

  • Add a map route (or repair-verdict type) for 'production unfixable, test defect proven' that dispatches test-writer with the repair evidence
  • Let a test-writer gate accept 'suite green, no new red needed' as a pass verdict routing forward to behavior-verifier instead of recording fail

Origin

  • Trigger: /os-sdlc:implement 508 — bound_exhausted:programmer-repair/fail at dispatch 55; green-suite-recorded-fail at dispatch 56
  • Improvised this session: two manual pipeline.db resets/position bridges (documented in the #508 close comment)
  • Chain: manual DB surgery ← map lacks test-repair edge + test-writer gate cannot express already-green ← DESIGN (poodr-implementation.yaml; runner gate semantics)
  • Root candidate: this ticket
VERDICT: CREATE — Real design gap in poodr map (missing test-repair route, no way to express already-green pass) forced two manual DB surgeries this session; root-of-chain is the map/gate design itself, not an improvisation to drop. ## Context During #508 (session 4b7df35f, 2026-08-25), programmer-repair proved by independent reproduction that a test was self-contradictory (worktree_cli_finish_refuses_non_ancestor_test.rb topology identical to the clean-path test — no production change could satisfy both). The poodr map has no edge from programmer-repair to test-writer (programmers never edit tests, correctly), so the run terminated bound_exhausted:programmer-repair/fail and the orchestrator manually reset pipeline.db and re-pointed position at test-writer. A second gap in the same episode: after the test repair the suite was fully green, but the test-writer gate expects red, so the green suite recorded verdict fail and looped test-writer; the orchestrator manually bridged position to behavior-verifier. ## Tasks - [ ] Add a map route (or repair-verdict type) for 'production unfixable, test defect proven' that dispatches test-writer with the repair evidence - [ ] Let a test-writer gate accept 'suite green, no new red needed' as a pass verdict routing forward to behavior-verifier instead of recording fail ## Origin - Trigger: /os-sdlc:implement 508 — bound_exhausted:programmer-repair/fail at dispatch 55; green-suite-recorded-fail at dispatch 56 - Improvised this session: two manual pipeline.db resets/position bridges (documented in the #508 close comment) - Chain: manual DB surgery ← map lacks test-repair edge + test-writer gate cannot express already-green ← DESIGN (poodr-implementation.yaml; runner gate semantics) - Root candidate: this ticket
Author
Owner

This sounds two different problem:

  • our testing philosophy around what is and is not a good test is too forgiving
  • and we need a test critiquer that removes nonsense tests before the programmer sees anything.
  • out-of-bounds runs should not die - they should be delegated to a smarter model with fewer restrictions to unblock whatever the block is. Same for both code and testing.
This sounds two different problem: - our testing philosophy around what is and is not a good test is too forgiving - and we need a test critiquer that removes nonsense tests before the programmer sees anything. - out-of-bounds runs should not die - they should be delegated to a smarter model with fewer restrictions to unblock whatever the block is. Same for both code and testing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#512
No description provided.