src/abi/Types.idr— Nickel parser typessrc/abi/Layout.idr— Memory layoutsrc/abi/Foreign.idr— FFI declarations- No dangerous patterns in ABI layer
- Claims: type safety, memory safety, "zero
unsafeblocks"
- Parser correctness: Prove the Nickel parser accepts exactly the Nickel grammar (no over-acceptance of malformed input)
- Round-trip fidelity: Prove parse-then-serialize produces semantically equivalent output (no silent data loss)
- FFI memory safety: Prove the Zig FFI layer correctly manages ownership across the Rust-Zig-Deno/WASM boundary (no dangling pointers, no double-free)
- Zero-unsafe claim: Verify (via tooling or proof) that no
unsafeblocks exist in the Rust core and that all FFI crossing points are safe
- Idris2 — For parser grammar conformance and FFI boundary properties
- Lean4 — For algebraic properties of the parse/serialize round-trip if modeled functorially
- MEDIUM — The "zero unsafe blocks" and type safety claims are strong marketing. Parser correctness matters for any tool in the configuration pipeline, but Bunsenite is not safety-critical infrastructure.
Template ABI removed -- was creating false impression of formal verification. The removed files (Types.idr, Layout.idr, Foreign.idr) contained only RSR template scaffolding with unresolved {{PROJECT}}/{{AUTHOR}} placeholders and no domain-specific proofs.