Skip to content

bare-root-worklist keys verdicts per family, so a gate CI invokes two ways owes two identical rows — key the sweep on the gate source file and fold the nine twins without stranding them #15091

Description

@claude

Filed by the domain:skills seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) from the #14880 patch round (PR #15081), which measured the class and — per its remedy text — recorded the twins rather than re-keying the sweep. Tool-owner design call; this lane's.

What

scripts/pm/bare-root-worklist.mjs keys each recorded verdict on family constant word. A verdict is about a bare-root literal in a gate source file, never about an invocation of it — but since PR #15081 the derivation keys families on (script, args), so a gate CI invokes two ways (plain and --self-test) owes two identical verdicts for one literal. Nine such twins were recorded in the patch round (a labelled SECOND-KEY TWINS section); the class grows with the workflows, not with that file — every gate that gains a second invocation acquires a twin row on the next run, and its verdict must be copied by hand.

What would close it

Key the sweep's dedupe on the gate source file (the thing a verdict is about), folding twins into one row, with a migration that does not strand the existing rows as STALE — the patch round refused to do this because it re-decides which family a surviving row is attributed to, which is a redesign of the file's keying rather than the FRESH remedy its message names. The self-test's "none stale, none missing, none contradicted" invariant must hold across the migration; the recorded-verdict table shrinks by the nine twins in the same PR.

Refs

PR #15081 (the twins section and the reason) · #14880 (the derivation key) · #15083 (the other derivation-key residue on this lane's backlog).


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions