Batch 3 map: project.rb responsibility-refactor (audit run 15) #582

Open
opened 2026-09-14 17:26:15 +00:00 by jared · 5 comments
Owner

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 copy tuning/responsibility-audit/runs/15-project-rb-batch3-audit/). Previous maps: #568 (batch 1), #570 (batch 2).

Children, in order

  • #578 defects (lint_config resolver, save_tracker result, Config nil name)
  • #579 Project::RootSearch owns the not-found message
  • #580 Project::Setup owns creation policy
  • #581 Project.load_shared

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-through by hand after implementation_complete, before commit.

Batch tail (after #581 merges, before re-audit)

  • Comment cleanup in the batch's files: remove comments that describe what the code does; keep only comments that state an external constraint or rationale (rubocop -a semantics, rubocop require: 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)

/os-sdlc:responsibility-audit plugins/os-sdlc/lib/os_sdlc/project.rb plugins/os-sdlc/lib/os_sdlc/project/setup.rb plugins/os-sdlc/lib/os_sdlc/project/root_search.rb plugins/os-sdlc/lib/os_sdlc/project_targets.rb

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

  • Filed by: agent, on user approval via /os-sdlc:responsibility-refactor
  • Source: responsibility-audit run 15, analysis .sdlc/tmp/responsibility-audit/run-15/analysis.yaml
  • Where: plugins/os-sdlc/lib/os_sdlc/project.rb
  • Session: 932cc3fb-b634-45ac-a990-737178341a12
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/932cc3fb-b634-45ac-a990-737178341a12.jsonl
  • Skeptic: not run (user-approved batch)
## 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 copy `tuning/responsibility-audit/runs/15-project-rb-batch3-audit/`). Previous maps: #568 (batch 1), #570 (batch 2). ## Children, in order - [ ] #578 defects (lint_config resolver, save_tracker result, Config nil name) - [ ] #579 Project::RootSearch owns the not-found message - [ ] #580 Project::Setup owns creation policy - [ ] #581 Project.load_shared 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-through` by hand after `implementation_complete`, before commit. ## Batch tail (after #581 merges, before re-audit) - [ ] Comment cleanup in the batch's files: remove comments that describe what the code does; keep only comments that state an external constraint or rationale (rubocop `-a` semantics, rubocop `require:` 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) ``` /os-sdlc:responsibility-audit plugins/os-sdlc/lib/os_sdlc/project.rb plugins/os-sdlc/lib/os_sdlc/project/setup.rb plugins/os-sdlc/lib/os_sdlc/project/root_search.rb plugins/os-sdlc/lib/os_sdlc/project_targets.rb ``` 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 - Filed by: agent, on user approval via /os-sdlc:responsibility-refactor - Source: responsibility-audit run 15, analysis `.sdlc/tmp/responsibility-audit/run-15/analysis.yaml` - Where: plugins/os-sdlc/lib/os_sdlc/project.rb - Session: 932cc3fb-b634-45ac-a990-737178341a12 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/932cc3fb-b634-45ac-a990-737178341a12.jsonl - Skeptic: not run (user-approved batch)
Author
Owner

#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.

#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.
Author
Owner

#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.

#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.
Author
Owner

#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).

#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).
Author
Owner

#581 merged (main 31e6759, ADR-0186). All four children merged. Next: batch tail comment cleanup, then the re-audit.

#581 merged (main 31e6759, ADR-0186). All four children merged. Next: batch tail comment cleanup, then the re-audit.
Author
Owner

Batch tail done: comment cleanup ee72b7a, skill lessons f008002. 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.

Batch tail done: comment cleanup ee72b7a, skill lessons f008002. 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.
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#582
No description provided.