Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR-001: Pure Rust, No Mochi Dependency

Status: Accepted Date: 2026-04-17 Context: Q-E3, A-E3

Decision

Build all core components in Rust. Do not depend on Mochi (Mercury/Bake/SDSKV). Learn from Mochi’s design patterns (transport abstraction, composable services).

Rationale

  • Mochi has never been deployed in regulated environments (HIPAA/GDPR)
  • C/C++ FFI creates a FIPS compliance surface across two languages
  • Single-language FIPS module boundary is cleaner for certification
  • Rust ecosystem has the building blocks (aws-lc-rs for FIPS, tokio, tonic, openraft)
  • Weakest link is libfabric/CXI Rust binding — bounded scope, solvable

Consequences

  • Must build transport abstraction in Rust (kiseki-transport)
  • Must build chunk storage engine in Rust (kiseki-chunk)
  • Must build KV backend for log storage in Rust (RocksDB via rust-rocksdb, or sled)
  • libfabric-sys crate needed for Slingshot support (immature, may need contribution)