Pipeline has no step that retires tests pinning deleted code; test-reviewer passed an unpassable assertion #1476

Open
opened 2026-10-29 18:21:07 +00:00 by jared · 0 comments
Owner

Problem

No pipeline step retires tests that pin deleted code.
The test-reviewer also passed an assertion that could never go green.

Approach

Evidence from decision-model implementation 5 (escalation 4).

  1. The ticket deleted lib/decision/model/http/ and 15 error classes.
    retired_tests was empty.
    The programmer may not edit tests, so it could not proceed.
    The suite aborted with NameError.
  2. The test-reviewer accepted refute Object.const_defined?(:Faraday).
    That assertion can never pass, because a dependency loads faraday.

Required work:

  1. The seam-designer or decomposer fills retired_tests when a ticket deletes code.
  2. The test-reviewer checks that each new test can go green against the project's dependencies.

Acceptance criteria

  1. Given a ticket that deletes a class, when the decomposer finishes, then retired_tests lists each test that references the class.
  2. Given a new test that asserts a constant is absent, when a dependency loads that constant, then the test-reviewer rejects the test.

Non-goals

Letting the programmer edit tests.


Discoverer: jared/decision-model, session 4dc4e6fe-637f-4ccb-bed0-958ba608ffe3, 2026-10-29. Found in decision-model implementation 5 (decision-model#11).

## Problem No pipeline step retires tests that pin deleted code. The test-reviewer also passed an assertion that could never go green. ## Approach Evidence from decision-model implementation 5 (escalation 4). 1. The ticket deleted `lib/decision/model/http/` and 15 error classes. `retired_tests` was empty. The programmer may not edit tests, so it could not proceed. The suite aborted with `NameError`. 2. The test-reviewer accepted `refute Object.const_defined?(:Faraday)`. That assertion can never pass, because a dependency loads faraday. Required work: 1. The seam-designer or decomposer fills `retired_tests` when a ticket deletes code. 2. The test-reviewer checks that each new test can go green against the project's dependencies. ## Acceptance criteria 1. Given a ticket that deletes a class, when the decomposer finishes, then `retired_tests` lists each test that references the class. 2. Given a new test that asserts a constant is absent, when a dependency loads that constant, then the test-reviewer rejects the test. ## Non-goals Letting the programmer edit tests. -------- **Discoverer:** jared/decision-model, session 4dc4e6fe-637f-4ccb-bed0-958ba608ffe3, 2026-10-29. Found in decision-model implementation 5 (decision-model#11).
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#1476
No description provided.