Run flay and debride in-process in the sweep scripts #851
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#851
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
bin/dup-sweepandbin/dead-code-sweepstart a shell process to run flay and debride. Both are Ruby gems in os-sdlc's own bundle (Gemfile.lock: flay 2.14.4, debride 1.15.2). The shell call depends on the PATH, and it discards the exit status and stderr. If the executable is missing, or the gem fails, the script prints nothing and still exits 0.Reproduce
Expected today: the
== flay ... ==headers print, but flay's report does not. The command still exits 0.Approach
Each script loads the gem and calls the same entry point that the gem's own executable calls. The entry points below are for flay 2.14.4 and debride 1.15.2. The first required-work item confirms them.
Required work:
bin/flayandbin/debride— check:cd plugins/os-sdlc && bundle exec gem contents flay debride | grep bin/Rejected: keep the shell and check the exit status — that keeps the PATH dependency, and it does not solve the problem.
Acceptance criteria
bin/dup-sweepruns on it with a PATH that has noflayexecutable, then the output lists the duplicated code under both mass headers.bin/dead-code-sweepruns on it with a PATH that has nodebrideexecutable, then the output names that method.bin/dup-sweepruns, then the script exits non-zero and shows the error.Owner sketch
Non-goals
Origin
Work started on branch ticket-851 (os-sdlc implement pipeline).
Resolution
Done: bin/dup-sweep and bin/dead-code-sweep now call Flay.run(...).report and Debride.run(...).report in-process; no flay/debride executable on PATH is needed.
Evidence: Commit
4043ed03on ticket-851 (implementation 15): bin/dup-sweep, bin/dead-code-sweep, new tests/sweep_bins_test.rb. All os-sdlc gates passed: behavior-verifier, full suite, contract-auditor.Follow-ups: none