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 fixed.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 a rebuild that matches the stored bytes exactly, 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 the image is fully proved, use it 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, color 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. The public WebAssembly build exposes the same Rust image operations for embedding, and the Playground wraps them in a local file UI. None of these ways of handling images adds Vouch authority.
- After the image is fully proved, 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.