Repository navigation
Open
Open
Copy link
Labels
priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Milestone
Description
Refs #3465. Slice 2 of 3. Blocked by #5654 (owner rulings and the rubric-v5 re-score) and by slice 1 (the report-only sweep).
Problem
Stage 2 of the provenance sub-topic is a disposition-applying sweep: one tracked file at a time, apply the verdict, verify (semantic diff plus pointer liveness), close. fix and sweep apply dispositions only to fix-eligible findings, and a class is fix-eligible only at min_n_per_class 10 and precision at or above 0.95. On 2026-10-04 near-verbatim stood at 0.92 with n 13, and verbatim at n 3 with the target kept at 10 (#5654, 2026-10-13).
Fix
- Precondition: run
plugins/attribution/skills/audit/scripts/score-golden.shon currentmain. If it reports no fix-eligible class, post a comment on provenance sweep sub-topic: repo-wide sweep, upstream-drift convention engagement, and the cleaned-state gate #3465 headed## Disposition sweep: no fix-eligible classwith the per-class precision and n, open no PR, and stop. That outcome completes this slice. - Otherwise run
/attribution:audit sweepover tracked markdown. Follow the execution contract in provenance sweep sub-topic: repo-wide sweep, upstream-drift convention engagement, and the cleaned-state gate #3465: one file at a time; a file closes only when every finding in it carries a disposition or an explicit neutral outcome; carve-outs stay categorical (redraw a carve-out inrubric.mdrather than keep a suppression list). A file with a generated-output marker is never edited: report the finding and name the generator's input as the fix site (owner decision B1, 2026-09-29). - Open one PR with the applied dispositions, and post a comment on provenance sweep sub-topic: repo-wide sweep, upstream-drift convention engagement, and the cleaned-state gate #3465 headed
## Disposition sweep, <date>with the closure count, files closed, per-instance suppressions accumulated (must be 0 or stated with the count), and the measured precision and n per class. The ledger is checkout-local, so this comment is the record slice 3 reads.
Done when
-
gh issue view 3465 --comments --json comments --jq '[.comments[].body|select(startswith("## Disposition sweep"))]|length'prints at least1 - If dispositions were applied:
bash plugins/attribution/skills/audit/scripts/score-golden.shexits 0 on the PR branch, andgit diff --name-only origin/main...HEADlists no file whose first lines carry a generated-output marker -
bash scripts/check-changelog-parity.shexits 0 on the PR branch (when a PR exists)
Metadata
Metadata
Assignees
Labels
priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Type
Fields
No fields configured for Task.
Activity
github-actions commentedon Oct 24, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: #9753
Understood: slice 2 of #3465. Run score-golden.sh on current main. If no class is fix-eligible, post the "no fix-eligible class" comment on #3465 and stop. Otherwise run the disposition-applying sweep, skip generated-output files, open one PR, and post the sweep record.
The issue body already names the blockers: #5654 (owner rulings and the rubric-v5 re-score) and slice 1. I took slice 1 to be #9753 and listed it above. I could not check whether #5654 is still open, so it is not on the Blocked by line. The scope, done-when items and stop condition are exact, so I have no open questions.
Possible duplicates: none found.
Automated triage, applied by the lanes App.
kyle-sexton commentedon Oct 25, 2026
Released for re-triage under the owner's 2026-10-24 rule: an issue stops for a person only for an intent or vision question, a security call, a host or attended run, or spend outside prepaid credit. The hold label came off and intake triage runs again now; it re-applies a hold, with a numbered question, when one of those applies.
To hold this issue again, add
needs-human(orstatus: needs-decision) and say why in a comment.melodic-automation-lanes commentedon Oct 25, 2026
Not admitted to the issue lane yet: blocker #5654 is not closed by a listed human or a merge; blocker #9753 is not closed by a listed human or a merge.
kyle-sexton commentedon Nov 1, 2026
Cordoned until an attribution class is declared fix-eligible. Issue Triage session.
This slice applies dispositions, and
fixandsweepact only on fix-eligible findings. The owner ruled on 2026-10-30 that no class is fix-eligible yet. The owner-decisions record (docs/owner-decisions.mdin melodic-software/architecture, row "Q1 and Q2 (Backlog HITL numbering), 2026-10-30") puts the question "Should the attribution audit be allowed to fix near-verbatim copies on its own?" with the owner's reply, verbatim: "go w/ recommended". The recorded decision: "(a) not yet; re-measure on a larger sample before any class is declared fix-eligible, since 9 of the 12 true positives are real repository text and 4 of those share one source."Step 1 of this body would not stop on that ruling. It stops only "if it reports no fix-eligible class", and
score-golden.shnow reports near-verbatim at n 13, precision 1.00, gatebinding(#5654 comment, 2026-10-31). Read literally, an agent would run the sweep against the ruling.The listed blockers do not gate it either: slice 1 (#9753) closed as completed on 2026-10-29, and closing #5654 leaves the ruling in place. The real blocker is the larger-sample re-measure. No issue tracks it on its own; it belongs on #5654, whose remaining panel re-runs and whole-set re-score enlarge the sample.
What reopens this: the owner declares a class fix-eligible after a re-measure on a larger sample, recorded as an owner-decisions row or a comment on this issue. Then:
bindinggate fromscore-golden.shalone does not make it fix-eligible";After zeroand send it back through intake with a**Decision recorded.**comment.#9759 depends on this slice and is cordoned on the same condition.