Skip to content

feat(transfer): support MCAP-only scanning and upload readiness #97

@05F3759DF

Description

@05F3759DF

Context

axon_transfer currently uses the presence of a matching JSON sidecar as the default signal that an MCAP recording is finalized and ready to upload. Once sidecar JSON is optional, transfer scanning needs a completion signal that does not depend on a .json file.

Scope

  • Support scanning completed MCAP recordings when no JSON sidecar is present.
  • Add or reuse a completion signal such as recorder state, a .done marker, SQLite state, or atomic final filename convention.
  • Preserve compatibility with existing require_json_sidecar deployments.
  • Ensure partially written MCAP files are not uploaded.
  • Update configuration and documentation for MCAP-only transfer mode.

Acceptance Criteria

  • Transfer can discover completed MCAP recordings without a JSON sidecar when configured for MCAP-only mode.
  • Transfer does not enqueue partially written recordings.
  • Existing JSON-sidecar-required behavior remains available.
  • Tests cover MCAP+JSON, MCAP-only complete, MCAP-only incomplete, and legacy require_json_sidecar behavior.

Depends On

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:metadataEpisode metadata, provenance, and schema completenessarea:uploadUpload queue, transfer, and sync workflowscppC++ codecross-repo:keystoneRequires coordination with archebase/keystoneenhancementNew 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