Context
Axon will make MCAP the source of truth for recording metadata and make JSON sidecars optional. Keystone should ingest MCAP files directly and reconstruct the existing sidecar-equivalent metadata from MCAP metadata records.
Scope
- Parse Axon MCAP metadata records for task, device, recording, and topic summary fields.
- Reconstruct the sidecar-equivalent metadata object from MCAP without requiring a
.json file.
- Store extracted fields in Keystone's recording or episode index model.
- Preserve compatibility with existing uploads that still include JSON sidecars.
- Surface extraction failures with actionable diagnostics.
Acceptance Criteria
- Keystone can ingest an MCAP-only upload and populate the same metadata fields previously provided by sidecar JSON, excluding checksum.
- Keystone handles task, device, recording, and topics summary metadata consistently.
- If both MCAP metadata and JSON sidecar are present, Keystone can compare or prefer a documented source without creating inconsistent records.
- Extraction failures are recorded and visible for operations diagnostics.
- Tests cover MCAP-only ingestion, MCAP+JSON compatibility, malformed metadata, missing optional fields, and topic summary parsing.
Related
Context
Axon will make MCAP the source of truth for recording metadata and make JSON sidecars optional. Keystone should ingest MCAP files directly and reconstruct the existing sidecar-equivalent metadata from MCAP metadata records.
Scope
.jsonfile.Acceptance Criteria
Related