Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions