THROWAWAY: bundle truncation control for the E2E floor — DO NOT MERGE - #2322
THROWAWAY: bundle truncation control for the E2E floor — DO NOT MERGE#2322rubenvdlinde wants to merge 1 commit into
Conversation
Adds a postbuild step that empties every js/*.js IN PLACE after webpack writes them. Truncation, not deletion: a delete-based control is defeated by an existsSync-guarded rebuild, which is how one repo in this fleet scored 82/82 green with the bundle 'deleted'. Purpose: openregister's E2E gate is a deliberate 6-test floor that goes green in ~4 minutes. This branch establishes whether those 6 tests actually exercise the mounted SPA. If they still pass with an empty bundle, the green is hollow and the floor needs replacing, not growing. A missing/empty bundle does NOT 404 — Nextcloud serves its HTML error page as HTTP 200 text/html — so nothing else in the pipeline notices.
Quality Report — ConductionNL/openregister @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| composer | ✅ | ✅ 173/173 | |||
| npm | ✅ | ✅ 713/713 | |||
| PHPUnit | ✅ | ||||
| Newman | ✅ | ||||
| Playwright | ❌ |
Quality workflow — 2026-08-04 05:17 UTC
Download the full PDF report from the workflow artifacts.
Result: the floor is genuine. 7 failed / 4 passed (8.2 min) vs an all-green 3m57s baseline.The control actually firedThe E2E job took the bundle from the It discriminates — which is the real evidenceThis is stronger than a blanket red would have been. The split falls exactly on whether a test needs the mounted SPA: Failed — every browser-driven test (each burning ~35 s on selector timeouts):
Passed — every API-only test, correctly unaffected (442 ms – 2.4 s):
If the floor were hollow, emptying the bundle would have changed nothing. Instead it killed precisely the tests that drive the UI and spared precisely the tests that only speak HTTP. Conclusionopenregister's E2E green is real. The For the record, a truncated bundle produced no 404 anywhere — Nextcloud serves its HTML error page as HTTP 200 Closing — this branch existed to be measured, and it has been. The branch is left in place (not deleted) if anyone wants to inspect the run. |
Do not merge. Do not approve. This branch exists to be measured, then deleted.
What it does
Adds an npm
postbuildscript that truncates everyjs/*.jsto zero bytes in place, immediately after webpack writes them.Truncation, not deletion, on purpose: a delete-based control is defeated by an
existsSync-guarded rebuild — that is how one repo in this fleet scored 82/82 green with the bundle "deleted". Truncating leaves the file present, so any existence check still passes and the file is genuinely empty.What it is measuring
openregister's E2E gate is a deliberate 6-test floor (playwright-test-path: tests/e2e/ci, 3 spec files) against 61 spec files in the repo. It goes green in about 4 minutes.Fast and small is not the same as hollow — but it is consistent with hollow, and the two are indistinguishable from the outside. This run settles it:
Note that an empty bundle produces no 404 anywhere: Nextcloud serves its HTML error page as HTTP 200
text/html, so no status-code check in the pipeline can see this. Only the specs can.