Collaborator pass signal-delta criterion needs a mechanical gate, not a verifier judgment #1089
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#1089
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
The loop's ticket-body writes acceptance criterion 1 as a signal delta: "when bin/collaborator-pass measure runs after the change, then finding X scores at most N". On #1088 the behavior-verifier marked it done and the run completed, but the post-merge measure shows the finding unchanged (copied:defn:b47f392a still 4) plus a new IDENTICAL copied entry of mass 450 across the seven commands, and the argv clump back to 49. No pipeline node runs the measure, so the criterion is judged, not checked, and the loop's stop-check caught the regression only after merge.
Observed
stop-check after run 20261017T163118Z: copied_entry 24 -> 49 (regressed), data_clump 296 -> 309 (regressed); loop stopped.
Reproduce
Approach
A typed check the pipeline can run before merge: either a new Required-work check form that runs
collaborator-pass measurein the worktree and compares one finding's score, or a gate step registered for tickets that carry a recipe (detect by theTrigger: bin/collaborator-pass runOrigin line). The verifier then has a mechanical result to read instead of a prose claim.Required work: none beyond the acceptance criteria.
Acceptance criteria
measurein the worktree and fails when the named finding's score exceeds the ticket's score_after.Origin
VERDICT: CREATE
REASON: Observed failure in a complete run; #1088 merged with its signal-delta criterion unmet and no pipeline node runs measure. A gate before merge fixes the cause.
Work started 2026-10-17 on branch ticket-1089 (same AFK session). Design: a delta-check subcommand on bin/collaborator-pass that measures the current tree against a baseline run and a recipe, and the loop skill runs it before worktree finish and refuses to merge on regression. No pipeline map or check-vocabulary change.
Resolution
Done: bin/collaborator-pass delta-check: measures the current tree against a baseline run and a recipe; fails when the recipe's finding exceeds score_after or any shape's score rises. The loop skill runs it after implementation_complete and before worktree finish and refuses to merge on exit 1.
Evidence: Commit
e141d2e5merged to main. Suite 2040 runs, 0 failures. Rubocop clean on new files. Replayed on #1088's recipe against run 20261017T161455Z: exit 1, copied_entry 24 -> 50 and data_clump 296 -> 312 reported as regressions.Follow-ups: The pipeline itself still has no measure gate; this check runs at the orchestrator step before merge, which is where the loop merges. If a pipeline-level gate is wanted later it is a new ticket; none filed.