fix: harden WASM phase 5 harness

This commit is contained in:
udo
2026-06-12 20:13:07 +00:00
parent 961df2d542
commit 89b5499c8f
9 changed files with 287 additions and 33 deletions
+20 -5
View File
@@ -17,15 +17,27 @@ Expected final line:
PHASE5 HARNESS: PASS
```
The harness first runs a throwaway warmup pass to populate the unit cache after
binary rebuilds. The warmup excludes the stateful `site tests tasks` case so it
cannot perturb the measured task-lifecycle check. The measured full-suite and
starter-subset passes then become the gate.
Artifacts are written under `/tmp/uce/wasm-phase5/`:
- `native-network.json` — full native network suite result.
- `native-starter.json` — starter-focused parity subset; this protects against
a vacuous `--match starter` exit gate.
- `native-network-warmup.json` — throwaway warmup result; allowed to fail on cold
compile timeouts.
- `native-network.json` — measured full native network suite result. The harness
fails if fewer than 80 cases run, so an empty or broken suite cannot pass.
- `native-starter.json` — measured starter-focused parity subset. The harness
fails if fewer than 10 cases run, which protects against a vacuous
`--match starter` exit gate.
- `site-static-audit.{json,md}` — candidate cross-request/static-state risks in
`site/` for the §3.2 semantic change audit.
`site/` for the §3.2 semantic change audit. By default it scans code-like
`.uce` and `.h` files only; pass `--include-doc-text` to include `.txt` docs
as `documentation` severity findings.
- `benchmark.{json,md}` — warmed native baseline for the three Phase 5 budget
pages:
pages. The default is 20 samples per target; use a higher `--samples` value for
noisy shared-host gate runs if needed:
- `template-heavy-doc`: `/doc/singlepage.uce`
- `sqlite-page`: `/demo/sqlite.uce`
- `component-heavy-starter`: `/examples/uce-starter/?dashboard`
@@ -36,6 +48,9 @@ page latency. Workspace birth and internal component call overhead budgets still
need worker-internal probes; this harness documents the gap rather than faking
those numbers.
A durable informational baseline snapshot is kept in `reports/`. Paired
native/WASM runs still recompute native medians for the actual budget decision.
Current scope:
- Native parity and baseline collection are automated.