Skip to content

feat(metadata): extract recording index metadata from MCAP #71

@05F3759DF

Description

@05F3759DF

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:metadataEpisode metadata, provenance, and schema completenessarea:uploadUpload queue, transfer, and sync workflowscross-repo:axonRequires coordination with archebase/axonenhancementNew feature or requestpriority:p1High priority for production operations

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions