Batch 3 map: project.rb responsibility-refactor (audit run 15) #582
Labels
No labels
P0
P1
P2
P3
bug
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
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#582
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?
Context
Third responsibility-refactor batch on plugins/os-sdlc/lib/os_sdlc/project.rb, from audit run 15 (
.sdlc/tmp/responsibility-audit/run-15/analysis.yaml, tuning copytuning/responsibility-audit/runs/15-project-rb-batch3-audit/). Previous maps: #568 (batch 1), #570 (batch 2).Children, in order
Each child runs with
/os-sdlc:implement <n> --map maps/poodr-ticket-implementation.yaml --target os-sdlc. Each child merges before the next starts. Apply the child's## Structural follow-throughby hand afterimplementation_complete, before commit.Batch tail (after #581 merges, before re-audit)
-asemantics, rubocoprequire:path relativity, stdout/stderr separation for JSON parse, exit-code mapping, TargetSelectionError rationale, ADR-0055 root-not-from-JSON). Files: project.rb, project/root_search.rb, project/yaml.rb, project/config.rb, project/setup.rb, project_targets.rb, autocorrect_prepass.rb, runner/tea_tracker.rb, lint_worklist_rubocop_config.rb, issue_source.rb, harness_error.rb. Requested by the user 2026-09-14.Re-audit (decides whether a batch 4 is needed)
Compare against run 15: each batch capability reads current-owner or existing-no-move; no batch defect row remains; no new defect names a file the batch created.
Stop point
(none yet)
Origin
.sdlc/tmp/responsibility-audit/run-15/analysis.yaml#578 merged (main
313b230, ADR-0183). Next: #579. Deviation worth a skill note: launching a pipeline agent while cwd is plugins/os-sdlc (not the worktree root) yields no dispatch row; always launch from the worktree root.#579 merged (main
d2e3c3e, ADR-0184). Next: #580. Recurring deviation: producer agents relay the prior node's dispatch id; always gate+settle the open row from implementation-report, not the relayed id.#580 merged (main
51c40d1, ADR-0185). Next: #581 (last child). Lesson: a ticket whose last task is pure delegation escalates unexpected_pass; put delegation under Structural follow-through only, never in Tasks (#580 body had it in Tasks).#581 merged (main
31e6759, ADR-0186). All four children merged. Next: batch tail comment cleanup, then the re-audit.Batch tail done: comment cleanup
ee72b7a, skill lessonsf008002. Re-audit run 16 (.sdlc/tmp/responsibility-audit/run-16/analysis.yaml, tuning copy runs/16-project-rb-batch3-reaudit/): all three batch capabilities read current-owner; no run-15 defect row remains as written. New batch-4 candidates: (1) Project::Yaml::Document owning the yaml shape (per-target tracker detected by TeaTracker but read as nil by load_shared); (2) RootSearch#boundary? uses a .git directory test and escapes worktrees/submodules; (3) eleven defect rows incl. setup.rb:13 guard skipped when yaml exists (contradicts the run-15 sketch), autocorrect_prepass per-target lint_config dropped, targets: {} accepted, not-found message copy in ProjectConfigCommand. Map stays open; user decides batch 4.