Skip to content

manifest CLI: support auxiliary sidecars in create command #196

@Fieldnote-Echo

Description

@Fieldnote-Echo

Context

Once #194 adds library support for create-time auxiliary artifacts, the ordvec-manifest create CLI should expose the same capability. This would let downstream tools and smoke tests create bundle manifests such as index.tvrq + ids.bin + manifest.json without writing custom JSON mutation code.

This is useful for OrdinalDB, but the CLI should remain generic: it only records and verifies named sidecars by path/size/hash, not application-specific semantics.

Evidence

  • Current CLI Create command accepts --index, --row-map, --row-id-is-identity, --embedding-model, --out, and path-policy/limit flags, but no auxiliary sidecar flags: ordvec-manifest/src/main.rs:53-70.
  • The create branch calls create_manifest_for_index_with_options and writes the manifest directly: ordvec-manifest/src/main.rs:258-298.
  • Manifest creation currently emits an empty auxiliary_artifacts list: ordvec-manifest/src/lib.rs:3421-3427.

Proposed Shape

Sketch:

ordvec-manifest create \
  --index index.tvrq \
  --row-id-is-identity \
  --embedding-model model-name \
  --aux ordinaldb.ids=ids.bin:required \
  --out manifest.json

Flag spelling can vary. It should support at least name, path, and required/optional state. Media type / description are nice-to-have if already in schema.

Acceptance Criteria

  • CLI can add one or more named auxiliary artifacts during create.
  • CLI sidecars use the same path policy, hashing, and resource limits as the library API from manifest: support create-time auxiliary artifacts #194.
  • Duplicate auxiliary names fail clearly.
  • Missing required sidecars fail clearly at create time.
  • inspect / verify --json output shows sidecars in deterministic order.
  • Tests cover CLI success and failure cases.
  • Docs include a minimal sidecar bundle command.

Non-goals

  • No application-specific validation of sidecar payloads.
  • No OrdinalDB-only CLI flags.
  • No metadata database or activation policy changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions