Skip to content

Corpus gaps: 7 gates without regression protection, and gate-6 cannot be graded by subject #443

Description

@rubenvdlinde

Two gaps that survived tonight's gate programme. Neither is a defect in a gate's logic; both are limits on what the fixture corpus can prove, which is why they need recording rather than quiet carrying.

1. Seven gates have no regression protection

Regression coverage went from 22 gates to 58 of 65. The seven that remain, each for a stated structural reason:

gates why
4, 22 need external tooling the fixture harness does not have
47, 48 are delta gates — they need a real diff, and a whole-tree fixture run reports NOT APPLICABLE. Confirmed this session: gate-48 measured na on all 18 apps in both arms of a fleet sweep, because a development HEAD has no delta base
12, 41, 52 have a planted arm but no anti-widening arm anywhere

That last row is the one worth acting on first. A planted arm alone proves a gate can fire; it says nothing about whether a fix that widens the gate would be caught. This session produced two concrete reminders of why that matters: a widening once took softwarecatalog from 23 to 64 findings with 47 of the new ones unclosable, and a near-miss on gate-25 would have converted four recovered findings back into silence while the count barely moved.

2. gate-6 cannot be graded by subject

orphan-auth writes its findings to a mktemp path, so the acceptance bundle cannot read which method it reported — only how many. Its row therefore grades a count, and would not notice a gate that reported the wrong method entirely.

The bundle invariant everywhere else is that a subject must be unsatisfiable by every other finding the bundle can produce. gate-6 is the one place that invariant cannot be checked. The limitation is written into the bundle rather than hidden, but it is a limitation.

Fix shape: give gate-6 a stable findings-log path like its siblings, then add subject assertions.

Why these are filed rather than fixed

Both mean editing run-hydra-gates.sh, and three PRs were live in that file when this was written. Two PRs can each merge cleanly onto main and still conflict with each other — that happened twice tonight — so adding a fourth writer would have manufactured conflicts rather than closed gaps.

Context

main is at 380ead3. Tonight closed 19 distinct gates on the comment axis plus the string-literal axis in 16, hardened source_scope, and CI-confirmed the #416 scope split. The comment-class survey and its per-gate table are the reason these two gaps are now the largest remaining unknowns in the corpus.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions