Skip to content

manifest CLI: support auxiliary sidecars in create command #196

@Fieldnote-Echo

Description

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

    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