You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Standing requirements catalogue. This file lists the proof obligations this repo
commits to carrying. For the live status of each (proven / tested / trusted, with
the adversarial-audit caveats), see PROOF-STATUS.md — that is the
authoritative tracker; this file is the more stable "what must exist and why".
Proof Tier
Tier: T2 — High. SNIF's entire value proposition is a safety claim (a guest fault
becomes {:error,_} and the BEAM survives), so the operational isolation theorem (SEC-1) and
the ABI boundary are load-bearing. It is not T1 only because the residual runtime-faithfulness
assumption (wasmtime ⊨ FaithfulRuntime) is explicitly trusted, not yet machine-verified —
which is exactly why the product is "Safer", not "Safe".
Ledgered out of current scope (named, not silently dropped):
zig/src/burble_fft.zig (fft/ifft/crash_oob_fft/test_constant): not built into any artifact dir, and its slice params are (ptr,len) marshalling = ABI-6 territory. Model once ABI-6 lands and the guest is built.
Rust guests: rust/crates/demo-guest (canonical, loaded by the demo) and the standalone rust-guest/ experiment share the buffer ABI; their conformance is pending the buffer-ABI multi-language gate (and the rust/ vs rust-guest/ relationship is documented, not merged — see PROOF-STATUS).
Dangerous Patterns (BANNED — scanned by just proof-scan-dangerous, part of the gate)
Pattern
Language
Meaning
believe_me
Idris2
Unsafe cast / trust-me
assert_total
Idris2
Skip totality check
postulate
Idris2/Agda
Unproven axiom (SEC-1's TCB is a record hypothesis, NOT a postulate — by design)
sorry
Lean4
Incomplete proof
Admitted
Coq
Incomplete proof
unsafeCoerce
Haskell
Unsafe type cast
Obj.magic
OCaml/ReScript
Unsafe type cast
unsafe (unaudited)
Rust
Unsafe block without safety comment
Prover Selection Guide
Use Case
Prover
Why
ABI/FFI boundaries
Idris2
Dependent types model layouts + signatures precisely
Public API type safety
Lean4
Algebraic/type metatheory
Operational isolation, (co)induction, the verdict bridge