Required-work check whose glob matches no file should escalate, not loop programmer-repair #1452

Open
opened 2026-10-27 22:59:41 +00:00 by jared · 1 comment
Owner

Problem

A required-work check can name a glob that matches no file. The suite-check gate then fails required-work as a code defect and routes to programmer-repair. The programmer cannot edit the ticket, so each repair round changes nothing, and the run spends its whole suite-check/fail bound before it escalates.

Observed

#1353, implementation 204: the check was present `code:` in `plugins/os-sdlc/lib/os_sdlc/cops/discarded_error_code.rb` . The real file is plugins/os-sdlc/lib/os_sdlc/cops/structural/discarded_error_code.rb, and it contained code:. Dispatches 1808, 1811, 1814 failed required-work; 1809 and 1812 (programmer-repair) passed their own gates with no useful change. The run escalated with bound_exhausted:suite-check/fail. Recovery needed a ticket edit plus os-sdlc-reroute-request.

Reproduce

n/a: needs a pipeline run on a ticket whose required-work glob matches no file.

Origin

  • Trigger: /os-sdlc:implement 1353 (implementation 204)
  • Improvised this session: corrected the path on the tracker, then rerouted to suite-check
  • Chain: three wasted repair rounds ← required-work check with a glob that matches no file is treated as a production defect ← DESIGN (os-sdlc required-work check at implementation-open / suite-check gate)
  • Root candidate: none found; searched required-work, glob matched no file, programmer-repair, suite-check/fail, bound_exhausted, implementation-open (related, not the same fault: #954, #1109)
  • Where: os-sdlc required-work gate step (RequiredWork check evaluation)
  • Session: 9f415790-a6bd-4850-8d70-3dd45004ce2b
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/9f415790-a6bd-4850-8d70-3dd45004ce2b.jsonl
    VERDICT: CREATE
## Problem A required-work check can name a glob that matches no file. The suite-check gate then fails `required-work` as a code defect and routes to `programmer-repair`. The programmer cannot edit the ticket, so each repair round changes nothing, and the run spends its whole `suite-check/fail` bound before it escalates. ## Observed #1353, implementation 204: the check was ``present `code:` in `plugins/os-sdlc/lib/os_sdlc/cops/discarded_error_code.rb` ``. The real file is `plugins/os-sdlc/lib/os_sdlc/cops/structural/discarded_error_code.rb`, and it contained `code:`. Dispatches 1808, 1811, 1814 failed `required-work`; 1809 and 1812 (programmer-repair) passed their own gates with no useful change. The run escalated with `bound_exhausted:suite-check/fail`. Recovery needed a ticket edit plus `os-sdlc-reroute-request`. ## Reproduce n/a: needs a pipeline run on a ticket whose required-work glob matches no file. ## Origin - Trigger: /os-sdlc:implement 1353 (implementation 204) - Improvised this session: corrected the path on the tracker, then rerouted to suite-check - Chain: three wasted repair rounds ← required-work check with a glob that matches no file is treated as a production defect ← DESIGN (os-sdlc required-work check at implementation-open / suite-check gate) - Root candidate: none found; searched required-work, glob matched no file, programmer-repair, suite-check/fail, bound_exhausted, implementation-open (related, not the same fault: #954, #1109) - Where: os-sdlc required-work gate step (RequiredWork check evaluation) - Session: 9f415790-a6bd-4850-8d70-3dd45004ce2b - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/9f415790-a6bd-4850-8d70-3dd45004ce2b.jsonl VERDICT: CREATE
Author
Owner

New occurrence, same mechanism: a failure the programmer cannot fix makes programmer-repair change nothing, and the run does not escalate.

decision-model implementation 6 (#16). The ticket changed a public API (llm-stack decide to judge). The test-writer round missed four old tests in test/decision/model/client_test.rb and test/decision/model/adapters/cloudflare_jev_test.rb. They still asserted the removed API.

  1. suite-check failed on them (dispatches 65, 68).
  2. The Runner sent programmer-repair (66, 69). The programmer may not edit tests. Its gate runs only mapped or changed tests, so it was green and changed nothing.
  3. behavior-verifier passed, then suite-check failed again. The loop ran twice with no escalation.
  4. The orchestrator broke it by hand: it fixed the tests (escalation procedure: test defect).

Ask: when the failing tests are outside the round's tests (stale tests), route the failure to test-writer. Or escalate after the first programmer-repair that changes nothing. Related: #1476 (stale tests that pin deleted code).


Discoverer: jared/decision-model, session d6b3dec8-0b4c-4965-a835-96e5db2d6b75, 2026-10-31. Found in os-sdlc implementation 6 (decision-model#16).

New occurrence, same mechanism: a failure the programmer cannot fix makes programmer-repair change nothing, and the run does not escalate. decision-model implementation 6 (#16). The ticket changed a public API (llm-stack decide to judge). The test-writer round missed four old tests in test/decision/model/client_test.rb and test/decision/model/adapters/cloudflare_jev_test.rb. They still asserted the removed API. 1. suite-check failed on them (dispatches 65, 68). 2. The Runner sent programmer-repair (66, 69). The programmer may not edit tests. Its gate runs only mapped or changed tests, so it was green and changed nothing. 3. behavior-verifier passed, then suite-check failed again. The loop ran twice with no escalation. 4. The orchestrator broke it by hand: it fixed the tests (escalation procedure: test defect). Ask: when the failing tests are outside the round's tests (stale tests), route the failure to test-writer. Or escalate after the first programmer-repair that changes nothing. Related: #1476 (stale tests that pin deleted code). -------- **Discoverer:** jared/decision-model, session d6b3dec8-0b4c-4965-a835-96e5db2d6b75, 2026-10-31. Found in os-sdlc implementation 6 (decision-model#16).
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#1452
No description provided.