development has been red since 70ba77f (Takes nextcloud-vue 2.31.1 so a hovered KPI tile stops…, 19:08). One gate fails:
[gate-53] effective-manifest-crossref: FAIL — 1 structural violation(s) in the
ASSEMBLED manifest (base+fragments+menu-layout)
It is real, not flaky. I re-ran the failed jobs on the same SHA and it failed identically.
What I could not do, and what I ruled out
I could not reproduce it locally, having eliminated the three things that usually explain that:
- Gate version. CI runs
.github at hydra-gates-ref: main. My local .github was on a feature branch four commits behind, so my first "passes locally" was measured with the wrong gate. I re-ran with a fresh clone of main (4226ee2) from GitHub. Still passes.
- The dependency in the failing commit. My
node_modules had nc-vue 2.27.2 while package.json wants ^2.31.1 — so that run was against the old library too. After npm ci (2.31.1 installed), it still passes.
- The assembly step. The gate names the ASSEMBLED manifest, so I also ran
build_effective_manifest.js --app-dir . and fed the result via --manifest. Passes: {"status":"passed","checked":1,"failed":0}.
Locally the checker reports only WARNs — five removals-invariant warnings about report routes losing their nav entry, and seven src/registry.js exports … but no manifest entry names it. None is an error, and the gate's own exit is failed:0.
Where the detail actually is
The job log does not inline the violation; it points at /tmp/hydra-gates.<rand>/hydra-gate-*.log on the runner, which does not survive. I checked the run's artifacts too — quality-report.md / .pdf and result-hydra-gates (154 bytes) — and none carries the finding.
So the finding exists only inside a job whose output is discarded. That is worth fixing independently of this failure: a gate that fails with "1 structural violation" and no way to see which one costs everybody who hits it an afternoon. Uploading the gate's own log alongside result-hydra-gates would be enough.
Raising rather than guessing at a fix — I have no way to see the violation, and shillinq is not mine to change on a hunch.
developmenthas been red since 70ba77f (Takes nextcloud-vue 2.31.1 so a hovered KPI tile stops…, 19:08). One gate fails:It is real, not flaky. I re-ran the failed jobs on the same SHA and it failed identically.
What I could not do, and what I ruled out
I could not reproduce it locally, having eliminated the three things that usually explain that:
.githubathydra-gates-ref: main. My local.githubwas on a feature branch four commits behind, so my first "passes locally" was measured with the wrong gate. I re-ran with a fresh clone ofmain(4226ee2) from GitHub. Still passes.node_moduleshad nc-vue 2.27.2 whilepackage.jsonwants ^2.31.1 — so that run was against the old library too. Afternpm ci(2.31.1 installed), it still passes.build_effective_manifest.js --app-dir .and fed the result via--manifest. Passes:{"status":"passed","checked":1,"failed":0}.Locally the checker reports only WARNs — five
removals-invariantwarnings about report routes losing their nav entry, and sevensrc/registry.js exports … but no manifest entry names it. None is an error, and the gate's own exit isfailed:0.Where the detail actually is
The job log does not inline the violation; it points at
/tmp/hydra-gates.<rand>/hydra-gate-*.logon the runner, which does not survive. I checked the run's artifacts too —quality-report.md/.pdfandresult-hydra-gates(154 bytes) — and none carries the finding.So the finding exists only inside a job whose output is discarded. That is worth fixing independently of this failure: a gate that fails with "1 structural violation" and no way to see which one costs everybody who hits it an afternoon. Uploading the gate's own log alongside
result-hydra-gateswould be enough.Raising rather than guessing at a fix — I have no way to see the violation, and shillinq is not mine to change on a hunch.