Add a test-required-work gate step for test-path Required-work checks #865
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.
Blocks
Reference
jared/cc-os#865
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?
Problem
ADR-0244 runs typed Required-work checks before the suite, but the pipeline cannot route a failed check to the test-writer. A check whose glob is under the test path therefore fails twice and escalates, because programmer-repair never edits tests. #863 ruled Option A: test-writer changes the existing tests a ticket names, and a new gate step checks the result in the red round.
Observed
ADR-0244 Consequences names this gap: routing a failure to the item owner is out of scope.
A repair round that only migrates tests, with no new acceptance-criteria test in the diff, can give
unexpected_pass.Reproduce
n/a: design gap in the gate set, no single command shows it.
Approach
Add a
test-required-workgate step besideretired-testsinQuery::Gate::Commands. It runs only the typed Required-work checks whose glob is under the target test path. The existingrequired-workgate keeps the other checks.retired-testsskips by returning no command when the ticket has no entries.test-required-workfollows that form: the command is nil when the ticket has no test-path check, so no step runs.Required work:
test-required-workgate command that selects typed checks whose glob is under test_path — check: presenttest-required-workinplugins/os-sdlc/lib/os_sdlc/**/*.rbAcceptance criteria
test-required-workgate runs, then it reports only the test-path check.test-required-workstep runs.Owner sketch
Origin
Parent: #863
Not ready (checked 2026-10-27, takedown track). Missing: (1) the class moved: Query::Gate::Commands is now OsSdlc::Gate::Commands at plugins/os-sdlc/lib/os_sdlc/gate/commands.rb; the Required-work check glob still names the old path tree only loosely. (2) Open design choice: required_work_command (gate/commands.rb:51-56) does not filter by path, so a test-path check would report in both required-work and test-required-work unless required-work excludes them; map/check/entry_gate_rules.rb:7 requires required-work, so the split must keep its coverage. (3) Alone, the step is dead: no map names it until #866 wires it into the test-writer node. Suggest folding #865 into #866 or ordering them as one slice.