Document runtime exclusions and verify offline transfer savings

This commit is contained in:
Jonathan Sykes
2026-10-09 14:56:31 +08:00
parent dd09f66578
commit 8a4144eb00
11 changed files with 22411 additions and 3 deletions

View File

@@ -335,3 +335,19 @@ No product behavior changes are involved in these measurement corrections.
Keep browser/build/test processes idle during full timing measurements. WebKit's
zero long-task field means unavailable, not zero work. Autoplay-blocked/media-ready
null results do not establish playback performance or iPhone audio continuity.
## Runtime manifest hygiene
`server/asset-manifest.js` excludes unit tests (`*.test.js`, `*.test.mjs`),
Markdown, text licences/data (`*.txt`), C build sources, `*.entry.js` build
entries, `/admin.html`, and files below any `perf/` directory from the runtime
manifest and both build-tag modes. They remain directly servable with the usual
hash and cache headers. If a matching file is genuinely needed at runtime, add
its exact root-relative path to the optional `include` array in
`frontend/assets.json`; group declarations referencing excluded files fail at boot
unless explicitly included.
The offline completeness harness compares cache contents with the runtime
manifest dynamically; it must not hard-code the old 151-file inventory. See
`plans/manifest-hygiene-report.md` and `perf/results/hygiene-*.json` for the
before/after measurements and compatibility checks.