How to reason about it
- Create one page with
lispex image encode --source rule.lspx --out rule.lspx.png. Sources that need several pages require the canonical.lspx-images.zipdestination; a mismatched suffix fails before output. - Inspect format/profile identifiers, page count, exact-source identity, and every integrity commitment with
lispex image inspect --image rule.lspx.png; inspection never prints the source. - Recover byte-for-byte source with
lispex image decode --image rule.lspx.png --out recovered.lspx. Existing outputs are never overwritten. - Run only after full decoding, integrity checks, parity checks, and canonical regeneration equality with
lispex run --image rule.lspx.png. - Line endings, comments, spacing, and Unicode bytes survive the round trip exactly; the image represents source bytes, not only parsed forms.
- In the Playground, Create image uses the editor bytes, Open image proves a local PNG/ZIP before preview, page controls extract only proved PNG pages, Recover source changes the editor without running it, and Run image remains a separate explicit action.
- After complete canonical proof, use the image as Vouch source context with
--source-image. Image integrity alone is not provenance, trust, authentication, request binding, current execution agreement, or a gate grant.
Exact image commands
1. Encode exact source
SH
lispex image encode --source refund-window.lspx --out refund-window.lspx.png2. Inspect public commitments
SH
lispex image inspect --image refund-window.lspx.png3. Recover the exact bytes
SH
lispex image decode --image refund-window.lspx.png --out recovered.lspx4. Prove and run explicitly
SH
lispex run --image refund-window.lspx.pngA common mistake
Screenshots, resizing, colour conversion, metadata injection, recompression, page removal, and page reordering are rejected. This is an exact digital interchange format, not OCR or a camera-readable code.
Current boundaries
- An image is source-equivalent public data. It provides no secrecy, signature, provenance, freshness, trust, decision correctness, or execution authority.
- Native and npm expose the same file commands. Public WASM exposes the same Rust image operations for embedding, and the Playground wraps them in a local file UI. None of these image surfaces adds Vouch authority.
- After full canonical proof, Native accepts
--source-imagethroughout Vouch identity, policy, issue, inspect, authentication, re-execution, and gate. npm accepts it for identity, policy, and authenticated verification only. The separately supplied input and the existing request-bound authority chain remain mandatory.
Keep going
Once the workflow is comfortable, check the runtime chooser before moving it into a local tool or deployment.