How to reason about it
- Every runner exposes value/output, diagnostics, status, warnings, declared resource observations, artifact identity, limits, and provenance through the versioned observation contract.
- LIL is a Lispex-written hosted interpreter and LIT is a Topaz-written transliteration. LIL currently supports all 205 primitive capability rows; LIT independently remains at 84 supported and 121 rejected.
- The installed-product receipt runs one host route per family over 144 cases. It records 253 family-pair agreements and 179 divergences; pairwise results are Rust/LIL 61/83, Rust/LIT 65/79, and LIL/LIT 127/17, with 59 all-family agreements.
- Separate bounded evidence seals LIT host agreement across interpreter, generated Rust, generated Python, and Web routes on a versioned four-host check surface.
- The Native
lispex.rust-engine-comparison/v1report separately compares the Rust tree and verified-bytecode VM engines. It preserves exact intermediate identities and fallback counters without adding a backend family. - The Native
lispex.topaz-vm-comparison/v1report separately compares one Lispex-derived bytecode artifact in the Rust and exact installed Topaz VMs. It records a separate VM lineage but does not rewrite the historical Rust/LIL/LIT family receipt. - The Native
lispex.route-comparison/v1receipt derives one source/Core IR/bytecode request and explicitly observes tree, Rust VM, exact Topaz VM, and the matching AOT product. It checks semantic axes and comparable bytecode-cost resources separately while leaving unavailable tree counters unavailable.
Why the 179 pair differences occur
Every pair in the historical receipt now has one deterministic primary classification. “Classified” means the cause is machine-visible; it does not mean the difference is accepted or fixed.
| Primary classification | Pairs | Reading |
|---|---|---|
capability-unsupported-loud | 115 | at least one bounded backend rejected a capability it does not implement |
different-disposition-known-defect | 46 | the backends reached different execution or error phases |
diagnostic-projection-difference | 2 | the execution disposition agrees but diagnostics or warnings differ |
host-resource-profile | 10 | the named resource surface or resource outcome differs |
semantic-mismatch | 6 | an observable same-disposition difference still needs investigation |
The complete accounting is 432 family pairs: 253 agreements, 179 divergences,
and zero unclassified current divergences. A newly observed mismatch starts
unclassified and fails closed until evidence assigns a reason.
Current backend status
| Surface | Implementation / provenance | Current evidence boundary |
|---|---|---|
| Native CLI | Rust reference with default tree and explicit verified-bytecode VM; same-origin-reference | current full Native CLI; VM has strict no-fallback selection |
| Rust engine comparison | tree and lispex-rust-vm/v1 sharing Rust values and primitive leaves | focused lispex.rust-engine-comparison/v1 observations and exact source/Core IR/bytecode identities; diagnostic only, outside the 144-case family receipt |
| Topaz VM comparison | built-in lispex-rust-vm/v1 and separately installed lispex-topaz-vm/v1; Topaz source is structurally separate and compiled by Topaz Rust Stage 0 | explicit macOS ARM64 lispex.topaz-vm-comparison/v1; exact product/request/result identities, full-u64 resources, zero fallback, diagnostic only, outside Vouch and the historical family receipt |
| Four-route court | Rust tree, built-in Rust VM, separately installed Topaz VM, and exact matching Topaz AOT; the two Topaz products retain their declared Rust Stage 0 production lineage | explicit macOS ARM64 lispex.route-comparison/v1; one derived request, exact products, semantic and comparable-resource axes, no-clobber, zero retry/fallback, diagnostic only, outside Vouch and the historical family receipt |
| Public WASM / Playground | same Rust lineage compiled to WASM | current same-origin observations; profile-specific limits |
| npm CLI | Node packaging around public WASM/JS surface | current packaging; command subset differs from native |
| Lispex-in-Lispex | Lispex-written hosted interpreter; one LIL implementation family | current capability contract: 205/205 rows, including all 18 guest-calling rows through guest-machine frames, four bounded private-effect output rows, three ordered warning-bearing aliases, and explicitly labelled character/string and advanced numeric host-kernel dependencies; the released 84-row joint-receipt snapshot has Rust/LIL agreement on 61 cases and divergence on 83 |
| Lispex-in-Topaz interpreter route | Topaz-written transliteration; one LIT family with no source-independence claim | 84/205 primitive capability rows; joint receipt pair Rust/LIT agrees on 65 cases and diverges on 79 |
| Lispex-in-Topaz host routes | the same canonical LIT source through interpreter, generated Rust, generated Python, and Web | bounded evidence seals a versioned four-host check surface |
| Rust/LIL/LIT joint receipt | three implementation families and one installed product route per family | 144 cases and 432 executions; 59 all-family agreements, 253 pair agreements, and 179 disclosed pair divergences |
| Scaled generated campaign | native and WASM routes of the same Rust implementation lineage | 11,088 stored cases; zero natural divergence and zero infrastructure failure; not the three-family receipt |
A common mistake
Host variants within the Rust reference, LIL, or LIT family are not independent witnesses. A structurally different VM inside Rust is still same-lineage. The Topaz VM adds a separate implementation lineage but not a proof, a machine-checked whole-profile equivalence claim, or an automatic fourth family in the older receipt.
Current boundaries
- No source-independence claim is made for LIT. The matrix is bounded to its recorded surface and does not establish whole-language semantic equivalence or no-divergence beyond it.
Keep going
Use this page while writing code. For a guided explanation, return to the syntax map or the corresponding manual.