Skip to content
LimniFS

.adapters

Two paths.

LimniFS is multi-language by design. Choose the path that fits your adapter's goals: spec-only for the true spec-first oracle (audit-friendly, no external deps); Rust FFI/WASM wrap for fast shipping (Rust's performance in every language). Conformance vectors are black-box and work identically for both.

true oracle

Spec-only

Read SPEC.md. Implement the format in your target language. No LimniFS-supplied runtime; the spec is the contract. The Python reference reader is the canonical example.

  • Python (reference)
  • Ruby (community)
  • TypeScript (community)
fast to ship

Rust FFI / WASM wrap

Wrap limnifs-core via FFI (Ruby via the ffi gem) or WASM (TypeScript via wasm-bindgen output). One Rust implementation; every language benefits from its performance and audit surface.

  • Ruby (via ffi gem)
  • TypeScript (via wasm-bindgen)
  • C (direct extern)

.conformance · black-box protocol

Conformance vectors in limnifs/specwork via stdin/stdout: the harness feeds fixture bytes + operation script, the adapter produces outputs + identity hashes, the harness compares against the expected. Both adapter paths run through the same harness. Disagreement = spec gap, not adapter bug — until the spec is amended and the conformance suite updated.