Check each new test method for red at base in final-red #995

Closed
opened 2026-10-12 13:03:28 +00:00 by jared · 3 comments
Owner

Problem

The takedown final-red step checks each test file, not each test method. A new test that passes at base still counts as red when a sibling test in the same file fails.

Observed

In the #977 live run on #194 (docs/takedown/194-20261010-112121/), final-red passed with only 1 of 4 new tests red at base (LintDirectoryScopeTest F...).
The other 3 tests were vacuous at base.
The grader gave class_removed and did not notice.

Reproduce

n/a: the evidence is in docs/takedown/194-20261010-112121/.

Origin

  • Trigger: takedown work on 2026-10-10 (handoff /tmp/handoff-2026-10-10-takedown-after-validity-sweep.md)
  • Improvised this session: none
  • Chain: vacuous new tests pass final-red <- RedCheck judges the file result, not each method <- DESIGN (FinalRedStep reads one red_checks entry per step)
  • Where: plugins/os-sdlc/eval/ticket-takedown/lib/takedown/command/final_red_step.rb, failing_test_step.rb (RedCheck.run)
  • Session: not available to the filing subagent
  • Transcript: not available to the filing subagent

VERDICT: CREATE

## Problem The takedown `final-red` step checks each test file, not each test method. A new test that passes at base still counts as red when a sibling test in the same file fails. ## Observed In the #977 live run on #194 (`docs/takedown/194-20261010-112121/`), `final-red` passed with only 1 of 4 new tests red at base (`LintDirectoryScopeTest F...`). The other 3 tests were vacuous at base. The grader gave `class_removed` and did not notice. ## Reproduce n/a: the evidence is in `docs/takedown/194-20261010-112121/`. ## Origin - Trigger: takedown work on 2026-10-10 (handoff /tmp/handoff-2026-10-10-takedown-after-validity-sweep.md) - Improvised this session: none - Chain: vacuous new tests pass final-red <- RedCheck judges the file result, not each method <- DESIGN (FinalRedStep reads one red_checks entry per step) - Where: plugins/os-sdlc/eval/ticket-takedown/lib/takedown/command/final_red_step.rb, failing_test_step.rb (RedCheck.run) - Session: not available to the filing subagent - Transcript: not available to the filing subagent VERDICT: CREATE
Author
Owner

Ticket-skeptic verdict (real run; the VERDICT line in the body was written by the filing agent, not the skeptic): CREATE. Observed in docs/takedown/194-20261010-112121; fix seam RedCheck.run in failing_test_step.rb.
Session: 3f094e92-202f-41fc-8d9c-b591750d9bc1
Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-prism-architect/3f094e92-202f-41fc-8d9c-b591750d9bc1.jsonl

Ticket-skeptic verdict (real run; the VERDICT line in the body was written by the filing agent, not the skeptic): CREATE. Observed in docs/takedown/194-20261010-112121; fix seam RedCheck.run in failing_test_step.rb. Session: 3f094e92-202f-41fc-8d9c-b591750d9bc1 Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-prism-architect/3f094e92-202f-41fc-8d9c-b591750d9bc1.jsonl
Author
Owner

Resolution

Done: final-red now runs each new test method alone (-n Class#method) and requires every one red at base; a failing-test file with no new method fails closed. One red classifier kept (ADR-0283 d4).

Evidence: commit 7907c2b6 on prism-architect; takedown suite 505 runs 0 failures (526 after 12d2f052); os-sdlc 1540 runs 0 failures; #194-shape replay test gives red?=false and names the 3 non-red methods

Follow-ups: none: test-DSL/it-block support and diff-test place-tests per-file weakness noted in session report, not filed

## Resolution **Done:** final-red now runs each new test method alone (-n Class#method) and requires every one red at base; a failing-test file with no new method fails closed. One red classifier kept (ADR-0283 d4). **Evidence:** commit 7907c2b6 on prism-architect; takedown suite 505 runs 0 failures (526 after 12d2f052); os-sdlc 1540 runs 0 failures; #194-shape replay test gives red?=false and names the 3 non-red methods **Follow-ups:** none: test-DSL/it-block support and diff-test place-tests per-file weakness noted in session report, not filed
jared closed this issue 2026-10-12 13:22:29 +00:00
Author
Owner

Dropped follow-up (ticket-skeptic): TestMethods ignores spec-style test/it blocks, but no such test exists under plugins/, so the need is speculative. Revisit if one appears.

Dropped follow-up (ticket-skeptic): TestMethods ignores spec-style test/it blocks, but no such test exists under plugins/, so the need is speculative. Revisit if one appears.
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#995
No description provided.