Map renamed constants in crc-inward-delta offense subjects #1174
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#1174
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
crc-inward-deltamaps an offense of a moved file to the file's new path. It does not map the constant name in the offense subject. When a move renames a constant, anInwardDependencyoffense in an unmoved caller file keeps its path but changes its subject. The delta then reports the same offense once as new and once as gone, and exits 1. The gate fails although the move added no offense.Observed
Run 3 of the os-sdlc CRC pass, ticket #1172, moved
OsSdlc::Handoff::ContenttoOsSdlc::HandoffContent(commitf5fcc5d1). The ledger rows carrynew_path,new_constant, andcommit. The delta reported:plugins/os-sdlc/lib/os_sdlc/crc/inward_delta/moves.rbbuilds its map frompathtonew_pathonly.Offense#moved_toreplaces only the path.Reproduce
constantdiffers fromnew_constant) where an unmoved file in another layer references the constant.plugins/os-sdlc/bin/crc-inward-delta --target os-sdlc docs/crc/os-sdlc <before> <after>. It exits 1 and lists the renamed subject undernewand the old subject undergone.Origin
newandgonelists by hand and confirmed that they differ only in the constant nameOffense#moved_torewrites only the path ←Movesmapspathtonew_pathand ignoresconstanttonew_constantVERDICT: CREATE