Retired-tests check accepts a path that exists at HEAD #727

Open
opened 2026-09-25 18:12:25 +00:00 by jared · 0 comments
Owner

Problem

plugins/os-sdlc/lib/os_sdlc/pipeline/retired_test.rb:16 exists? checks only the worktree.
When an earlier round deletes the retired test file, implementation-open fails with ticket body missing: Retired tests (not found ...).
In #712 the files were restored and deleted again about 5 times.

Reproduce

os-sdlc implementation-open <ticket-with-retired-test-deleted-in-worktree>

Approach

exists? also accepts a path present at HEAD, for example git cat-file -e HEAD:<path>.

Acceptance criteria

  1. Given a ticket whose retired test file is deleted in the worktree but present at HEAD, when the agent reopens the ticket, then implementation-open succeeds.
  2. Given a path absent from both the worktree and HEAD, when the agent reopens the ticket, then implementation-open still fails.

Origin

Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab
Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl
Source: audit of session ecfe6e11 (transcript /home/jared/.claude/projects/-home-jared-dev-cc-os/ecfe6e11-0810-4431-88e5-8e24d34a239e.jsonl), the #712 implementation
Where: plugins/os-sdlc/lib/os_sdlc/pipeline/retired_test.rb

Note: vault note os-sdlc-implement-pipeline-failure-modes.md section 12 already records this failure mode.

## Problem `plugins/os-sdlc/lib/os_sdlc/pipeline/retired_test.rb:16` `exists?` checks only the worktree. When an earlier round deletes the retired test file, `implementation-open` fails with `ticket body missing: Retired tests (not found ...)`. In #712 the files were restored and deleted again about 5 times. ## Reproduce ``` os-sdlc implementation-open <ticket-with-retired-test-deleted-in-worktree> ``` ## Approach `exists?` also accepts a path present at HEAD, for example `git cat-file -e HEAD:<path>`. ## Acceptance criteria 1. Given a ticket whose retired test file is deleted in the worktree but present at HEAD, when the agent reopens the ticket, then `implementation-open` succeeds. 2. Given a path absent from both the worktree and HEAD, when the agent reopens the ticket, then `implementation-open` still fails. ## Origin Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl Source: audit of session ecfe6e11 (transcript /home/jared/.claude/projects/-home-jared-dev-cc-os/ecfe6e11-0810-4431-88e5-8e24d34a239e.jsonl), the #712 implementation Where: plugins/os-sdlc/lib/os_sdlc/pipeline/retired_test.rb Note: vault note `os-sdlc-implement-pipeline-failure-modes.md` section 12 already records this failure mode.
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#727
No description provided.