Sdlc/Structural/InwardDependency: carve out the composition root and a namespace's own children #1366
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#1366
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
Sdlc/Structural/InwardDependency records references that no fix can change.
Shape: each const reference whose ledger role layer is outer to the file's role layer.
The message prescribes "pass the value in, or move the behavior to the outer layer".
Observed
89 hits, all in os-sdlc.
34 are plugins/os-sdlc/lib/os_sdlc/boot/commands.rb:7-46 (ledger role
value), the composition root's command table: it must name every command, and neither fix applies.plugins/os-sdlc/lib/os_sdlc/tracker/issue_source.rb:9 records
IssueSource::Forgejo/Github, its own nested implementations selected by a factory.Reproduce
Run rubocop with .rubocop-sweep.yml (LedgerPath set) on the two files above.
Approach
Required work:
Carve-outs go in the cop matcher. Do not add config Exclude lists or test-path exclusions.
Found by the #1325 zero-false-positive audit (docs/plans/class-length-family/sdlc-cop-audit.md)
Origin
VERDICT: CREATE