os-sdlc: audit every lib file for ownership and naming (responsibility audit + ADR-0247 names) #835

Closed
opened 2026-09-29 16:52:27 +00:00 by jared · 2 comments
Owner

Problem

The user asked on 2026-09-29 to audit all os-sdlc code files and reconsider naming and ownership to tighten the architecture.
This folds into the planned responsibility audit (docs/crc/os-sdlc/HANDOFF.md next steps). #748 closes after it.

Reproduce

n/a: audit ticket, nothing to reproduce.

Approach

Follow the documented process: docs/crc/os-sdlc/INVENTORY-BRIEF.md and docs/crc/os-sdlc/ROLE-MORPH-BRIEF.md (skills os-sdlc:responsibility-audit, os-sdlc:crc-refactor).
Add a naming pass. Each class is named <Concept>::<noun for its job>, never after transport or tool (ADR-0247).
No role directory is a namespace (ADR-0236, ADR-0246). No orphan namespaces.
The audit makes no code changes. Follow-up tickets go per ruled batch.
Order: after the controller rename ticket (ADR-0247 rename and split).

Required work:

  1. Run the inventory and role-morph audit over every file in plugins/os-sdlc/lib.
  2. Run the naming pass over every class.
  3. Write a report of ownership findings and rename proposals for user ruling.
  4. File one follow-up ticket per ruled batch.

Acceptance criteria

  1. Given every lib file, when the audit finishes, then the report lists an ownership finding or a clean verdict for each file.
  2. Given every class, when the naming pass finishes, then the report lists a rename proposal or a keep verdict for each class.
  3. Given the audit, when it finishes, then the repository has no code changes.

Owner sketch

n/a: read-only audit.

Origin

  • Trigger: user request 2026-09-29.
  • Improvised this session: none
  • Chain: loose naming and ownership ← controllers named by transport ← DESIGN (ADR-0247)
  • Root candidate: none
  • Where: plugins/os-sdlc/lib/
  • Session: 61834fd0-8fa2-40d2-8215-fb2f0622220d
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/61834fd0-8fa2-40d2-8215-fb2f0622220d.jsonl
## Problem The user asked on 2026-09-29 to audit all os-sdlc code files and reconsider naming and ownership to tighten the architecture. This folds into the planned responsibility audit (`docs/crc/os-sdlc/HANDOFF.md` next steps). #748 closes after it. ## Reproduce n/a: audit ticket, nothing to reproduce. ## Approach Follow the documented process: `docs/crc/os-sdlc/INVENTORY-BRIEF.md` and `docs/crc/os-sdlc/ROLE-MORPH-BRIEF.md` (skills `os-sdlc:responsibility-audit`, `os-sdlc:crc-refactor`). Add a naming pass. Each class is named `<Concept>::<noun for its job>`, never after transport or tool (ADR-0247). No role directory is a namespace (ADR-0236, ADR-0246). No orphan namespaces. The audit makes no code changes. Follow-up tickets go per ruled batch. Order: after the controller rename ticket (ADR-0247 rename and split). Required work: 1. Run the inventory and role-morph audit over every file in `plugins/os-sdlc/lib`. 2. Run the naming pass over every class. 3. Write a report of ownership findings and rename proposals for user ruling. 4. File one follow-up ticket per ruled batch. ## Acceptance criteria 1. Given every lib file, when the audit finishes, then the report lists an ownership finding or a clean verdict for each file. 2. Given every class, when the naming pass finishes, then the report lists a rename proposal or a keep verdict for each class. 3. Given the audit, when it finishes, then the repository has no code changes. ## Owner sketch n/a: read-only audit. ## Origin - Trigger: user request 2026-09-29. - Improvised this session: none - Chain: loose naming and ownership ← controllers named by transport ← DESIGN (ADR-0247) - Root candidate: none - Where: plugins/os-sdlc/lib/ - Session: 61834fd0-8fa2-40d2-8215-fb2f0622220d - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-crc-pass-os-sdlc/61834fd0-8fa2-40d2-8215-fb2f0622220d.jsonl
Author
Owner

Folded in #946 (move os-sdlc to the A15 domain-first layout). The part that still matters: the inward-dependency lint must read a file's role from its name or the ledger, not its path (ROLE_LAYER.fetch in plugins/os-sdlc/lib/os_sdlc/lint/inward_dependencies.rb raises on a domain directory); the role-directory collapse list in plugins/os-sdlc/lib/os_sdlc.rb must go; allowed paths naming /model/ and /controller/ in cops/registry_outside_entry_point.rb and cops/row_index_on_model.rb must change. Acceptance: lint raises no error on a domain directory, suite green. File list: docs/crc/os-adr/lens-challenge-a1.md, section 'Files that change with the lens'. Blockers #935 (stale, closed) and #945 (done, 172c798c) no longer block.

Folded in #946 (move os-sdlc to the A15 domain-first layout). The part that still matters: the inward-dependency lint must read a file's role from its name or the ledger, not its path (ROLE_LAYER.fetch in plugins/os-sdlc/lib/os_sdlc/lint/inward_dependencies.rb raises on a domain directory); the role-directory collapse list in plugins/os-sdlc/lib/os_sdlc.rb must go; allowed paths naming **/model/** and **/controller/** in cops/registry_outside_entry_point.rb and cops/row_index_on_model.rb must change. Acceptance: lint raises no error on a domain directory, suite green. File list: docs/crc/os-adr/lens-challenge-a1.md, section 'Files that change with the lens'. Blockers #935 (stale, closed) and #945 (done, 172c798c) no longer block.
Author
Owner

Resolution

Done: The crc-refactor run on os-sdlc is complete: 653-row ledger, every rename/move row applied, all 7 split rows applied in wave 5, R118 and R122 applied, sweep and records step done, merged to main.

Evidence: docs/crc/os-sdlc/HANDOFF.md 'Where you are'; ledger.tsv; main 0e6a6067; suites os-sdlc 1772/0, os-backlog 311/0, os-adr 110/0.

Follow-ups: #1070, #1072 filed; W3, W7 and the outward-edge list are questions in the Phase 7 handoff; Phase 8 (process retrospective) in docs/crc/PLAN.md.

## Resolution **Done:** The crc-refactor run on os-sdlc is complete: 653-row ledger, every rename/move row applied, all 7 split rows applied in wave 5, R118 and R122 applied, sweep and records step done, merged to main. **Evidence:** docs/crc/os-sdlc/HANDOFF.md 'Where you are'; ledger.tsv; main 0e6a6067; suites os-sdlc 1772/0, os-backlog 311/0, os-adr 110/0. **Follow-ups:** #1070, #1072 filed; W3, W7 and the outward-edge list are questions in the Phase 7 handoff; Phase 8 (process retrospective) in docs/crc/PLAN.md.
jared closed this issue 2026-10-17 02:50:10 +00:00
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#835
No description provided.