Claim under test: The complete production main.js has fewer raw and gzip level-9 bytes with identical behavior.
Workload: all modules reachable from src/main.ts, production mode, Node 22.23.2, locked dependencies, origin/master 8449c620c0f5c8f844a41883ad324096ef25fabb.
Harness: measure.mjs uses the real Vite config with write:false to preserve the runtime baseline, saves exactly one emitted chunk, then invokes npm run size for every sample. The baseline SHA-256 equals npm run build output. Each variant runs five times interleaved with baseline. Record budget failures separately from build errors.
Sensitivity: oxcOnly emits 103249 gzip bytes and fails the 103000 budget. passes2 emits 101573 bytes. The harness distinguishes both from baseline 101837.
Scope limiter: baseline has 18 CSS blocks totaling 34336 raw bytes, 6247 bytes when their concatenation is gzipped alone. CSS-only changes cannot remove application and Svelte runtime code. Standalone CSS compression is explanatory only and is not additive to whole-bundle gzip.
Stop predicate: evaluate whitespace, shorter hashes with namespace and collision safety, scoped CSS duplication, CSS injection shape, console stripping placement, and safe minifier options; retain reproducible savings only after tooling, full fresh-vault E2E, and pixel parity pass. Stop when remaining options need behavior changes or disproportionate machinery.
Throughput: baseline screen capture is roughly ten minutes for 142 screenshots; fresh-vault E2E and second capture dominate remaining verification. Measurements run without changing the baseline bundle.
