# Phase 1 runtime skeleton — automated evidence **Date:** September 5, 2026 **Artifact:** `XZBT.html` **SHA-256:** `8a444a17e06e3d2c4825fcb293004fde4da22c776154fba3d624cc50845c26c3` **Result:** Implementation and automated verification passed; direct-file restart observation remains pending. ## Delivered - deterministic modular-source build into one inline-script, inline-style HTML artifact; - multi-file and drag/drop `.xzbt` loading; - BOM-aware JSON parsing plus XZBT version, metadata, identifier, root-field, and seed validation; - exhibit library and inert Phase 1 performance surface; - prepare-before-teardown activation, complete disposal, and previous-exhibit recovery attempt; - production `SeededRNG` using the frozen FNV-1a-32, SplitMix32, and `xoshiro128**` contract; - IndexedDB definition cache and last-active-exhibit preference, with a visible session-only fallback; - bounded structured diagnostics with severity, code, exhibit, section, object, property, and explanation fields; - two minimal valid exhibits: fixed-seed and cryptographically randomized. ## Automated verification `npm run test:phase1` passed 6 of 6 tests. Coverage includes both fixtures, malformed/version/metadata rejection, frozen GC4 PRNG vectors, identical-import no-op and restore, activation failure recovery, byte-identical clean builds, absence of external script/style dependencies, and generated-script compilation. The existing in-process contract suites also passed unchanged: - GC2: 12 of 12 - GC3: 8 of 8 - GC4: 7 of 7 - GC5: 8 of 8 `git diff --check` reported no whitespace errors. ## Open acceptance observation The repository records that prior browser tooling was not permitted to navigate directly to a `file:` URL, and forbids substituting another browser surface or raw command as a workaround. Consequently, this record does not claim the final Phase 1 direct-file acceptance observation. A supported desktop Chromium user run still needs to import both files from `exhibits`, switch between them, close the full browser, reopen the same `XZBT.html`, confirm that both cached exhibits return and the last exhibit activates, and record the Phase 1 GC6 environment fields.