Run the os plugin's Python hook tests under the os-sdlc gates #738

Open
opened 2026-09-25 21:48:16 +00:00 by jared · 0 comments
Owner

Problem

The os target in .sdlc/project.yaml has test_command ruby plugins/os/tests/all.rb. That runner globs only **/*_test.rb. The SessionStart hook and its checks are Python, tested by plugins/os/tests/hook_test.py, run only by hand with python3 plugins/os/tests/hook_test.py. The os-sdlc diff-test and suite gates therefore never run those tests. A change to plugins/os/hooks/checks.py is unmapped to any gate. Ticket #714 had to be hand-finished outside the pipeline for this reason.

Observed

On 2026-09-25 the blast-radius agent for #714 traced GateCommands#diff_test_command to the target's test_command and found no route to the Python file.

Reproduce

n/a: process gap, reproduced by reading .sdlc/project.yaml and plugins/os/tests/all.rb.

Origin

  • Trigger: blast-radius agent run for #714, 2026-09-25
  • Improvised this session: none
  • Chain: #714 hand-finished outside pipeline ← Python hook tests unreachable by any gate ← os target test_command only covers Ruby ← DESIGN: .sdlc/project.yaml os target
  • Root candidate: this ticket
  • Where: .sdlc/project.yaml os target, plugins/os/tests/all.rb
  • Session: a0d66bec-368f-4338-9125-517985aef21c
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/a0d66bec-368f-4338-9125-517985aef21c.jsonl
  • Parent: #714

VERDICT: CREATE — a production code path (plugins/os/hooks/checks.py) has no automated test route through any gate, which is the hard floor regardless of the depth-1 default, and the parent ticket (#714) is user-created.

## Problem The os target in .sdlc/project.yaml has test_command `ruby plugins/os/tests/all.rb`. That runner globs only `**/*_test.rb`. The SessionStart hook and its checks are Python, tested by `plugins/os/tests/hook_test.py`, run only by hand with `python3 plugins/os/tests/hook_test.py`. The os-sdlc diff-test and suite gates therefore never run those tests. A change to `plugins/os/hooks/checks.py` is unmapped to any gate. Ticket #714 had to be hand-finished outside the pipeline for this reason. ## Observed On 2026-09-25 the blast-radius agent for #714 traced GateCommands#diff_test_command to the target's test_command and found no route to the Python file. ## Reproduce n/a: process gap, reproduced by reading .sdlc/project.yaml and plugins/os/tests/all.rb. ## Origin - Trigger: blast-radius agent run for #714, 2026-09-25 - Improvised this session: none - Chain: #714 hand-finished outside pipeline ← Python hook tests unreachable by any gate ← os target test_command only covers Ruby ← DESIGN: .sdlc/project.yaml os target - Root candidate: this ticket - Where: .sdlc/project.yaml os target, plugins/os/tests/all.rb - Session: a0d66bec-368f-4338-9125-517985aef21c - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/a0d66bec-368f-4338-9125-517985aef21c.jsonl - Parent: #714 VERDICT: CREATE — a production code path (plugins/os/hooks/checks.py) has no automated test route through any gate, which is the hard floor regardless of the depth-1 default, and the parent ticket (#714) is user-created.
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#738
No description provided.