worktree finish resolves os-sdlc-runner from the plugin path, not cc-os/os-sdlc/bin #733

Closed
opened 2026-09-25 19:26:56 +00:00 by jared · 1 comment
Owner

Problem

plugins/os/bin/worktree finish <name> --implementation <id> prints /home/jared/dev/cc-os/os-sdlc/bin/os-sdlc-runner not found, usage not swept and skips the usage sweep. The path cc-os/os-sdlc/bin does not exist; the runner is at plugins/os-sdlc/bin/os-sdlc-runner and on PATH as os-sdlc-runner. Every worktree finish that passes --implementation silently skips the sweep.

Reproduce

  1. In any repo with an os-sdlc implementation, run plugins/os/bin/worktree finish ticket-N --implementation 1.
  2. Observed: the "not found, usage not swept" line and exit 0. Expected: the sweep runs, or the command fails loudly.

Approach

Required work:

  1. plugins/os/lib/worktree/usage_sweep.rb resolves the runner at the sibling plugin dir plugins/os-sdlc/bin/os-sdlc-runner, falling back to os-sdlc-runner on PATH.
  2. A missing runner is a nonzero exit with a message, not a skipped step.

Acceptance criteria

  1. worktree finish --implementation N runs the usage sweep and prints its result.
  2. With the runner absent from both locations, finish exits nonzero naming the runner.

Owner sketch

  • Worktree::UsageSweep owns runner resolution.

Origin

  • Trigger: plugins/os/bin/worktree finish ticket-2 --implementation 1 in /home/jared/dev/ruby-gems/procman, 2026-09-25
  • Improvised this session: none; the sweep was skipped and the merge completed
  • Chain: sweep skipped ← runner path not found ← hardcoded ../os-sdlc/bin relative to the os plugin root ← DESIGN (plugins/os/lib/worktree/usage_sweep.rb)
  • Root candidate: this ticket
  • Where: plugins/os/lib/worktree/usage_sweep.rb
  • Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl

VERDICT: CREATE — real observed failure, root cause confirmed, this ticket is the root itself.

## Problem `plugins/os/bin/worktree finish <name> --implementation <id>` prints `/home/jared/dev/cc-os/os-sdlc/bin/os-sdlc-runner not found, usage not swept` and skips the usage sweep. The path `cc-os/os-sdlc/bin` does not exist; the runner is at `plugins/os-sdlc/bin/os-sdlc-runner` and on PATH as `os-sdlc-runner`. Every worktree finish that passes `--implementation` silently skips the sweep. ## Reproduce 1. In any repo with an os-sdlc implementation, run `plugins/os/bin/worktree finish ticket-N --implementation 1`. 2. Observed: the "not found, usage not swept" line and exit 0. Expected: the sweep runs, or the command fails loudly. ## Approach Required work: 1. `plugins/os/lib/worktree/usage_sweep.rb` resolves the runner at the sibling plugin dir `plugins/os-sdlc/bin/os-sdlc-runner`, falling back to `os-sdlc-runner` on PATH. 2. A missing runner is a nonzero exit with a message, not a skipped step. ## Acceptance criteria 1. `worktree finish --implementation N` runs the usage sweep and prints its result. 2. With the runner absent from both locations, finish exits nonzero naming the runner. ## Owner sketch - `Worktree::UsageSweep` owns runner resolution. ## Origin - Trigger: `plugins/os/bin/worktree finish ticket-2 --implementation 1` in /home/jared/dev/ruby-gems/procman, 2026-09-25 - Improvised this session: none; the sweep was skipped and the merge completed - Chain: sweep skipped ← runner path not found ← hardcoded `../os-sdlc/bin` relative to the os plugin root ← DESIGN (plugins/os/lib/worktree/usage_sweep.rb) - Root candidate: this ticket - Where: plugins/os/lib/worktree/usage_sweep.rb - Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab - Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl VERDICT: CREATE — real observed failure, root cause confirmed, this ticket is the root itself.
Author
Owner

Resolution

Done: finish runs configured worktree-before-remove commands; UsageSweep and the relative os-sdlc path are gone

Evidence: ADR-0240; merge 6bd034df; os suite 31 runs 0 failures; real-process test pins bin/worktree finish calling the configured script

Follow-ups: #801 setup-project writes the config line

## Resolution **Done:** finish runs configured worktree-before-remove commands; UsageSweep and the relative os-sdlc path are gone **Evidence:** ADR-0240; merge 6bd034df; os suite 31 runs 0 failures; real-process test pins bin/worktree finish calling the configured script **Follow-ups:** #801 setup-project writes the config line
jared closed this issue 2026-09-28 16:39:35 +00:00
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#733
No description provided.