Skip to main content

Ravi Artifacts

ravi artifacts is Ravi’s generic artifact ledger. It stores durable outputs and their context so agents can inspect, reuse, edit, and explain artifacts later.

What It Stores

Each artifact can carry:
  • identity: id, optional semantic kind, title, summary, status, tags
  • file data: original path, blob-store copy, MIME type, size, sha256
  • generation context: provider, model, prompt, command, duration, tokens, and known cost when explicitly available
  • Ravi context: session, agent, task, run, turn, channel, account, chat, message
  • structured data: metadata, metrics, lineage, input, output
  • relationships: links to tasks, sessions, messages, projects, or arbitrary targets
  • audit events: created, updated, attached, archived
  • immutable versions: content snapshots with manifest data and version assets

Commands

All commands support typed --json output where applicable.

Versioning

Artifacts keep the mutable high-level record for current state, while versions snapshot content. Creating an artifact with a file, blob, URI, or structured output creates an initial version. Updating file/blob/URI/output content creates the next version. Metadata-only edits do not create a version unless you call ravi artifacts snapshot. Restoring a previous version reapplies that version to the current artifact and creates a new version for the restore, preserving the full history.

Image Integration

ravi image generate automatically creates one kind=image artifact per generated image. The image artifact records the generated file, blob copy, hash, provider/model, prompt, duration, usage/tokens when returned by the provider, and current Ravi session/channel context when available.

Provider Rule

There is no automatic provider fallback. If the selected provider fails, the command fails. To try another provider, retry explicitly with another --provider.