The .rvcsi capture container and a deterministic replay CsiSource for rvCSI (ADR-095 FR1/FR10, D9).
A .rvcsi file is plain JSONL: the first line is a CaptureHeader (capture version, session/source ids, the source's AdapterProfile, the ValidationPolicy in force, calibration version, an opaque runtime-config blob, creation time); every subsequent line is one rvcsi_core::CsiFrame serialized as compact JSON. Simple, deterministic, append-friendly, debuggable with head / jq.
FileRecorder—create(path, &header)writes the header line;write_frame(&CsiFrame)appends one frame;finish()/flush()makes sure it hit disk.FileReplayAdapter— aCsiSourcethat replays a capture frame by frame, exactly as recorded: timestamps, ordering, and each frame'sValidationStatusare preserved verbatim (replay does not re-validate or re-order — it only deserializes). Carriesreplay_speedfor the daemon/CLI to pace with; the adapter itself never sleeps.
#![forbid(unsafe_code)].
[dependencies]
rvcsi-adapter-file = "0.3"Licensed under MIT OR Apache-2.0.