Skip to main content

Put native recording behind a record-only store boundary

The native recorder writes arrival-ordered observations through a Rust RecordingStore boundary, with SQLite and MCAP as format-specific implementations. SQLite applies Mem2 storage codecs and preserves the existing Python-readable schema, while MCAP preserves wire payloads and maps source and reception time to MCAP publish and log time respectively, using indexed Zstd chunks. We chose format-native representations instead of forcing one encoded blob model onto both formats so SQLite remains interchangeable with existing Mem2 artifacts and MCAP remains a conventional transport capture; reading and replay stay outside this boundary until there is a concrete native consumer.