# Validation receipt — External WORM/Blockchain Anchor

25 October 2026. Local private teaching package. Sources, datasets and actual rendered browser outputs were checked; no encoded video, AWS call, retention mutation, paid transaction or live external verification is claimed.

- Python 3.11.3: five suites passed, including all 85 complete outputs, root literal E bytes, detached outputs and assurance non-promotion.
- Strict TypeScript/Python parity: 85 complete expected-output cases, 12 model passes, zero live external passes. The original 83 were authored before core; two independently authored boundary additions followed. The independent builder imports no production code.
- Exact root vector: E 524 bytes, C 300 bytes, SHA256(E) `8c3d6bb3a098a957a5b555064cda453528aff09995a63a944fd902076f523972`. Both encoders matched the literal E bytes.
- Runtime refusal regression: Python native ValueError/RuntimeError; missing WebCrypto and NotSupportedError/OperationError/SecurityError; unexpected TypeError preserved. Exact CRYPTO_UNAVAILABLE output has no partial digest/model.
- Standard SHA256 only: Python hashlib / browser and Node WebCrypto. Signature verification and key trust are explicitly outside this kernel; a coherent all-zero signature fixture still cannot obtain signature assurance.
- Actual Chrome/Playwright lab QA: 12 scenarios × 11 steps; each entire computed output equals its independent fixture. Four parameter changes, reset, pause, keyboard and reduced-motion single-step behavior passed.
- Widths 390/768/1440: no page overflow, visible controls at least 44px. Two SVGs passed text-bound checks; Mermaid rendered. Console/page errors: 0.
- Actual pixels inspected: 390px full lab, both static diagrams and Mermaid. Labels, half-open expiry, model/external/signature distinction and text bounds were readable without clipping. The native SVG full-page capture path stalled once; HTML-inline SVG captures completed and are the retained inspected evidence.
- Structural topic and playground validators passed with 0 errors/0 warnings before this receipt; rerun after final metadata/report copies confirms the final package.

Python source SHA256: `6097f8130c9158106e7c30361271fe642f19e0b5a785ad5b60d1246b107ebb48`.

TypeScript source SHA256: `7bb09c4c3c43737670804a53dcb4fecb60fe74a2ee16a30cb405cdef81da5afb`. The lab source metadata and browser receipt match this source exactly. Compiled temporary directories were removed after checked-boundary cleanup.

Public receipts: [full parity](parity-results.json), [browser checks](browser-qa.json), [strict data contract](DATA-CONTRACT.md), [canonical input](canonical-input.json), [complete canonical output](canonical-output.json). Raw screenshots and runnable QA remain in tests/evidence and tests/browser_qa.cjs in the canonical package.

Known limits: all provider/expectation receipts are supplied synthetic model evidence. JSON identity/provenance labels do not authenticate an independent observer. No real S3 bucket, version, retention deadline, provider availability, signature trust, complete current ledger tail or regulatory compliance is proven. Blockchain and variable/event-retention adapters remain unsupported comparisons. Owner/region/bucket grammar is a bounded identity profile, not a full provider bucket-creation validator.
