Tracking the three quality signals on hermiq that PR #180 deliberately did not touch, so the numbers are on record and nobody re-measures them from scratch.
Honest full-scope baseline: development @ cd23f547, workflow_dispatch --full, run 31490144919.
⚠️ The push-scope figure of "16 gates / ~1,184 findings" is not comparable to a full-scope one. gate-16 (spec-coverage, 473) and gate-52 (custom-widget-ratchet) are diff-scoped and drop out of a whole-repo run by design; gate-29/33/47/48/61 report NOT APPLICABLE. The full-scope figure is 14 gates / 743 findings.
1. E2E (Playwright) — red, job 93775011235
Scoped to tests/e2e/spec-coverage by .github/workflows/code-quality.yml, and that scoping is stated in the workflow rather than assumed. Not investigated in #180. Before concluding it is a test bug, check the known shape first: an admin root that mounts every section on one storesReady flag produces a DOM large enough that Playwright's role queries never terminate while the page itself loads in ~3.5s (procest#784). Also note waitForLoadState('networkidle') hides the race it appears to fix, and mode: 'serial' masks failures — a suite reporting "N did not run" is not telling you it is healthy.
2. gate-19 e2e-coverage — 491 scenarios missing @e2e
This number is directional, not exact. Four known gate defects:
.github#343 — a file-level @e2e tag is credited without checking the test body, so a file can be credited for scenarios nothing in it exercises;
.github#345 — an @e2e exclude is read as positive coverage, so excluding and covering are indistinguishable to the gate;
- a dangling
@e2e anchor fails silently;
.github#209 (fixed) — gate-19 used to return its finding count as an exit status, so any figure quoted in an older issue is wrong.
Real work, but it is the long tail: 491 scenarios is a programme, not a sweep.
3. gate-25 (10) and gate-26 (4)
gate-25 contract-coverage — 10 new public endpoints with no contract test.
gate-26 visual-coverage — 4 new page components with no visual baseline. ⚠️ This gate can be satisfied by a bare PascalCase token in a comment — it looks for the component name anywhere in the corpus. Create real baselines and verify each one actually captures the component; making the token appear turns it green with no baseline existing.
Where hermiq stands after #180
PHPUnit (all cells), phpstan, psalm green; gate-7/13/24/30/40/51/54 closed at source; gate-46 201 → 25 (#183); gate-17 (#182) and gate-57 (#181) filed as false-positive / product decisions rather than fake-fixed. Remaining: this issue.
Tracking the three quality signals on hermiq that PR #180 deliberately did not touch, so the numbers are on record and nobody re-measures them from scratch.
Honest full-scope baseline:
development@cd23f547,workflow_dispatch --full, run31490144919.gate-16(spec-coverage, 473) andgate-52(custom-widget-ratchet) are diff-scoped and drop out of a whole-repo run by design;gate-29/33/47/48/61report NOT APPLICABLE. The full-scope figure is 14 gates / 743 findings.1. E2E (Playwright) — red, job
93775011235Scoped to
tests/e2e/spec-coverageby.github/workflows/code-quality.yml, and that scoping is stated in the workflow rather than assumed. Not investigated in #180. Before concluding it is a test bug, check the known shape first: an admin root that mounts every section on onestoresReadyflag produces a DOM large enough that Playwright's role queries never terminate while the page itself loads in ~3.5s (procest#784). Also notewaitForLoadState('networkidle')hides the race it appears to fix, andmode: 'serial'masks failures — a suite reporting "N did not run" is not telling you it is healthy.2.
gate-19 e2e-coverage— 491 scenarios missing@e2eThis number is directional, not exact. Four known gate defects:
.github#343— a file-level@e2etag is credited without checking the test body, so a file can be credited for scenarios nothing in it exercises;.github#345— an@e2e excludeis read as positive coverage, so excluding and covering are indistinguishable to the gate;@e2eanchor fails silently;.github#209(fixed) — gate-19 used to return its finding count as an exit status, so any figure quoted in an older issue is wrong.Real work, but it is the long tail: 491 scenarios is a programme, not a sweep.
3.
gate-25(10) andgate-26(4)gate-25 contract-coverage— 10 new public endpoints with no contract test.gate-26 visual-coverage— 4 new page components with no visual baseline.Where hermiq stands after #180
PHPUnit(all cells),phpstan,psalmgreen;gate-7/13/24/30/40/51/54closed at source;gate-46201 → 25 (#183);gate-17(#182) andgate-57(#181) filed as false-positive / product decisions rather than fake-fixed. Remaining: this issue.