blast-radius skill: require evidence-CLI sender rows before a no-consumer verdict #700
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#700
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
VERDICT: CREATE — Origin chain is complete, terminates in DESIGN (SKILL.md rules/step 2 permit hand-grep substitution), and this ticket is the named root, not a symptom of another problem.
Problem
During the #633 blast-radius run on 2026-09-24 the agent declared
Hook::Pipe#cwddead code. It grepped only forPipe.newandHook::Pipe. The live callers use thePipe.callfactory inplugins/os-sdlc/lib/os_sdlc/hook/subagent_start.rb:7,subagent_stop.rb:7,post_tool_use.rb:69.lsp-probe refsoncwdreturned only in-file sites and the agent read that as "no caller". If the orchestrator had trusted the report, the removal of theDir.pwdfallback would have looked like a no-op while it fires on every SubagentStart, SubagentStop, and PostToolUse event.Observed
The SKILL.md rules block (plugins/os-sdlc/skills/blast-radius/SKILL.md lines 9-16) and step 2 done-when (line 42) allow a hand-picked grep pattern to stand in for the evidence CLI.
Reproduce
n/a: process defect observed in one agent run; transcript cited.
Approach
Two line edits to
plugins/os-sdlc/skills/blast-radius/SKILL.md.Required work:
.new,X.method) as a substitute for the evidence CLI in step 2; a hand-picked pattern only matches the calling convention you guessed." — check: rule text present in SKILL.md rules block.bin/refresh-plugins.Rejected: filing an ADR for this change — reason: this is a skill wording fix, not an architecture decision.
Acceptance criteria
bin/refresh-pluginsruns, then it completes without error.Owner sketch
n/a: documentation-only change to SKILL.md prose; no new Ruby objects.
Origin
DESIGN, plugins/os-sdlc/skills/blast-radius/SKILL.md lines 9-16, 42).Work started 2026-09-24 in worktree branch worktree-ticket-700.
Resolution
Done: Added a rule to plugins/os-sdlc/skills/blast-radius/SKILL.md: never grep a Ruby symbol with a hand-picked call pattern as a substitute for the evidence CLI. Step 2 done-when now requires evidence-CLI sender rows or an explicit UNKNOWN before a no-consumer conclusion. One History row in the os-sdlc leaf. No ADR: this clarifies an existing rule.
Evidence: Merged to main 2026-09-24, commit
2ec1ae9f(branch worktree-ticket-700). Diff reviewed: 2 lines in SKILL.md plus 1 History row. bin/refresh-plugins run; live copy under ~/.claude/plugins/os-sdlc contains the new rule.Follow-ups: none