Repository navigation
Description
The provenance build plan's Phase 8 promotes the repo-wide sweep, the combined upstream-drift
convention engagement, and the narrow CI regression gate for the cleaned state into their own
sub-topic. This issue is that promotion artifact, and it is the Brief the sub-topic runs from.
Why this is an issue rather than docs/topics/provenance-sweep/PLAN.md
The plan named a contract slice as the promotion target. That target is not merge-able:
docs/topics/<slug>/ is Contract tier, branch-only, and scripts/check-contract-slice-prune.sh
hard-fails any new path there on the way to main — the parent topic's own slice was pruned for
exactly this reason (#3456). The work-item tracker is the graduation route the topic-docs
lifecycle names for actionable follow-ups, so the Brief lands here. Nothing about the plan's
content changes; only its vessel.
Precondition, and it is a hard one
The sweep cannot apply dispositions yet, and this is the gate's own arithmetic rather than a
blocker to route around. The golden set ships at 10 cases across four groupings, so no class
reaches min_n_per_class 10 and every class is report-only at v1. fix and sweep apply
dispositions to fix-eligible findings only, and at v1 there are none.
So the sub-topic has two distinct stages, and the first does not wait on the second:
- A report-only sweep is runnable now and is worth running: it produces the corpus-scale
telemetry (fetch counts, cache hits, carve-out declines, not-found rates) that the convention
engagement needs as evidence, and it harvests adjudications into golden cases. - A disposition-applying sweep unlocks only once the growth loop carries
verbatimand
near-verbatimpast n=10 at or above the 0.95 precision bar. That is the named exit condition
of the first growth round in provenance plugin: phases 6 to 8 (golden set and measurement, crosswalk registration, sweep) #3458.
Running stage 1 and feeding its adjudications back is what makes stage 2 reachable. Reversing
them is not an option.
Measured baseline entering the sweep
From the Phase 6 measurement (recorded in plugins/provenance/CHANGELOG.md): over 1,347 tracked
markdown files after carve-outs, 525 stamp candidates, 482 parsed, 43 declined, 0 expired at the
180-day default. Golden set: 10 cases, overall 8 tp / 0 fp / 0 fn / 2 tn, every class report-only.
The adversarial rotation probe (design thread T15) returned a real limit worth carrying into the
sweep: at roughly one substitution every four words, containment goes to 0.0 with no matched
spans against a source that was fetched and identity-checked. Word-shingling is evadable by an
author who intends to evade it, and no value of min_containment above zero recovers a passage
with zero matching shingles. The sweep should expect a floor on what the deterministic half can
confirm, and should not read a clean fingerprint as proof of originality.
Execution contract (inherited from the parent Brief)
- One tracked file at a time. Apply the verdict, verify (semantic diff plus pointer liveness),
close. - A file is closed when every finding in it carries a disposition or an explicit neutral
outcome — never when the interesting ones are done. - Record each closure in the sweep ledger so an interrupted sweep resumes without re-deciding
closed files, and so the closure count is a fact rather than a memory. - Carve-outs stay categorical. If the sweep starts accumulating per-instance suppressions, that is
evidence a carve-out is drawn wrongly, and the fix is to redraw it inrubric.md— not to keep
a suppression list. This matters beyond tidiness: see the convention engagement below.
The two additions the parent plan requires this Brief to carry
- The live no-breadcrumb (
not-found) probe, as a first-run validation item. That disposition
has never been exercised live — every spike source was supplied by hand. The sweep's first
genuine no-breadcrumb candidate validates that the searched-surfaces listing names every
surface actually checked, and that budget exhaustion reads as a first-class neutral outcome
rather than as an acquittal. - Sweep resume semantics. The fetch ceiling and the response cache are scoped per SWEEP, not
per invocation, and both are recorded in the closure ledger. A resumed sweep therefore neither
resets its spend nor silently reuses a stale cache. The ledger is checkout-local; state that
explicitly, because a sweep resumed in a different checkout is a new sweep.
The convention engagement (fires at sweep completion only)
Drafted in full at docs/specs/provenance-convention-engagement.md. It executes as one entry
in docs/conventions/upstream-drift/CHANGELOG.md, carrying three parts:
- Recorded-decision re-derivation. chore(conventions): plugins restating upstream harness facts are not adopters of upstream-drift, so stale claims never surface #2273 deferred an adoption gate with its own stated
trigger: "a detector is demonstrated that separates an upstream restatement from an in-repo one
without a suppression list." Sweep completion either is that demonstration or it is not, and
the engagement says which from evidence — the closure ledger, the measured precision/recall at
the stated minimum n, and the carve-out record showing categorical exclusions only. If the
sweep accumulated per-instance suppressions, the bar is not cleared, the trigger has not fired,
and the engagement records exactly that with the count.
The honest expected outcome, stated now so the engagement cannot overclaim later: the detector
is LLM-led with deterministic verification, so the enforceability row moves at most from
reasoning-only to detect-then-judge, and a deterministic suppression-free CI gate in the
*-gatepattern remains unavailable. - Enforceability table update, version bump conditional. Major bump ONLY if an enforceability
verdict changes; otherwise a minor entry with the as-of date refreshed and the outcome stated,
drift or no drift. - The trigger-less-stamp table-row flip. Partially pre-consumed: the check's code shipped in
Phase 3 and its crosswalk row in Phase 7 (feat(provenance): documentation-provenance audit plugin (phases 1 to 5) #3456 and the Phase 7 work). What remains here is
exactly the convention's own row moving from "named but not built" to "built, off-by-default,
repo-override enabled", plus the build-trigger bookkeeping. The registry row's early presence
is scheduled, not drifted.
Also recorded at the same firing: the hash-store designed-issue trigger evaluated against the
sweep's fetch telemetry; the dead-pointer round-trip wiring (the weekly link-check lane routing
to the demotion path in reference/dispositions.md); and the adopters table, where rows are
added only for surfaces that actually conform, with #2297 getting its closure evidence if the
repository ends the sweep conforming.
What the engagement never does: declare the migration playbook's plugin-eval deferral trigger
fired; rewrite prior changelog entries or dated records; or convert a judgment verdict into a
deterministic claim — report-only tiers stay report-only whatever the sweep measured.
Checklist
- Grow the golden set past
min_n_per_classforverbatimandnear-verbatim(provenance plugin: phases 6 to 8 (golden set and measurement, crosswalk registration, sweep) #3458) - Run the report-only sweep; record closure ledger, telemetry, and adjudications
- Validate the live no-breadcrumb
not-foundprobe on its first genuine case - Confirm sweep resume semantics (per-sweep ceiling and cache, checkout-local ledger)
- Disposition-applying sweep, once a class is fix-eligible
- Execute the convention engagement as one
upstream-drift/CHANGELOG.mdentry - Evaluate the hash-store designed-issue trigger against the sweep's fetch telemetry
- Wire the dead-pointer round-trip to the weekly link-check lane
- Narrow CI regression gate for the cleaned state
Related
- provenance plugin: phases 6 to 8 (golden set and measurement, crosswalk registration, sweep) #3458 — phases 6 and 7, and the golden-set growth this sub-topic depends on
- feat(provenance): documentation-provenance audit plugin (phases 1 to 5) #3456 — phases 1 to 5, where the plugin, its scripts, and the trigger-less check shipped
- Refs chore(conventions): plugins restating upstream harness facts are not adopters of upstream-drift, so stale claims never surface #2273 — the upstream-drift recorded decision this engagement re-derives
- Refs chore(plugins): 12 unstamped upstream harness claims across 11 plugins — upstream-drift adoption backlog #2297 — the fleet's open-carriers issue, which gets its closure evidence here
docs/specs/provenance-convention-engagement.md— the engagement, drafted in fulldocs/specs/provenance-design-threads.md— T15, the adversarial probe whose limit is recorded above
Activity
feat(provenance): golden set, crosswalk registration, and two defects…
fix(provenance): correct a stale Phase 6 baseline, and pin its as-of …
feat(provenance)!: rubric v3 states the scope C3 and C4 are graded at
kyle-sexton commentedon Aug 28, 2026
Stage 1 report-only sweep: first run, recorded
Ran the report-only sweep across the whole corpus at
d7e391da, split into two judgment legs (docs/,plugins/) plus a mechanical telemetry leg, each with an independent fresh-context verifier. No dispositions were applied and no tracked file was edited by any sweep leg: at v1 no class reachesmin_n_per_class, so applying one would be a correctness violation rather than a shortcut.Checklist movement
not-foundprobe on its first genuine case — validated, with a gap found.min_n_per_class— candidates harvested below; not yet converted.Telemetry
d7e391da,--as-of 2026-08-28plugins/work-items/skills/track/actions/add.md:104Two of these figures are date-relative and expire, which is why the as-of date is pinned: the 180-day zero holds only until 2026-10-05 on the current oldest stamp, and the 60-day count moves daily.
The adoption-bar evidence this issue asks for
This issue states that if the sweep accumulates per-instance suppressions, the #2273 adoption bar is not cleared. It accumulated none. Three categorical carve-outs, no per-instance suppression list anywhere, and two skill surfaces forbid them by design. That is the first evidence on record pointing at the trigger, and it is recorded here rather than in the convention, because the engagement fires at sweep completion and this is one run.
The
excluded_pathsplacement holds as designed: the fixtures exclusion lives in the config layer, not unconditionally inlist-corpus.sh, so the eval harness lifts it while a normal run declines it and says so. The #3041 precedent is live.Resume semantics are not implemented
All three claims in this Brief measured as NOT IMPLEMENTED:
reference/source-fetch.md:110scopescorpus_fetch_ceilingto "the run"source-fetch.md:113-115, cache "lives in the run's memory slice"reference/dispositions.md:152-154,SKILL.md:163-165record closures and guard outcomes onlyCheckout-local holds by design (
docs/specs/provenance-plugin-topology.md:60places the ledger under.work/, which.gitignore:30ignores) but no script enforces it —.work/is referenced by no script at all. The Brief describes intended semantics; whether they were built is what this checklist item measured, and they were not. Recording rather than building, since this run was scoped to measure.Findings
docs/(148 files) does not lexically copy the upstream it cites. Exhaustive 296-comparison sweep, corpus-wide max containment 0.011. The fivedocs/upstream/*.mdrecords tested against a real clone ofmattpocock/skillsscored 0.001–0.009 with zero firings, and their self-declared near-verbatim adoption cites upstream to the correct line.plugins/produced six findings that stand, four of them in one file:plugins/context7/skills/lookup/context/lookup.md:40-41plugins/firecrawl/skills/firecrawl/context/commands.md:36plugins/playwright/skills/playwright/reference/test-generation.md:80lookup.mdreproduces a five-step procedure from the live upstream in order, containment 0.217 with a 26-word span, and carries zero attribution and zero external URLs across 77 non-empty lines. The plugin does attribute upstash — in a sibling file — and C3 grades what is on the page.Tier caveat, found by the verifier: two of those four were tiered on the file-level separation flag, but their per-finding longest spans are 14 words each, below the 15 floor, and file containment 0.217 is below 0.3. Neither arm fires for them individually. They are genuine short copies below the deliberate floor — the floor working as designed — and must not be recorded as
fingerprint-confirmed. Related process deviation: the cited ranges match no module span, so nomination ranges were carried through unrefined against SKILL.md step 7.A materialized drift, outside the tier table's domain:
docs/NATIVE-SURFACES.md:98records a native description absent from both shippedclaudebinaries in this container. The row's own recheck trigger has already fired. This is not drift risk; it is drift.check-stamps.shstructurally cannot see it.T15 reproduced live, twice
The rotation limit is no longer only a synthetic probe.
firecrawl/.../commands.md:36restates(default 5, max 100)from the Firecrawl CLI docs at containment 0.000 with zero matched spans, against a source that was fetched and identity-checked. The verifier control-tested the module rather than trusting the zero (local-vs-itself returns 0.927), so this is a genuine detector miss on a table-row-to-prose restatement, not an operational failure.llm-suspectedis the forced tier: no lexical evidence is possible.Neither leg proposed moving the 0.3/15 constants, and neither read a clean fingerprint as proof of originality.
The no-breadcrumb probe validated, and found a gap
Resolved at rung 4 (local binaries) after a zero-URL file. Budget exhaustion was exercised on a second candidate (404 then 403) and held as a neutral outcome, not an acquittal — correctly, because a further rung then resolved it, and stopping early would have lost the materialized drift above as a false negative.
The gap: the searched-surfaces listing has no mechanical floor.
emit-findings.shhas no field for it, no budget block, no schema. Three prose requirements, zero enforcement — a listing omitting a rung is indistinguishable downstream from a complete one.Also unplanned and worth a decision before stage 2: the stale string's authoritative home is
docs/native-surfaces/records.json:108, outside the markdown corpus and generated, and its rendering says never to hand-edit it. Afixpass would edit a generated file.Detector defects found by running it on itself
docs/upstream/aihero-course.md:127declines as "bare year" while ending in a conforming ISO date — a real stamp silently exempted from expiry.docs/conventions/standards/README.md:134,plugins/claude-config/skills/audit/SKILL.md:171). AlsoSC2034and"cache_read_input_tokens": 2000read as bare years.textfield reports the keyword line rather than the date line, so whoever adjudicates the 44 declines sees misleading context.Adjudication candidates harvested
Rejected findings are the high-value output, because a case converted from a rejected finding is one nobody authored to pass. Harvested, not yet converted: a byte-identical 16-word list of eight product-defined identifiers that fires the separation rule but fails C2 (no other way to write it); a conforming record whose trigger has fired, a shape no golden case has; carve-out 5's reach over
RESEARCH-*.md; and a 0.589-containment/142-word case that turned entirely on grading scope.That last one produced a rubric change: C3 and C4 are graded at different scopes and v2 never said so. Two readers agreed on the verdict and disagreed on which scope produced it. Rubric v3 states it — C3 outward across the file, C4 on the passage — and takes the invalidation: the v2 golden-set measurement does not carry forward, so the set must be re-scored before any precision figure is cited. That pushes fix-eligibility further out, not closer.
Honest limits on this run
plugins/; the rest got path- and stamp-level treatment only.nomination_passesran once, not twice — nominations were not unioned.judge_sampleswas not met: judgments are single-context, not three blind panels. No verdict here carries panel unanimity. Both judgment legs reported this themselves rather than being caught at it.claudebinaries in this container, 2.1.246 and 2.1.250; the finding survived at both, but the pin was wrong). Another leg could not obtain a verifier at all and said so rather than claiming one.Recommended before stage 2
fixpass must not editrecords.jsonthrough its rendering.Generated by Claude Code
fix(provenance): supply the judge the file rubric v3 tells it to grade
fix(provenance): apply the window rule and the v3 file input to both …
docs(provenance): correct three counts this entry got wrong about itself
fix(provenance): four defects the first report-only sweep found, thre…
provenance/audit: vendored-snapshot tier rule; record searched-surfac…
fix(provenance): stop the rubric from carrying its own answer key
feat(provenance): schema-check the not-found searched listing, and st…
fix(provenance): remove two answer-key leaks from the golden set, clo…
kyle-sexton commentedon Sep 6, 2026
This was generated by AI during triage.
Claiming for triage-only evaluation (no execution).
Generated by Claude Code
kyle-sexton commentedon Sep 6, 2026
This was generated by AI during triage.
Triage: verified, oversized, routed human-gated with a decomposition proposal
Stage 1 ran and is recorded in detail. What this pass adds is a current-state re-measurement, which moves two things, and an assessment that the item is too large to route as one unit but cannot yet be sliced cleanly.
Re-measured on current
main,--as-of 2026-09-06The trigger-less check is on and producing 87 findings. All 87 carry
rule-trigger-less-stamp; zero are expiry findings, so the sweep's "0 expired at the 180-day default" still holds. This is directly load-bearing for the checklist's third convention part: the row's move to "built, off-by-default, repo-override enabled" is not pending, the override is live, and 87 is the number the engagement will have to report. Worth capturing before the figure moves.Two of the recorded detector false positives are still present. Reproduced from the declined groups:
plugins/code-tidying/.../shell-tooling.md:38SC2034, a shellcheck codeplugins/context-guard/reference/reader-contract.md:78"cache_read_input_tokens": 2000A third is questionable: a table row in
docs/upstream/mattpocock-skills-v12-map.md:48declines as a bare year with no year in view. And one decline carries a wrong reason string:plugins/github/reference/recipes/billing.md:140readsAs of 2026-07and is declined as "bare year, no month or day" when it plainly has a month.Two recorded defects appear resolved. The ordinary-English "may" false positive no longer appears in any month-name decline (all five are genuine month-name forms, three of them the plugin's own changelog describing this very bug). The
text-field defect is not visible either: every example now shows the matched line. The stamp under-report fixed in #3473 is the likely cause. The issue's checklist does not track these, so their resolution is recorded here rather than ticked.Net: the decline classifier still has a real precision problem across 39 bare-year declines, narrower than at sweep time but not closed.
Why this is oversized
Nine checklist items, three complete. The remainder are not variations on one task, they are five different kinds of work:
min_n_per_class(provenance plugin: phases 6 to 8 (golden set and measurement, crosswalk registration, sweep) #3458) and on re-scoring against rubric v3, whose scope change invalidated the v2 measurement. Two preconditions, not one, and the second was added after this issue was written.Why it is not being decomposed in this pass
Decomposition needs stable slice boundaries, and four unanswered decisions from the stage-1 run sit directly on them:
fixpass would edit a generated file. Until this is answered, nobody knows whether the sweep's disposition scope includes generated surfaces, which changes what a stage-2 slice even contains.min_n. Sequencing this after the re-score wastes the re-score.Slicing before these are answered produces items that get rewritten as soon as they are. That is the specific failure decomposition is supposed to prevent, so this pass stops at the proposal.
Proposed decomposition, for approval in one pass
Blockers first. A maintainer answering the four decisions above can approve this split as-is.
min_n_per_classA and D are executable today and depend on nothing in the decision set. If the maintainer wants movement before sitting down with B, those two are where it exists.
Routing
needs-human, for a genuinely open decision rather than a capability blocker: the four questions in B are spec calls about what the sweep's disposition scope is and what the tier table contains. Neither the decision-defaulted exit nor a delegable one fits, because there is no reversible default available for a question that redefines what the deliverable is.The item stays as the sub-topic's Brief. Nothing here supersedes the stage-1 run comment, which remains the record of what was measured.
Labels: replacing the raw
priority: needs-triagewithpriority: medium(real value, no deadline, and the blocked stages cannot move until B is answered regardless of urgency); addingneeds-human.Triage claim released.
Generated by Claude Code
38 remaining items
kyle-sexton commentedon Oct 24, 2026
This was generated by AI while splitting waiting issues into lane-ready slices (owner decisions C12, Q93-Q95, 2026-10-24).
Split into three dependent sub-issues, in this order:
mainunder copy rubric v5 and post its telemetry here. Nothing blocks it.score-golden.shstill finds no fix-eligible class, it posts that result and stops.The sweep ledger is checkout-local, so slices 1 and 2 post their numbers as comments on this issue, and slice 3 reads them from there. The engagement text this Brief cited from
docs/specs/provenance-convention-engagement.md(deleted by #5719) is carried from this issue's body into #9759.Not a slice: #5654 holds the owner rulings, and it is parked under the no-eval-spend decision of 2026-10-21. Verbatim stays at n 3 against a target of 10, so only near-verbatim can become fix-eligible, and it was at 0.92 against a 0.95 bar on 2026-10-04.
github-actions commentedon Oct 25, 2026
The triage sweep dispatched intake triage for this issue (attempt 1 of 2).
github-actions commentedon Oct 25, 2026
Proposed work class: work-class: structural
Basis: automated intake triage; the lanes App applied this class.
Size: Large
Complexity: High
Uncertainty: Knowable
Flags: none
Blocked by: none
Understood: this is the Brief for the provenance sweep sub-topic. It covers a repo-wide report-only sweep, a disposition-applying sweep once a class becomes fix-eligible, the upstream-drift convention entry, and a cleaned-state CI gate. It has already been split into #9753, #9755 and #9759, so this issue now works as the tracking parent. The slices carry the actual dependencies, and #9755 depends on #5654 and #9753. I found no open question the issue text leaves unanswered and no likely duplicates.
Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 25, 2026
Not admitted to the issue lane yet: sub-issue #9755 is open; sub-issue #9759 is open.
kyle-sexton commentedon Oct 28, 2026
Report-only sweep, 2026-10-28, 8dcdac6
Slice 1 of 3 for this issue, from #9753. This ran
/attribution:auditin its read-onlyauditaction, with nofixand nosweep, over tracked markdown onmainat8dcdac6e8d93171f8642b44d9aaa5635491e6b46, in a detached worktree. The plugin was attribution 0.13.0 under Claude Code 2.1.312. The run applied no disposition and edited no tracked file:git status --porcelainandgit diff --stat origin/main...HEADare both empty, and no PR was opened.Rubric versions: copy rubric v5 and restated-fact rubric v1. Every finding below was graded under one of those two.
The effective config came from
docs/conventions/attribution.yaml, with everything else at the bundled defaults:excluded_paths: **/evals/fixtures/**,trigger_less_stamp_check: true,stamp_expiry_days: 180judge_samples: 3,nomination_passes: 2,judge_lens_diversity: true,review_agents: 1,deep_research_on_exhaustion: falsecorpus_fetch_ceiling: 200, separation thresholdsmin_containment 0.3andmin_span_words 15, passed explicitly on every fingerprint callTelemetry
**/evals/fixtures/**(config carve-out), 21**/vendor/**(built-in carve-out)review_agents: 1)attributionentries indocs/conventions/attribution.yaml,.claude/attribution.json,docs/conventions/harness-config.yamlsuppressions, or.claude/audit-pass.mdFindings
Deterministic: expired stamps (2)
docs/upstream/claude-com-fold-subagents.md:67plugins/work-items/skills/track/actions/add.md:116Class: stamp. Rule
attribution/audit/rule-stamp-expired, deterministic, relay-eligible. Rubric: none. These came from the deterministiccheck-stamps.shand were not panel-graded.Deterministic: trigger-less stamps (49)
Class: stamp. Rule
attribution/audit/rule-trigger-less-stamp, deterministic, relay-eligible. Rubric: none. These came from the deterministiccheck-stamps.shand were not panel-graded. Each location carries a dated stamp on a surface that states no recheck trigger. The stamp date is in parentheses..claude/mutation-testing.md:46(2026-10-25);docs/adr/0039-keep-babysit-identity-keys-in-userconfig-and-move-repository-keys-to-the-cascade.md:79(2026-10-07);docs/adr/0055-load-nothing-head-controlled-into-a-pipeline-skill-activity.md:65(2026-10-04);docs/adr/0065-move-the-harness-ops-session-event-log-into-a-mod.md:17(2026-10-04);docs/adr/0071-start-pr-unblock-from-a-push-to-main-dispatcher-checked-at-the-gate-and-the-broker.md:69(2026-10-11);docs/adr/0076-keep-guest-use-of-claude-the-owners-own-use.md:16(2026-10-16);docs/conventions/hook-precision/guard-precision.md:85(2026-10-15);docs/conventions/invocation-context/README.md:32(2026-09-28);docs/conventions/permission-rule-hygiene/CHANGELOG.md:83(2026-08-31);docs/conventions/plugin-reconfiguration/README.md:33,:51(2026-10-28),:78(2026-09-27);plugins/ai-briefing/README.md:29(2026-07-18);plugins/bugs/CHANGELOG.md:69(2026-10-07);plugins/code-tidying/skills/audit-comment-residue/SKILL.md:43(2026-09-03);plugins/code-tidying/skills/audit-comment-residue/reference/shapes.md:21(2026-09-03);plugins/context-budget/skills/audit/reference/report.md:37(2026-10-11);plugins/context7/skills/lookup/context/cli.md:5(2026-10-11);plugins/education/CHANGELOG.md:152(2026-10-07);plugins/evals/evals/reference-read-denied/prompt.md:2(2026-10-02);plugins/evals/skills/plugin-eval/reference/sandboxes.md:40(2026-10-25),:54(2026-10-23);plugins/harness-ops/skills/control-claude-code/features/desktop/mod-harness/README.md:35(2026-10-26);plugins/harness-ops/skills/control-claude-code/features/skills/invoke/README.md:38(2026-10-26);plugins/improvement/CHANGELOG.md:57(2026-10-07);plugins/instruction-placement/context/findings-artifact.md:127(2026-10-27);plugins/mutation-testing/skills/principles/reference/theory.md:100(2026-10-06);plugins/pixel-art/palettes/README.md:106,:111,:116,:121,:125,:126(2026-09-28);plugins/planning/reference/variation-points.md:145(2026-10-11);plugins/planning/skills/design/SKILL.md:408(2026-10-11);plugins/planning/skills/interview/context/assumption-sweep.md:17(2026-09-27);plugins/playbooks/skills/boris/reference/effort.md:3(2026-10-11);plugins/playgrounds/README.md:39(2026-09-01);plugins/songwriting/context/pat-pattison/research/lyric-melodic-roadmaps.md:29,:64,:180(2026-08-11);plugins/songwriting/skills/suno/reference/suno-drift-audit-ledger.md:17(2026-08-12),:22(2026-08-11),:23(2026-07-18);plugins/testing/skills/audit/evals/judge-calibration/calibration.md:399,:409(2026-10-26);plugins/user-interface/CHANGELOG.md:207(2026-10-07);plugins/user-interface/reference/animation/gestures.md:11(2026-10-11);plugins/x/CHANGELOG.md:58(2026-10-06).Several of these hits are probably not verification stamps: changelog entries, an eval prompt, and palette rows. They are adjudication candidates (below), not suppressions.
Judged: restated-fact, relay-eligible (2)
Rule
attribution/audit/rule-restated-upstream-fact, classrestated-fact, restated-fact rubric v1. Each had a unanimous 3/3 STANDS panel and survived refutation. Both are report-only and never fix-eligible.docs/upstream/aihero-shipping-course.md:268-277source-fetched-similartool_name,tool_input, andtool_response, and nothing in it names the invoking skill". R4: no hooks-reference or OTEL pointer, as-of date, or trigger near the passage; the file's only whole stamp covers the course and mattpocock/skills. The refuter found the fact has already drifted: the fetched page now listssession_id,transcript_path,cwd,permission_mode,tool_use_idand an optionalduration_ms.plugins/machine-health/skills/audit/reference/windows/check-catalog.md:414-419not-found(searched: in-file and directory breadcrumbs, nominator candidate URLs; no Microsoft Task Scheduler page fetched)LastTaskResultis 267011 (SCHED_S_TASK_HAS_NOT_RUN) ... 267014 (SCHED_S_TASK_TERMINATED)". R4: section 10 has no pointer, as-of date or recheck trigger; the nearest record (section 11) covers Defender exclusions.Judged: restated-fact, human report only (2)
docs/cloud-sessions.md:232-240leave-with-reason.main" as the trigger. Open questions: whether "a latermain" meets the observability bar for a Claude Code behavior, and whether the record covers thewindow_tokens x bytes_per_token x fractionformula and the 4-bytes half of the range.plugins/discovery/skills/trace-intent/SKILL.md:55-60reference/parent-contract.md, which was outside the packet. A reader of that file settles it.Judged: copy candidates, all cleared (29)
Copy rubric v5. Each candidate was 3/3 CLEARED, so none is a finding and none is fix-eligible. These were the 29 above-rule spans of 28 or more matched words.
docs/upstream/claude-code.md:175docs/upstream/good-css.md:95, 100, 109-112, 116-118, 129-133, 140(6)PRACTICES.mdat the pinBorrowed from:lines at the pin, without their links" heads the table, and the file carries a whole recorddocs/plugin-philosophy.md:1243-1244;plugins/harness-config/skills/audit-instructions/reference/criteria.md:197-201, 1497-1499, 2157-2159, 2397-2398, 2473-2477(6)plugins/playbooks/reference/model-adaptation/{sonnet-5-5,opus-5-5,haiku-5-5,fable-5-1}.md(14) andplugins/harness-config/skills/audit-prompting-postures/reference/postures.md:14-20, 114(2)Judged: restated-fact, cleared (12)
Each was cleared by 3/3 judges, by carve-out 1 or by an R-criterion FAIL:
plugins/disk-hygiene/skills/clean/reference/safety-model.md:196-204,plugins/rate-limit-guard/README.md:297-307,plugins/performance/skills/go-faster/reference/catalog/harness.md:8-19plugins/harness-memory/skills/audit/reference/official-guidance.md:41-44,plugins/docs-hygiene/skills/audit-progressive-disclosure/context/tier-model.md:40-50,plugins/writing/skills/be-concise/reference/sources.md:103-108,plugins/session-flow/skills/orchestrate/SKILL.md:207-213plugins/harness-config/skills/audit-instructions/reference/criteria.md:1653-1663,plugins/context-guard/reference/reader-contract.md:466-473,docs/migration-playbook.md:1474-1481plugins/naming/skills/name-it-better/context/sources.md:42-48plugins/overengineering/context/scrutiny-method.md:98-104Above the separation rule, not judged (217 spans in 40 files)
These spans of 15-27 words fired the deterministic rule but received no panel. Going by the 29 judged spans, they are mostly link labels and section titles, but none was judged here. Heaviest files:
plugins/harness-config/skills/audit-instructions/reference/criteria.md(42)plugins/harness-config/skills/audit-prompting-postures/reference/postures.md(22)plugins/playbooks/reference/model-adaptation/opus-5-5.md(19),sonnet-5-5.md(17),haiku-5-5.md(11),fable-5-1.md(8)docs/plugin-philosophy.md(9),docs/conventions/mod-authoring/README.md(9),plugins/playbooks/reference/prompt-caching.md(8)docs/upstream/claudedevs-cost-performance.md(7),docs/upstream/good-css.md(5)Adjudication candidates for the golden set (harvested, not converted)
plugins/playbooks/reference/model-adaptation/fable-5-1.md:119. This is a precision case for the separation rule, or a quote-stripper case for link text.docs/upstream/good-css.md:95-140passes C1, C2 and C4 and clears only on C3, through a table-scoped attribution sentence. This is a C3 scope-matching boundary case.docs/cloud-sessions.md:232-258drew a unanimous STANDS that refutation reversed. Does "a latermain" count as an observable trigger for a vendor behavior?criteria.md:1653-1663,reader-contract.md:466-473andmigration-playbook.md:1474-1481reached the same outcome by two different routes across lenses.plugins/discovery/skills/trace-intent/SKILL.md:55-60drew 3/3 UNKNOWN because R4's record lives in another file.naming/.../sources.md:42-48showed up only at judging, which argues for checking identity at fetch time.plugins/bugs/CHANGELOG.md:69and five more), an eval prompt (plugins/evals/evals/reference-read-denied/prompt.md:2) and palette rows (plugins/pixel-art/palettes/README.md:106-126).Honest limits
docs/upstream/CHANGELOG.mdand.changes/criteria.md(2676 lines) only in part; pass 2 read it in fullplugins/only in partmore_seenthat were not recordedjudge_samplespanels: 3 of 3 lens-diverse, blind judges for every one of the 45 judged candidates; the floor was met. Disclosures:deep_research_on_exhaustionwas off.audit, notsweep. The relay findings file (53 rows: 51 stamp rows and 2 restated-fact rows) sits in a gitignored.work/reviews/main/in one checkout, so this comment is the durable record.kyle-sexton commentedon Nov 2, 2026
Cordoned to the
After zeromilestone by the issue-triage session; not closed. Both open sub-issues, #9755 and #9759, are already inAfter zero, and admission holds this parent until they close (admission comment names both). Leaving it atstatus: readycounted it as lane supply it cannot be. The work stays open and resumes with its children.Posted by the issue-triage session. This was generated by AI.