1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# Native web layout boundary — 2026-09-23
Functional and ownership evidence, not a performance or total-memory benchmark.
- `build.json` / `native-build.log`: pinned Zig 0.15.2, 37 native tests, source/Wasm hashes.
- `node-tests.log`: final 87 tests (compiler, runtime, numeric/pointer routes, CLI,
persistence, display evaluation/publication and previous examples).
- `browser.json`: 32 document-workspace checks, with source/preview text and counters.
- `authoring.json`: 44 legacy authoring-flow checks.
- `value-control.json`: 3 numeric-control checks in the original workbench UI.
- `guards.json`: 6 focused checks including fixture validation, rejected out-of-range
output, arithmetic rollback/control reconciliation, active-gesture apply refusal,
and oversized-file rejection.
- `pure-document-saved.txt`: actual browser download, byte/text checked against the
UTF-8 LF fixture in `browser.json`, also reopened in a fresh page.
- `pure-document-{desktop,mobile}.png`: final screenshots, visually inspected.
- `sources/`: implementation and test snapshots; `before/`: previous core/host files.
- `verification.json`, `manifest.json`: bounded result counts and artifact hashes.
The 32-case document run precedes the final range-control reconciliation on rejected
host output. The focused guard run tests that final correction and records the final
screenshots (also incorporating a small heading-wrap adjustment). The core/runtime
used by the final snapshots have matching build hashes. No timing comparison with
before/ is made.
Reproduce from repository root:
```sh
python3 prototypes/workbench/manage.py build --zig /path/to/zig-0.15.2
node --test prototypes/workbench/*.test.mjs
python3 prototypes/workbench/manage.py serve --port 8766
```
Open `/document.html` with Playwright CLI, and pass `qa-document.js` to `run-code`.
After completion read `window.__pureDocumentEvidence`. `qa-document-guards.js`
exposes `__pureDocumentGuards`. The original workbench uses `qa-authoring.js` and
`qa-value-control.js` here, with `__pureWorkbenchQAEvidence` / `__pureValueEvidence`.
Dialogs/downloads can make the CLI return before the async function finishes;
read completion evidence rather than treating a CLI return as success.
Counters prove which application callbacks run, not whether a browser internally
performs layout or allocates memory. Native editor and preview both retain text;
there is no additional persistent JS/VM document model. Per-edit whole-preview text
publication remains. No physical mobile, OS IME, screen-reader, macOS/Metal or
large-document performance result is claimed. Composition checks use synthetic
composition events, touch uses Chromium CDP, other mouse/keyboard flows use actual
browser input. File exchange is UTF-8 text with native textarea newline normalization.
|