chore(ci): stop pinning hydra-gates — track the package at @main - #161
Conversation
A pinned `hydra-gates-ref` is a silent expiry date on every upstream fix: this repo cannot receive a gate-package change until this line moves. v1.4.0 is the latest tag and the first one that carries `hydra-gates/scripts/axe-run.cjs` (verified absent at v1.3.0), so it is also the first that has ConductionNL/.github#168 axe DOM scoping and ConductionNL/.github#165 gate-46 fix. `enable-axe` is deliberately NOT enabled in this commit. Ordering matters: the ref lands first, enabling axe is a separate decision.
Quality Report — ConductionNL/hermiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| composer | ✅ | ✅ 117/117 | |||
| npm | ✅ | ✅ 744/744 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-05 22:00 UTC
Download the full PDF report from the workflow artifacts.
Removes the `hydra-gates-ref` input from the `quality.yml` caller. The
shared workflow already defaults it to `main`, and this repo consumes
`quality.yml` itself at `@main`, so dropping the override makes both
sides move together: a gate-package fix lands here without a commit here.
A pin is a silent expiry date on every upstream fix, and we have paid for
that twice already:
- .github#159 — 22 repos sat on v1.0.1, which predated the gate fixes.
16 gates were dead fleet-wide and every single one reported PASS. A
gate that never runs emits a tick identical to one that did, so
nothing in any repo's history showed it.
- .github#173 — the shared side flipped a default at @main while the
package stayed pinned per caller. Old runners lacked the coverage
accounting the new default assumed, so they went red on gates they
had no subject matter for.
Removing the pin closes both shapes at once. Rolling back is a revert on
ConductionNL/.github main, which reaches the whole fleet in one commit;
holding this one repo still is still possible by setting the input
explicitly, with a reason.
`enable-hydra-gates: true` is unchanged. `enable-axe` remains unset.
The comment block that justified the pin is replaced with a short note
saying why there is no pin.
Quality Report — ConductionNL/hermiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| composer | ✅ | ✅ 117/117 | |||
| npm | ✅ | ✅ 744/744 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ❌ |
Quality workflow — 2026-08-06 05:55 UTC
Download the full PDF report from the workflow artifacts.
…tes-ref-v1.4.0 # Conflicts: # .github/workflows/code-quality.yml
Quality Report — ConductionNL/hermiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| composer | ✅ | ✅ 117/117 | |||
| npm | ✅ | ✅ 744/744 | |||
| PHPUnit | ❌ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-06 08:05 UTC
Download the full PDF report from the workflow artifacts.
Quality Report — ConductionNL/hermiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| check-manifest | ✅ | ||||
| test-l10n | ✅ | ||||
| composer | ✅ | ✅ 117/117 | |||
| npm | ✅ | ✅ 744/744 | |||
| PHPUnit | ❌ | ||||
| Newman | ✅ | ||||
| Playwright | ✅ | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-06 08:30 UTC
Download the full PDF report from the workflow artifacts.
Merging:
|
What changed
This PR started life as a pin bump (
hydra-gates-ref: v1.3.0 -> v1.4.0). It now removes thehydra-gates-refline entirely so this caller inherits the shared workflow's default.enable-hydra-gates: true - hydra-gates-ref: v1.4.0enable-hydra-gates: trueis unchanged.enable-axeremains unset. The comment block that justified the pin is replaced with a short note explaining why there is deliberately no pin.Why
ConductionNL/.github/.github/workflows/quality.ymlalready defaultshydra-gates-reftomain, and this repo consumesquality.ymlat@main. Overriding the input was the only thing holding the gates package still. Drop the override and both sides move together — a gate fix reaches this repo without a commit in this repo.Bumping the pin is a treadmill: it works until the next fix lands upstream, and between bumps the repo is running whatever the gates package looked like on the day someone last remembered.
A pin is a silent expiry date on every upstream fix. We have paid for that twice:
v1.0.1, which predated the gate fixes. 16 gates were dead fleet-wide and every one of them reported PASS. A gate that never runs emits a tick identical to one that did, so nothing in any repo's CI history showed it.@mainwhile the package stayed pinned per caller. Old pinned runners did not carry the coverage accounting the new default assumed, so they went red on gates they had no subject matter for.The two failures are opposite shapes of the same split: shared workflow at
@main, package pinned. Removing the pin closes both.Rollback
ConductionNL/.githubmain. One commit reaches the whole fleet — which is the point.hydra-gates-ref:explicitly again, with a comment saying why this repo needs to hold still. The input is still honoured; it just is not the default posture.Safety net
ConductionNL/.github#177adds the resolve probe plus the gates package suite gating.githubmain, so a broken package cannot reachmainunnoticed now that consumers track it.