Lens proposal: A12 target-root rule copied in Boot::Commands.scan_root #1528
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#1528
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
Boot::Commands.scan_root(plugins/os-sdlc/lib/os_sdlc/boot/commands.rb:150) computesFile.join(root, project.target.path).Project::Target#lint_path(root)(plugins/os-sdlc/lib/os_sdlc/project/target.rb:19) already owns this target-root rule. The rule now has two copies (lens A12). The contract-auditor of implementation 225 marked the breakJUSTIFIED: yes, because the #1516 Approach and its required-work check pin the literal text. The lens challenge found a code defect: a ticket plan is a process fact, not a code reason, and the five earlier A12 signals are allcodeverdicts for a second copy of a rule.LENS line:
LENS: A12 broken at plugins/os-sdlc/lib/os_sdlc/boot/commands.rb:150 -- BREAKS: File.join(root, project.target.path) copies Project::Target#lint_path(root) (project/target.rb:19), a second copy of the target-root rule; JUSTIFIED: yes, Approach step 3 and the required-work check pin the literal project.target.path in commands.rb; PROPOSAL: NONE for the lens; a later tidy can rename lint_path to a neutral target-root name and call it from both senders.Challenge verdict: code defect found. Smallest fix:
in Project[root:] then project.target.lint_path(root). A rename oflint_pathto a neutral target-root name is a separate tidy.Run ticket: #1516.
Reproduce
n/a: lens proposal from implementation 225.
Origin
VERDICT: CREATE