Make collaborator-pass delta-check fail when a clump moves to a new subject #1214
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#1214
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
collaborator-pass delta-checkpasses a ticket when the target finding goes down and each shape total stays at or below the baseline run. It compares the shape total against the baseline run, not against the state before the ticket. Earlier merged tickets lower the total and leave headroom. A clump that moves to a new subject then passes. The data_clump problem stays and the check says ok.Observed
Ticket #1202 replaced
rootandtrackerwith aProjectinImplementation::OpenandImplementation::RerouteIntake. The check passed before and after the commit. The orchestrator reported:The data_clump total stayed at 209. The baseline run held 246, so
209 <= 246passed. The code isDeltaCheck#shape_row:"ok" => after <= before, wherebeforeis the baseline run tally.DeltaCheck#finding_rowchecks only the target subject (after <= limit). The orchestrator wrote: "This is the second example after #1200, and the delta-check does not detect it."Reproduce
Run it on the tree at the #1202 commit. The check exits 0.
Approach
Compare against the tree before the change for each shape. Report a subject that is new in the after tally and shares a member name with the target subject as a moved clump. Fail the check when the target score leaves and an equal score appears on a subject with a shared name.
Required work:
DeltaCheck::Tallyexposes the subjects of a shape with their scores — check: presentdef subjectsinplugins/os-sdlc/lib/os_sdlc/collaborator_pass/delta_check/tally.rbDeltaCheck#calladds amovedrow for each new subject in the same shape that shares a name with the target subject.okis false when one exists.delta-checkcommand accepts the pre-change measure, or measures the tree before the change, as the second tally.skills/collaborator-pass/SKILL.mdstep 7 names themovedrow.Rejected: A stricter shape-total limit alone — it does not see a clump that is replaced by a clump of the same score.
Acceptance criteria
root+trackerat 12 before and 0 after, and a newproject+trackerat 12 after, when delta-check runs, then it exits 1 and namesproject+trackeras the moved subject.Owner sketch
Origin
DeltaCheck#shape_rowcompares to the baseline run total, which has headroom from earlier tickets ← DESIGN (plugins/os-sdlc/lib/os_sdlc/collaborator_pass/delta_check.rb)VERDICT: CREATE
Occurrence: a moved clump passed delta-check in #1202 (root+tracker 12 -> project+tracker 12; data_clump total 209 -> 209).
Seen: plugins/os-sdlc/lib/os_sdlc/collaborator_pass/delta_check.rb matches the finding by subject string and accepts total <= baseline.
Run: session 86f833b9 (run 3 retrospective, 2026-10-20).
Adds: the rule that separates moved from removed. An after-finding is the same clump moved when it shares at least one name and at least two sites with the before-finding and its score is at or above the old score; #1202 matches (tracker; Open, RerouteIntake; 12 >= 12) and #1199, #1201, #1203 do not. Also require the shape total delta to be below zero, not at or below.