Skip to content

test(hydra-gates): planted/clean acceptance bundle for gate 94 - #549

Merged
rubenvdlinde merged 1 commit into
mainfrom
test/gate-94-acceptance-fixture
Aug 22, 2026
Merged

test(hydra-gates): planted/clean acceptance bundle for gate 94#549
rubenvdlinde merged 1 commit into
mainfrom
test/gate-94-acceptance-fixture

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Why

Gate 94 landed in #546 without an acceptance fixture, and main's Package invariants job is red because of it:

FAILED SUITES: test_gate_acceptance_matrix.sh
   passed: 93 · quarantined: 2 · failed: 1

That ratchet is a hard failure for a gate declared in the runner with neither a planted/clean bundle nor an UNCOVERED.md row — deliberately, so "a gate cannot be added to the runner and left untested in silence." The ratchet did exactly its job; #546 merged over it. This PR is the missing bundle.

What it pins

The two arms differ only in the host the shipped URLs point at. planted/ reproduces the fleet's actual 2026-08-22 state: <bugs>, <website>, <repository> and <screenshot> all still on codeberg.org a month after the last codeberg remote was removed.

Two shapes are deliberate, and both would catch a plausible wrong repair:

Shape What it would catch
Both arms carry a prose mention of "codeberg" in <description> a scanner that grepped the whole file instead of URL-bearing fields would fail the clean/ arm — and a gate that flagged every historical mention would be noisy enough to switch off
Both arms carry an identical <screenshot> path a checker keyed on the path rather than the host would misgrade the pair

The subject substring is codeberg.org, not a field name: the finding is "this URL points at a retired host" and the URL is what a human needs to see. A gate reporting only a count would satisfy a nonzero-exit check for free while naming nothing — the failure shape this whole suite exists to catch.

Verification

$ bash hydra-gates/scripts/lib/test_gate_acceptance_matrix.sh
PASS — coverage ratchet intact — every declared gate is either fixtured or listed with a reason
   declared gates:      74
   with planted/clean:  67   (94 now included)
   passed: 181 · failed: 0
ALL gate acceptance controls PASSED

Direct checker run over the two arms: planted/ → 4 findings naming each URL; clean/checked 1 shipped metadata file(s) [full tree]: 0 failure(s), rc 0.

Gate 94 landed in #546 without a fixture bundle, and main's "Package invariants"
job is red because of it: the coverage ratchet in
test_gate_acceptance_matrix.sh is a hard failure for a gate declared in the
runner with neither a bundle nor an UNCOVERED.md row — deliberately, so a gate
cannot land untested in silence. This is that bundle.

The two arms differ ONLY in the host the shipped URLs point at, and planted/
reproduces the fleet's actual 2026-08-22 state: <bugs>, <website>, <repository>
and <screenshot> all still on codeberg.org a month after the last codeberg
remote was removed.

Two shapes are pinned on purpose:

- Both arms carry a prose mention of "codeberg" in <description>. Gate 94 is
  scoped to URL-bearing FIELDS, never to the file's prose — a scanner that
  grepped the whole file would fail the clean/ arm on that line, and a gate
  that flagged every historical mention would be noisy enough to switch off.
- Both arms carry an identical <screenshot> PATH, so a checker keyed on the
  path rather than the host would misgrade the pair.

The subject substring is `codeberg.org`, not a field name: the finding is
"this URL points at a retired host" and the URL is what a human needs to see.
A gate reporting only a count would satisfy a nonzero-exit check for free while
naming nothing.

Verified locally: acceptance matrix 181 passed / 0 failed, gate 94 now in the
covered set (67 of 74 gates fixtured).
@rubenvdlinde
rubenvdlinde merged commit 925871f into main Aug 22, 2026
36 checks passed
@rubenvdlinde
rubenvdlinde deleted the test/gate-94-acceptance-fixture branch August 22, 2026 06:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant