How to reason about it
- Use Playground for zero-install evaluation, public WASM for browser embedding, npm for Node evaluation plus authenticated Vouch verify, inspect, and replay, and Native for signed issuance, current verifier re-execution, and the local decision gate.
- Pin package or binary identity in automation rather than relying on a mutable latest channel.
- Test the resource profile you deploy; equal language semantics do not imply equal recursion ceilings.
- Native and npm expose the same exact identities, policy create/check, and raw/unpinned/pinned authentication through shared Rust. Native alone can issue and consume request-bound evidence for re-execution or gate; public WASM and Playground expose no Vouch identity, authentication, or policy tooling.
- Use Native or npm for named-path Lispex Image commands. Use the Playground for a zero-install, browser-local workflow to create, open, preview, recover, download, and run an image, or embed the public WASM image API directly. These choices share one Rust codec and add no Vouch authority.
- Native can use a proved image throughout the Vouch chain. npm can derive the same source identity, create the same policy, and emit the same authentication report from an image, but still cannot issue, re-execute, gate, or promote a report. Public WASM and Playground perform local image operations without Vouch authentication.
- Use Native when you need to build, strictly validate, or inspect canonical Core IR. These commands expose resolved meaning without executing it. npm, public WASM, and Playground do not accept Core IR bytes.
- Use Native when you need a canonical bytecode artifact or an explicit
--engine vmrun. Tree remains the default Rust engine, and a requested VM failure never falls back. No other product surface reads or runs bytecode. - On Native macOS ARM64, use
--engine topaz --topaz-vm ROOTonly when you deliberately want the exact separately installed Topaz 5.11 VM. Usecompare-vmsfor explicit differential evidence. The route is not bundled, discovered, available on other platforms, or admitted into Vouch. - On Native macOS ARM64, use
lispex aotwhen you want a source-free executable produced from deterministic readable Topaz. You must pass the exact installed Topaz compiler and Rust tool directory at build time. Installed products run without either source tree and never fall back to a VM or tree. - Use Native
compare-routesafter building the matching AOT product when you need one no-clobber diagnostic receipt for tree, Rust VM, Topaz VM, and AOT. It derives the request once, rejects mismatched products before execution, and reports semantic and comparable-resource differences separately. - Use Native
vouch compiledonly when an existing request-bound Vouch flow must additionally require exact source-derived artifact integrity and current Rust VM agreement. It is explicit and never replaces source pins, authentication, or tree/Meaning agreement.
Runtime capabilities
| Surface | Available | Not available |
|---|---|---|
| Native | tree source evaluation by default; built-in Rust VM; canonical Core IR and bytecode tools; exact installed Topaz VM; exact installed-tool Topaz AOT and the explicit four-route comparison court on macOS ARM64; exact images; complete request-bound Vouch chain; explicit exact-source compiled artifact and Rust-VM gate | Topaz VM/AOT/court on non-macOS-ARM64 targets; automatic provider or compiler discovery; fallback; comparison, AOT, or Topaz results as Vouch ingress; unpinned bundle execution authority |
| npm CLI | source evaluation; exact images; source- or proved-image-backed identities, policy, authenticated raw/unpinned/pinned Vouch verify, structural inspect, corpus replay | Core IR, bytecode, AOT, or compiled-artifact reader/commands; VM engine; signed issuance; verifier re-execution; local gate; report promotion |
| Public WASM | embedded same-Rust source evaluation plus exact image APIs | Core IR, bytecode, or AOT API; VM engine; file UI; Vouch CLI, keys, authentication, re-execution, gate |
| Playground | zero-install local source execution and the complete local Exact Image workflow | Core IR, bytecode, or AOT import/inspection; VM engine; server upload; Vouch keys, authentication, re-execution, gate |
A common mistake
None of the Native, npm, WASM, or Playground Rust surfaces is an independent backend witness. Rust tree and Rust VM are same-lineage. The Topaz VM is a structurally separate source implementation, but its executable is compiled by Topaz Rust Stage 0; agreement is still bounded evidence rather than proof. The four-route court discloses this shared and separate lineage instead of turning agreement into proof. Unavailable commands and a requested route failure must not be simulated or silently downgraded.
Keep going
Once the workflow is comfortable, check the runtime chooser before moving it into a local tool or deployment.
Learning Path · Compile to Topaz AOT · Run Verified Bytecode