insonic · v0.0.0

JSON contracts

One versioned system schema

insonic uses JSON Schema Draft 2020-12 for configuration, import, artifact/metadata interchange, durable job events, graph queries and speaker-training/model manifests. A system-wide master schema contains a registry of all insonic-owned contracts and selects documents through their kind. Shared definitions provide consistent identifiers, digests, revisions and artifact references. Cueson retains its own immutable upstream subtitle schema; insonic references its validated artifacts without redefining that format.

The master and child schemas live in schemas/v<version>/. Every release has the same software, documentation and master-schema version. A document declares schema_version and kind; the registry resolves its exact child contract. Tagged canonical schema IDs identify release resources, and the packaged registry resolves them offline. Schema files carry descriptions and examples for fields and complete documents. The documentation build reads those fields to produce the contract reference below and packages the JSON files beside it.

Compatibility and evolution

Preserve backward and forward compatibility where practical. Prefer additive optional fields, stable meanings, explicit extension containers and migrations over silently changing existing values. Readers validate against the document's declared version and negotiate adapter capabilities. An unknown version is reported clearly; it is not silently interpreted with whichever schema is newest. Keep supported older registries available for imports and migrations. Unsupported features can remain preserved as opaque extension values where the contract permits them.

Compatibility is a priority, not an absolute prohibition on useful change. When a change breaks a consumer or persisted contract, describe the affected fields, supported source versions and migration/recovery path in the changelog and the brief release highlights. Release notes retain the final changelog link. A schema revision alone does not prove compatibility; validation and representative import/export/migration fixtures establish the supported combinations.

Validation and documentation

The repository checks master registration, matching release identities, schema validity, field descriptions and embedded examples. Every document example must validate both against its child schema and the master. Contract checks also reject malformed identities, contradictory inputs and mismatched kinds/versions. Structural validation is complemented by application checks for source ownership, time bounds, permissions, revision ordering and backend capabilities; JSON Schema cannot prove those relationships by itself.

The generated reference is read-only output. Edit descriptions, examples and field constraints in the authoritative JSON files, then rebuild documentation. The same packaged definitions serve CLI validation, adapter interchange and offline help. Catalog relationships, import behavior and speaker model lineage explain the domain rules around these payloads.

Contract reference

The versioned root of all insonic-owned interchange contracts. Each document identifies its kind and system schema version. Software, documentation and this registry share the same release version. Stable required fields define each operation while documented extension containers support adapter-specific values. Cueson documents retain their separate immutable upstream schema rather than being rewritten as an insonic format.

Download the master schema · Download shared definitions

The following definitions, descriptions and examples are generated from the versioned JSON Schema files during the documentation build.

insonic immutable artifact manifest

Portable inventory of complete immutable bytes. Hosted model handles without downloadable bytes belong in the speaker-model contract and are not invented digest entries here.

Download artifact-manifest.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of the insonic document contract.
kind Yes Constant "artifact-manifest" Document discriminator used by the master registry.
manifest_id Yes Reference: common.schema.json#/$defs/uuid Stable manifest identity.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace scope of all artifacts in this inventory.
created_at Yes Reference: common.schema.json#/$defs/utcInstant Creation audit instant, unrelated to recording origination.
catalog_revision No Reference: common.schema.json#/$defs/revision Catalog revision represented by this inventory when captured.
artifacts Yes array Complete artifact entries. Application validation additionally rejects repeated artifact IDs with conflicting content identity.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced additions preserved without changing the core contract.

artifacts

Complete artifact entries. Application validation additionally rejects repeated artifact IDs with conflicting content identity.

Value: array.

artifacts[]

One complete immutable artifact with portable byte identity and optional verified durable replicas.

Field Required Value Description Examples
artifact_id Yes Reference: common.schema.json#/$defs/uuid Stable artifact identity across moves and materializations.
sha256 Yes Reference: common.schema.json#/$defs/sha256 SHA-256 of the full admitted bytes.
byte_length Yes integer Length of the complete immutable bytes.
artifact_kind Yes "original-media", "supplied-subtitle", "metadata-report", "metadata-payload", "derived-audio", "transcript", "correlation", "training-manifest", "training-input", "training-checkpoint", "speaker-model", "query-result", "export", "other" Declared lifecycle role, separate from MIME type and model capabilities.
media_type Yes string Declared content type for this artifact. Incoming MIME observations and resolver disagreements remain in metadata records.
retention_class Yes "durable", "regenerable", "export" Retention category. Referenced durable evidence is not disposable scratch.
locations No array Verified durable locations when available. Availability and leases are runtime state, separate from content identity.
producer_run_id No Reference: common.schema.json#/$defs/uuid Producing processing/training run when this is derived output.
extensions No Reference: common.schema.json#/$defs/extensions Optional nonsecret artifact annotations.

artifacts[].locations

Verified durable locations when available. Availability and leases are runtime state, separate from content identity.

Value: array.

artifacts[].locations[]

Durable managed object location. Keys identify exact objects; credentials and cached materialization paths never appear here.

Field Required Value Description Examples
profile Yes Reference: common.schema.json#/$defs/backendProfileReference Profile selected to read this object.
storage_type Yes "filesystem", "s3" Official storage API used for the durable location.
key Yes string Managed relative filesystem key or immutable object key; no traversal or absolute path.
bucket No string S3 bucket containing the object; omitted for filesystem storage. "media-library"
version_id No string Provider object version identifier where supported; not a content digest. "version-1"
publication_receipt_id No Reference: common.schema.json#/$defs/uuid Receipt proving publication and verification before catalog admission.

All of the following constraints apply:

When storage_type is "s3":

Value: object.

Required fields: bucket.

Otherwise:

Disallowed combination: has bucket.

Example

{
  "schema_version": "0.0.0",
  "kind": "artifact-manifest",
  "manifest_id": "44444444-4444-4444-8444-444444444444",
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "created_at": {
    "iso": "2026-10-04T18:30:00Z",
    "unix_ns": 1791138600000000000
  },
  "artifacts": [
    {
      "artifact_id": "22222222-2222-4222-8222-222222222222",
      "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
      "byte_length": 4096,
      "artifact_kind": "metadata-report",
      "media_type": "application/json",
      "retention_class": "durable",
      "locations": [
        {
          "profile": {
            "profile_id": "33333333-3333-4333-8333-333333333333",
            "profile_revision": 1,
            "adapter_id": "filesystem"
          },
          "storage_type": "filesystem",
          "key": "objects/sha256/01/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
        }
      ]
    }
  ]
}

insonic saved graph query

Immutable saved query revision with either a portable QuerySpec or declared native dialect, typed parameters and explicit backend validation. Graph layout and pinned results are separate from evidence facts.

Download graph-query.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this insonic document contract.
kind Yes Constant "graph-query" Document discriminator registered by the master schema.
query_id Yes Reference: common.schema.json#/$defs/uuid Stable query identity across edited revisions.
revision Yes Reference: common.schema.json#/$defs/revision Immutable saved query revision.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace containing its referenced entities.
title Yes string Human-readable saved query title.
access_mode Yes "read-only", "maintenance" Ordinary exploration is read-only; maintenance is a separately explicit application operation.
definition Yes Exactly one alternative Exactly one normalized application specification or native dialect/text definition.
parameters Yes object Named typed parameters, passed as values rather than interpolated query text.
page No object Bounded result pagination with explicit truncation/cursor reporting.
validations Yes array Compatibility checks for selected backend versions. No entry means compatibility has not been established.
view No object Saved presentation settings that do not change graph facts.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced extension data without changing event/query authority.

definition

Exactly one normalized application specification or native dialect/text definition.

Exactly one of the following alternatives must match:

definition: normalized

Portable application QuerySpec compiled separately by each official graph adapter.

Field Required Value Description Examples
mode Yes Constant "normalized" Selects backend-neutral application operations.
operation Yes "media-list", "speaker-search", "model-list", "text-search", "time-range", "evidence-traverse", "graph-view" Supported normalized operation with identical intended results on LadybugDB and ArcadeDB.
filters No object Portable application filters. Unknown filters are rejected instead of ignored.
traversal No object Explicit bounded graph expansion, without an engine-specific query string.
order_by No array Deterministic ordering, with a stable entity-ID tie breaker added by the application if needed.

definition: normalized.filters

Portable application filters. Unknown filters are rejected instead of ignored.

Field Required Value Description Examples
media_ids No array Restrict to explicit media entries.
speaker_ids No array Current speaker/lineage filter.
text No string Text/term search phrase, interpreted by the selected normalized operation.
model_kind No string Declared trained-model kind filter.
recording_dates No object Origination calendar filter preserving timezone and undated handling.
source_interval No Reference: common.schema.json#/$defs/mediaInterval Original-clock interval filter; application checks source ownership and bounds.
concept_ids No array Concept filter for evidence/graph traversal.

definition: normalized.filters.media_ids

Restrict to explicit media entries.

Value: array.

definition: normalized.filters.media_ids[]

Selected library media entry ID.

Value: Reference: common.schema.json#/$defs/uuid.

definition: normalized.filters.speaker_ids

Current speaker/lineage filter.

Value: array.

definition: normalized.filters.speaker_ids[]

Selected catalog speaker ID.

Value: Reference: common.schema.json#/$defs/uuid.

definition: normalized.filters.recording_dates

Origination calendar filter preserving timezone and undated handling.

Field Required Value Description Examples
from No Reference: common.schema.json#/$defs/calendarDate Inclusive first recording date.
through No Reference: common.schema.json#/$defs/calendarDate Inclusive last recording date.
timezone No Reference: common.schema.json#/$defs/timezone Calendar timezone for this filter.
include_undated No boolean Explicitly include entries with unknown recording dates.

definition: normalized.filters.concept_ids

Concept filter for evidence/graph traversal.

Value: array.

definition: normalized.filters.concept_ids[]

Normalized concept ID.

Value: Reference: common.schema.json#/$defs/uuid.

definition: normalized.traversal

Explicit bounded graph expansion, without an engine-specific query string.

Field Required Value Description Examples
relationship_types No array Relationship types included in expansion.
direction Yes "out", "in", "both" Direction of selected relationships.
max_depth Yes integer Positive explicit traversal depth; application capacity policies remain visible.

definition: normalized.traversal.relationship_types

Relationship types included in expansion.

Value: array.

definition: normalized.traversal.relationship_types[]

Logical relationship type from the versioned projection schema.

Value: string.

definition: normalized.order_by

Deterministic ordering, with a stable entity-ID tie breaker added by the application if needed.

Value: array.

definition: normalized.order_by[]

One ordered result field.

Field Required Value Description Examples
field Yes "media.originated_at", "media.id", "speaker.id", "model.created_at", "model.id", "cue.start_us", "score" Normalized field available to the selected operation.
direction Yes "asc", "desc" Sort direction.

definition: native

Advanced query text with a declared dialect; arbitrary native text is not automatically portable.

Field Required Value Description Examples
mode Yes Constant "native" Selects a declared native query dialect.
dialect Yes string Official native dialect or explicitly namespaced unofficial community dialect.
text Yes string Native query text. Read-only or maintenance operation mode is enforced by the adapter and configured privileges.

definition: native.dialect

Official native dialect or explicitly namespaced unofficial community dialect.

Value: string.

At least one of the following alternatives must match:

definition: native.dialect: Alternative 1

Value: "ladybug-cypher", "arcade-opencypher", "arcade-sql".

definition: native.dialect: Alternative 2

Value: string.

parameters

Named typed parameters, passed as values rather than interpolated query text.

Value: object.

parameters{name}

Typed native-query parameter normalized by the selected adapter.

Field Required Value Description Examples
type Yes "string", "integer", "number", "boolean", "uuid", "date-time", "date", "array", "object", "null" Logical parameter type, independent of backend value wrappers.
value Yes At least one alternative Parameter value matching its declared logical type; native adapters validate any narrower backend constraints.

parameters{name}.value

Parameter value matching its declared logical type; native adapters validate any narrower backend constraints.

At least one of the following alternatives must match:

parameters{name}.value: Alternative 1

Value: string.

parameters{name}.value: Alternative 2

Value: number.

parameters{name}.value: Alternative 3

Value: boolean.

parameters{name}.value: Alternative 4

Value: null.

parameters{name}.value: Alternative 5

Value: array.

parameters{name}.value: Alternative 6

Value: object.

All of the following constraints apply:

When type is "string":

Field Required Value Description Examples
value No string Value with the declared string JSON type.

When type is "integer":

Field Required Value Description Examples
value No integer Value with the declared integer JSON type.

When type is "number":

Field Required Value Description Examples
value No number Value with the declared number JSON type.

When type is "boolean":

Field Required Value Description Examples
value No boolean Value with the declared boolean JSON type.

When type is "uuid":

Field Required Value Description Examples
value No Reference: common.schema.json#/$defs/uuid UUID parameter value.

When type is "date-time":

Field Required Value Description Examples
value No Reference: common.schema.json#/$defs/utcInstant UTC instant parameter value.

When type is "date":

Field Required Value Description Examples
value No Reference: common.schema.json#/$defs/calendarDate Date-only parameter value.

When type is "array":

Field Required Value Description Examples
value No array Value with the declared array JSON type.

When type is "object":

Field Required Value Description Examples
value No object Value with the declared object JSON type.

When type is "null":

Field Required Value Description Examples
value No null Value with the declared null JSON type.

page

Bounded result pagination with explicit truncation/cursor reporting.

Field Required Value Description Examples
limit Yes integer Requested positive result count.
cursor No string Opaque continuation cursor bound to the query/revision and its validated parameters.

validations

Compatibility checks for selected backend versions. No entry means compatibility has not been established.

Value: array.

validations[]

Recorded compatibility check for one backend/schema/capability target.

Field Required Value Description Examples
target_profile Yes Reference: common.schema.json#/$defs/backendProfileReference Target graph backend profile.
adapter_id Yes "ladybugdb", "arcadedb", "community" Adapter that performed or awaits compatibility validation.
catalog_schema_version Yes string Catalog schema contract used by validation.
projection_schema_version Yes string Graph projection schema version used by validation.
status Yes "validated", "incompatible", "pending" Validation state; incompatible native text remains stored with diagnostics.
backend_version No string Exact engine/server version evaluated.
capability_fingerprint No Reference: common.schema.json#/$defs/sha256 Digest of the evaluated canonical capability contract.
validated_at No Reference: common.schema.json#/$defs/utcInstant Audit instant for the completed compatibility check.
diagnostics No array Reasons a saved query is incompatible or limited.

validations[].diagnostics

Reasons a saved query is incompatible or limited.

Value: array.

validations[].diagnostics[]

Readable compatibility finding.

Value: string.

All of the following constraints apply:

When status is "validated":

Value: object.

Required fields: backend_version, capability_fingerprint, validated_at.

view

Saved presentation settings that do not change graph facts.

Field Required Value Description Examples
layout Yes "force-directed", "table" Graph presentation and its accessible table alternative.
positions No array Saved display positions separate from node data.
pinned_result No Reference: common.schema.json#/$defs/artifactReference Optional immutable result snapshot; its manifest records catalog/projection checkpoints.

view.positions

Saved display positions separate from node data.

Value: array.

view.positions[]

Position of one stable catalog node ID.

Field Required Value Description Examples
node_id Yes Reference: common.schema.json#/$defs/uuid Stable application graph entity ID.
x Yes number Horizontal layout coordinate.
y Yes number Vertical layout coordinate.

Example

{
  "schema_version": "0.0.0",
  "kind": "graph-query",
  "query_id": "dddddddd-dddd-4ddd-8ddd-dddddddddddd",
  "revision": 1,
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "title": "Speaker evidence",
  "access_mode": "read-only",
  "definition": {
    "mode": "normalized",
    "operation": "evidence-traverse",
    "filters": {
      "speaker_ids": [
        "eeeeeeee-eeee-4eee-8eee-eeeeeeeeeeee"
      ]
    },
    "traversal": {
      "direction": "both",
      "max_depth": 2
    }
  },
  "parameters": {},
  "page": {
    "limit": 100
  },
  "validations": [],
  "view": {
    "layout": "force-directed",
    "positions": []
  }
}

insonic import manifest

Batch import input for the CLI and its GUI wrapper. Syntax validation precedes application validation of source access, calendar values, timezone/DST policy and admission. No approval per item is required for already configured routing.

Download import-manifest.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of the insonic document contract.
kind Yes Constant "import-manifest" Document discriminator used by the master registry.
defaults No object Batch defaults, overridden by explicit per-item fields. Date and timestamp are mutually exclusive within this object.
items Yes array Inputs in deterministic admission order, with independent partial-result reporting.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced additions preserved without changing the core contract.

defaults

Batch defaults, overridden by explicit per-item fields. Date and timestamp are mutually exclusive within this object.

Field Required Value Description Examples
originated_at No Reference: common.schema.json#/$defs/wallTimestamp Entered recording timestamp, distinct from import, publication and file modification times.
originated_on No Reference: common.schema.json#/$defs/calendarDate Entered recording date when the recording time is unknown.
timezone No Reference: common.schema.json#/$defs/timezone Timezone for unzoned recording timestamps; local is resolved once for the batch.
dst_fold No "earlier", "later" Explicit choice of offset for an ambiguous repeated daylight-saving wall time.
dst_gap No Constant "shift-forward" Explicit policy to resolve a nonexistent wall time by shifting forward; absent means no silent correction.
copy No boolean True admits a managed copy into the selected artifact store; false keeps an explicitly tracked local reference.
preset No string Configured processing/import preset name or ID; does not embed provider configuration. "local"
extensions No Reference: common.schema.json#/$defs/extensions Optional nonsecret input annotations.

Disallowed combination: has originated_at, originated_on.

items

Inputs in deterministic admission order, with independent partial-result reporting.

Value: array.

items[]

One ordered source input. Per-item fields override batch defaults. Source and subtitle paths resolve relative to the manifest unless explicitly absolute.

Field Required Value Description Examples
source Yes string Local source path or acquisition-adapter source locator. Credentials and temporary signed URLs must be resolved separately. "audio/session.wav"
subtitle No string Optional supplied subtitle path attached to this item; missing subtitles do not block import. "video/session.srt"
originated_at No Reference: common.schema.json#/$defs/wallTimestamp Entered recording timestamp, distinct from import, publication and file modification times.
originated_on No Reference: common.schema.json#/$defs/calendarDate Entered recording date when the recording time is unknown.
timezone No Reference: common.schema.json#/$defs/timezone Timezone for unzoned recording timestamps; local is resolved once for the batch.
dst_fold No "earlier", "later" Explicit choice of offset for an ambiguous repeated daylight-saving wall time.
dst_gap No Constant "shift-forward" Explicit policy to resolve a nonexistent wall time by shifting forward; absent means no silent correction.
copy No boolean True admits a managed copy into the selected artifact store; false keeps an explicitly tracked local reference.
preset No string Configured processing/import preset name or ID; does not embed provider configuration. "local"
extensions No Reference: common.schema.json#/$defs/extensions Optional nonsecret input annotations.

Disallowed combination: has originated_at, originated_on.

Example

{
  "schema_version": "0.0.0",
  "kind": "import-manifest",
  "defaults": {
    "copy": true,
    "timezone": "America/New_York",
    "preset": "local"
  },
  "items": [
    {
      "source": "audio/session.wav",
      "originated_at": "2026-10-04T14:30:00"
    },
    {
      "source": "video/session.mp4",
      "originated_on": "2026-10-03",
      "subtitle": "video/session.srt"
    }
  ]
}

insonic durable job event

Versioned ordered event for a durable job/attempt. Event syntax does not establish a committed catalog or graph result: publication receipts/checkpoints and application state transitions retain that authority.

Download job-event.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this insonic document contract.
kind Yes Constant "job-event" Document discriminator registered by the master schema.
event_id Yes Reference: common.schema.json#/$defs/uuid Idempotent event identity for replay/deduplication.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace scope of the job.
job_id Yes Reference: common.schema.json#/$defs/uuid Stable durable job identity.
sequence Yes Reference: common.schema.json#/$defs/revision Strictly increasing sequence within this job event stream; application rejects duplicate/conflicting sequence content.
occurred_at Yes Reference: common.schema.json#/$defs/utcInstant UTC audit instant emitted by the runtime.
event_type Yes "queued", "attempt-started", "stage-started", "progress", "artifact-published", "checkpoint", "completed", "failed", "cancelled", "publication-pending" Declared event type controlling required detail fields.
state Yes "queued", "running", "waiting", "cancelling", "cancelled", "failed", "succeeded", "publication-pending" Durable application job state after the event; application enforces valid transitions.
attempt_id No Reference: common.schema.json#/$defs/uuid Producing attempt identity, absent before the first claim.
attempt_number No integer One-based attempt count for this job.
claim_generation No Reference: common.schema.json#/$defs/revision Fencing generation of the worker claim; stale claims cannot commit newer state.
stage_id No string Capability stage producing this event.
progress No object Adapter-reported progress; absence is distinct from zero progress.
artifact_refs No array Immutable artifact references produced by this event, not temporary paths.
checkpoint_id No Reference: common.schema.json#/$defs/uuid Catalog checkpoint record ID, including hosted checkpoints without downloadable bytes.
error No object Redacted actionable failure details; unknown commit outcomes remain explicitly reconcilable.
publication No object Catalog-to-graph publication state associated with this event.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced extension data without changing event/query authority.

progress

Adapter-reported progress; absence is distinct from zero progress.

Field Required Value Description Examples
fraction No number Fraction complete when the adapter supplies a meaningful denominator.
completed_units No number Nonnegative completed work quantity.
total_units No number Positive expected quantity when known; application additionally checks completed <= total.
unit No string Unit for quantities, such as seconds, segments or training steps.
message No string Plain-language progress message excluding secrets and full source/transcript payloads.

artifact_refs

Immutable artifact references produced by this event, not temporary paths.

Value: array.

artifact_refs[]

Published logical artifact reference.

Value: Reference: common.schema.json#/$defs/artifactReference.

error

Redacted actionable failure details; unknown commit outcomes remain explicitly reconcilable.

Field Required Value Description Examples
category Yes "source-unavailable", "storage-unavailable", "catalog-unavailable", "graph-unavailable", "decode-failure", "capacity", "model-unavailable", "authentication", "quota", "invalid-output", "cancelled", "unknown-commit", "other" Failure boundary used by recovery and user guidance.
code Yes string Stable adapter/application error code.
message Yes string Readable next-action message without credential values or whole transcripts.
retryable Yes boolean Whether the configured retry policy can retry this operation without rerouting.
operation_id No Reference: common.schema.json#/$defs/uuid Operation receipt to reconcile when commit status is unknown.

publication

Catalog-to-graph publication state associated with this event.

Field Required Value Description Examples
catalog_revision Yes Reference: common.schema.json#/$defs/revision Exact accepted catalog revision awaiting or completing projection.
target_profile Yes Reference: common.schema.json#/$defs/backendProfileReference Selected graph projection target.
status Yes "pending", "committed", "reconciling" Publication state; committed means the matching checkpoint has been verified.

All of the following constraints apply:

When event_type is "queued":

Field Required Value Description Examples
state No Constant "queued" Durable application job state after the event; application enforces valid transitions.

When event_type matches "attempt-started", "stage-started", "progress", "artifact-published", "checkpoint":

Value: object.

Required fields: attempt_id, attempt_number, claim_generation.

When event_type is "progress":

Value: object.

Required fields: progress.

When event_type is "artifact-published":

Field Required Value Description Examples
artifact_refs Yes array Immutable artifact references produced by this event, not temporary paths.

When event_type is "checkpoint":

Value: object.

Required fields: checkpoint_id.

When event_type is "completed":

Field Required Value Description Examples
state No Constant "succeeded" Durable application job state after the event; application enforces valid transitions.

When event_type is "failed":

Field Required Value Description Examples
state No Constant "failed" Durable application job state after the event; application enforces valid transitions.

When event_type is "cancelled":

Field Required Value Description Examples
state No Constant "cancelled" Durable application job state after the event; application enforces valid transitions.

When event_type is "publication-pending":

Field Required Value Description Examples
state No Constant "publication-pending" Durable application job state after the event; application enforces valid transitions.
publication Yes object Catalog-to-graph publication state associated with this event.

publication

Catalog-to-graph publication state associated with this event.

Field Required Value Description Examples
status No "pending", "reconciling" Publication state; committed means the matching checkpoint has been verified.

Example

{
  "schema_version": "0.0.0",
  "kind": "job-event",
  "event_id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "job_id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
  "sequence": 3,
  "occurred_at": {
    "iso": "2026-10-04T18:32:00Z",
    "unix_ns": 1791138720000000000
  },
  "event_type": "progress",
  "state": "running",
  "attempt_id": "cccccccc-cccc-4ccc-8ccc-cccccccccccc",
  "attempt_number": 1,
  "claim_generation": 1,
  "stage_id": "transcribe",
  "progress": {
    "fraction": 0.5,
    "completed_units": 30,
    "total_units": 60,
    "unit": "seconds"
  }
}

insonic early media metadata snapshot

Immutable capture attempt bound to original media before transformations. It preserves raw extractor reports, qualified normalized observations, MIME interpretations and recording-date precision. Missing metadata differs from unsupported extraction or failure.

Download metadata-snapshot.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this capture contract.
kind Yes Constant "metadata-snapshot" Document discriminator used by the master registry.
snapshot_id Yes Reference: common.schema.json#/$defs/uuid Stable identity of the immutable capture snapshot.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace scope of the inspected source and observations.
source_asset_id Yes Reference: common.schema.json#/$defs/uuid Stable inspected original asset identity.
source_artifact Yes Reference: common.schema.json#/$defs/artifactReference Exact inspected original bytes, with complete digest and length.
captured_at Yes Reference: common.schema.json#/$defs/utcInstant Audit instant of this extraction attempt, not the recording date.
capture_state Yes "captured", "no-embedded-metadata", "partial", "unsupported", "failed" Explicit capture coverage/outcome. Only successful empty extraction establishes no-embedded-metadata.
extractor Yes object Exact capture tool/method and effective nonsecret options.
reports Yes array Immutable complete raw report/payload references when capture produced output.
observations Yes array Qualified normalized tag facts derived from retained raw reports.
mime_resolution No object Separate source observations and selected preferred MIME interpretation, preserving disagreements.
origination_observations No array Recording-date observations at admission. Mutable current selection lives in catalog revisions.
coverage Yes object Capture completeness details without claiming every format has EXIF.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced nonsecret capture annotations.

source_artifact

Exact inspected original bytes, with complete digest and length.

Value: Reference: common.schema.json#/$defs/artifactReference.

All of the following constraints apply:

source_artifact: Alternative 1

Value: object.

Required fields: sha256, byte_length.

extractor

Exact capture tool/method and effective nonsecret options.

Field Required Value Description Examples
extractor_id Yes string Extractor identity such as exiftool or ffprobe.
version Yes string Exact tool version used for this attempt.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Capture options, including duplicate/group preservation and explicit limits.

reports

Immutable complete raw report/payload references when capture produced output.

Value: array.

reports[]

Immutable raw extractor report or retained metadata payload. Application admission verifies complete digest and size.

Value: Reference: common.schema.json#/$defs/artifactReference.

All of the following constraints apply:

reports[]: Alternative 1

Value: object.

Required fields: sha256, byte_length.

observations

Qualified normalized tag facts derived from retained raw reports.

Value: array.

observations[]

A qualified incoming tag instance and normalized interpretation. Raw source content is evidence, never runtime instructions.

Field Required Value Description Examples
observation_id Yes Reference: common.schema.json#/$defs/uuid Stable identity for this observed tag instance.
family Yes string Metadata family such as EXIF, XMP, ID3, RIFF/BWF or container.
group_path Yes array Ordered qualified group path retaining otherwise colliding tag names.
tag Yes string Tag name exactly qualified by group_path.
occurrence Yes integer Zero-based duplicate instance within the qualified tag path.
raw_value No At least one alternative Original JSON-representable value without replacing it with the normalized interpretation.
payload_artifact No Reference: common.schema.json#/$defs/artifactReference Immutable raw extractor report or retained metadata payload. Application admission verifies complete digest and size.
raw_report_pointer No string Optional pointer into a retained report, using that extractor's documented structure.
normalized No object Typed normalized value with method provenance; complete raw values remain separate.
warnings No array Uncertainty and coverage warnings associated with this observation.

observations[].group_path

Ordered qualified group path retaining otherwise colliding tag names.

Value: array.

observations[].group_path[]

One instance-qualified metadata group component.

Value: string.

observations[].raw_value

Original JSON-representable value without replacing it with the normalized interpretation.

At least one of the following alternatives must match:

observations[].raw_value: Alternative 1

Value: string.

observations[].raw_value: Alternative 2

Value: number.

observations[].raw_value: Alternative 3

Value: boolean.

observations[].raw_value: Alternative 4

Value: null.

observations[].raw_value: Alternative 5

Value: object.

observations[].raw_value: Alternative 6

Value: array.

observations[].payload_artifact

Immutable raw extractor report or retained metadata payload. Application admission verifies complete digest and size.

Value: Reference: common.schema.json#/$defs/artifactReference.

All of the following constraints apply:

observations[].payload_artifact: Alternative 1

Value: object.

Required fields: sha256, byte_length.

observations[].normalized

Typed normalized value with method provenance; complete raw values remain separate.

Field Required Value Description Examples
value_type Yes "text", "integer", "number", "boolean", "instant", "date", "bytes", "object", "list", "unknown" Declared logical type for value.
value Yes At least one alternative Normalized value matching value_type; adapter/application validation enforces domain-specific semantics.
method Yes string Normalization resolver/method identity.
method_version Yes string Version of the normalization method.
units No string Explicit units where relevant.
precision No string Declared source precision; normalization does not invent greater precision.

observations[].normalized.value

Normalized value matching value_type; adapter/application validation enforces domain-specific semantics.

At least one of the following alternatives must match:

observations[].normalized.value: Alternative 1

Value: string.

observations[].normalized.value: Alternative 2

Value: number.

observations[].normalized.value: Alternative 3

Value: boolean.

observations[].normalized.value: Alternative 4

Value: null.

observations[].normalized.value: Alternative 5

Value: object.

observations[].normalized.value: Alternative 6

Value: array.

All of the following constraints apply:

When value_type is "text":

Field Required Value Description Examples
value No string Value normalized as text; raw observations remain preserved independently.

When value_type is "integer":

Field Required Value Description Examples
value No integer Value normalized as integer; raw observations remain preserved independently.

When value_type is "number":

Field Required Value Description Examples
value No number Value normalized as number; raw observations remain preserved independently.

When value_type is "boolean":

Field Required Value Description Examples
value No boolean Value normalized as boolean; raw observations remain preserved independently.

When value_type is "instant":

Field Required Value Description Examples
value No Reference: common.schema.json#/$defs/utcInstant Value normalized as instant; raw observations remain preserved independently.

When value_type is "date":

Field Required Value Description Examples
value No Reference: common.schema.json#/$defs/calendarDate Value normalized as date; raw observations remain preserved independently.

When value_type is "bytes":

Field Required Value Description Examples
value No string Value normalized as bytes; raw observations remain preserved independently.

When value_type is "object":

Field Required Value Description Examples
value No object Value normalized as object; raw observations remain preserved independently.

When value_type is "list":

Field Required Value Description Examples
value No array Value normalized as list; raw observations remain preserved independently.

When value_type is "unknown":

Field Required Value Description Examples
value No null Value normalized as unknown; raw observations remain preserved independently.

observations[].warnings

Uncertainty and coverage warnings associated with this observation.

Value: array.

observations[].warnings[]

Readable coverage or interpretation warning without credentials.

Value: string.

At least one of the following alternatives must match:

observations[]: Alternative 1

Value: object.

Required fields: raw_value.

observations[]: Alternative 2

Value: object.

Required fields: payload_artifact.

mime_resolution

Separate source observations and selected preferred MIME interpretation, preserving disagreements.

Field Required Value Description Examples
resolver_id Yes string MIME resolver identity.
resolver_version Yes string MIME resolver version.
preferred_mime_type Yes string Selected useful MIME type, without discarding conflicting observations.
disagreement Yes boolean Whether observed source/type facts disagree.
observations Yes array Observed file/type facts with their distinct origins.

mime_resolution.observations

Observed file/type facts with their distinct origins.

Value: array.

mime_resolution.observations[]

One type observation.

Field Required Value Description Examples
basis Yes "filename-extension", "acquisition-declared", "byte-detected", "extractor-file-type", "probed-container", "owner" Origin of the type fact.
value Yes string Original observed extension/type/container value.
metadata_observation_id No Reference: common.schema.json#/$defs/uuid Related detailed tag/probe observation if present.

origination_observations

Recording-date observations at admission. Mutable current selection lives in catalog revisions.

Value: array.

origination_observations[]

Immutable origination observation retaining the received/entered literal and its explicit timezone interpretation.

Field Required Value Description Examples
observation_id Yes Reference: common.schema.json#/$defs/uuid Stable date-observation identity.
basis Yes "owner", "embedded", "interpretation-policy" Source of this recording-date assertion, separate from import/publication times.
metadata_observation_id No Reference: common.schema.json#/$defs/uuid Supporting embedded tag observation when available.
entered_literal Yes string Original entered or received date/time text, preserved before interpretation.
precision Yes "instant", "day", "month", "year", "range", "unknown" Precision actually supplied by the owner/source; date-only inputs are not recording instants.
interpretation_state Yes "resolved", "date-only", "approximate", "ambiguous", "nonexistent", "invalid", "unknown" Resolution result, including explicit DST/parse uncertainty.
wall_time No Reference: common.schema.json#/$defs/wallTimestamp Parsed wall timestamp, including a supplied offset when present.
timezone No Reference: common.schema.json#/$defs/timezone Captured effective IANA zone or offset; the unresolved selector local is not valid in an immutable interpreted snapshot.
zone_source No "entered", "embedded", "import-policy", "unknown" Basis for the effective zone.
resolved_offset No string Numeric offset selected for the interpreted wall time.
timezone_database_version No string IANA rule database version used for regional-zone interpretation.
calendar_date No Reference: common.schema.json#/$defs/calendarDate Normalized date with day precision, without inventing a known recording time.
calendar_month No string Normalized calendar month when day precision is unavailable.
calendar_year No integer Normalized year when month/day precision is unavailable.
utc_instant No Reference: common.schema.json#/$defs/utcInstant Resolved precise recording instant, present only for instant precision.
bounds No object Optional UTC interpretation bounds for an approximate period. Application checks ordering and preserves the calendar precision.
policy_version Yes string Date candidate/timezone interpretation policy version.
assumption_flags No array Visible assumptions such as a batch-timezone interpretation.

origination_observations[].timezone

Captured effective IANA zone or offset; the unresolved selector local is not valid in an immutable interpreted snapshot.

Value: Reference: common.schema.json#/$defs/timezone.

All of the following constraints apply:

origination_observations[].timezone: Alternative 1

Disallowed combination: the condition matches.

origination_observations[].bounds

Optional UTC interpretation bounds for an approximate period. Application checks ordering and preserves the calendar precision.

Field Required Value Description Examples
earliest No Reference: common.schema.json#/$defs/utcInstant Earliest supported UTC bound.
latest No Reference: common.schema.json#/$defs/utcInstant Latest supported UTC bound.

At least one of the following alternatives must match:

origination_observations[].bounds: Alternative 1

Value: object.

Required fields: earliest.

origination_observations[].bounds: Alternative 2

Value: object.

Required fields: latest.

origination_observations[].assumption_flags

Visible assumptions such as a batch-timezone interpretation.

Value: array.

origination_observations[].assumption_flags[]

Explicit assumption applied during interpretation.

Value: string.

All of the following constraints apply:

When precision is "day":

Value: object.

Required fields: calendar_date.

Disallowed combination: has utc_instant.

When precision is "month":

Value: object.

Required fields: calendar_month.

Disallowed combination: has utc_instant.

When precision is "year":

Value: object.

Required fields: calendar_year.

Disallowed combination: has utc_instant.

When precision is "range":

Value: object.

Required fields: bounds.

Disallowed combination: has utc_instant.

When interpretation_state is "resolved":

Field Required Value Description Examples
precision No Constant "instant" Declared source precision; normalization does not invent greater precision.

When interpretation_state matches "ambiguous", "nonexistent", "invalid", "unknown":

Disallowed combination: has utc_instant.

When precision matches Structured value:

Disallowed combination: has utc_instant.

When interpretation_state is "date-only":

Field Required Value Description Examples
precision No "day", "month", "year" Declared source precision; normalization does not invent greater precision.

coverage

Capture completeness details without claiming every format has EXIF.

Field Required Value Description Examples
families Yes array Families actually inspected.
truncated Yes boolean Whether limits omitted source fields/payloads.
warnings Yes array Recorded coverage and error warnings.

coverage.families

Families actually inspected.

Value: array.

coverage.families[]

Metadata family inspected.

Value: string.

coverage.warnings

Recorded coverage and error warnings.

Value: array.

coverage.warnings[]

Readable extraction limitation or failure description.

Value: string.

All of the following constraints apply:

When capture_state matches "captured", "no-embedded-metadata", "partial":

Field Required Value Description Examples
reports No array Immutable complete raw report/payload references when capture produced output.

When capture_state is "no-embedded-metadata":

Field Required Value Description Examples
observations No array Qualified normalized tag facts derived from retained raw reports.
coverage No object Capture completeness details without claiming every format has EXIF.

coverage

Capture completeness details without claiming every format has EXIF.

Field Required Value Description Examples
truncated No Constant false Whether limits omitted source fields/payloads.

When capture_state is "captured":

Field Required Value Description Examples
coverage No object Capture completeness details without claiming every format has EXIF.

coverage

Capture completeness details without claiming every format has EXIF.

Field Required Value Description Examples
truncated No Constant false Whether limits omitted source fields/payloads.

When coverage matches object:

Field Required Value Description Examples
capture_state No Constant "partial" Explicit capture coverage/outcome. Only successful empty extraction establishes no-embedded-metadata.

Example

{
  "schema_version": "0.0.0",
  "kind": "metadata-snapshot",
  "snapshot_id": "77777777-7777-4777-8777-777777777777",
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "source_asset_id": "88888888-8888-4888-8888-888888888888",
  "source_artifact": {
    "artifact_id": "99999999-9999-4999-8999-999999999999",
    "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
    "byte_length": 1048576
  },
  "captured_at": {
    "iso": "2026-10-04T18:31:00Z",
    "unix_ns": 1791138660000000000
  },
  "capture_state": "captured",
  "extractor": {
    "extractor_id": "metadata-adapter",
    "version": "1",
    "options": {
      "qualified_groups": true
    }
  },
  "reports": [
    {
      "artifact_id": "22222222-2222-4222-8222-222222222222",
      "sha256": "abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789",
      "byte_length": 4096
    }
  ],
  "observations": [
    {
      "observation_id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
      "family": "container",
      "group_path": [
        "QuickTime",
        "Movie"
      ],
      "tag": "CreateDate",
      "occurrence": 0,
      "raw_value": "2026:10:04 14:30:00",
      "normalized": {
        "value_type": "text",
        "value": "2026:10:04 14:30:00",
        "method": "preserve-literal",
        "method_version": "1"
      }
    }
  ],
  "mime_resolution": {
    "resolver_id": "media-type",
    "resolver_version": "1",
    "preferred_mime_type": "video/mp4",
    "disagreement": false,
    "observations": [
      {
        "basis": "byte-detected",
        "value": "video/mp4"
      }
    ]
  },
  "origination_observations": [
    {
      "observation_id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
      "basis": "owner",
      "entered_literal": "2026-10-04",
      "precision": "day",
      "interpretation_state": "date-only",
      "calendar_date": "2026-10-04",
      "timezone": "America/New_York",
      "zone_source": "import-policy",
      "policy_version": "1"
    }
  ],
  "coverage": {
    "families": [
      "container"
    ],
    "truncated": false,
    "warnings": []
  }
}

insonic pipeline configuration

Immutable revision of a user-selected capability pipeline. CLI and GUI use this same configuration; local and hosted routes, preparation/training capabilities and credential IDs are explicit.

Download pipeline-config.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this public insonic contract.
kind Yes Constant "pipeline-config" Document discriminator selected by the master registry.
pipeline_id Yes Reference: common.schema.json#/$defs/uuid Stable pipeline identity across configuration revisions.
revision Yes Reference: common.schema.json#/$defs/revision Immutable pipeline revision selected by jobs.
display_name Yes string Human-readable pipeline name.
stages Yes array Stage declarations with stable IDs. Application validation constructs a dependency graph and verifies effective options.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced nonsecret extension data.

stages

Stage declarations with stable IDs. Application validation constructs a dependency graph and verifies effective options.

Value: array.

stages[]

One capability stage. Dependencies, adapter capability compatibility and binding existence are checked before a job starts.

Field Required Value Description Examples
stage_id Yes string Unique stage ID used by dependencies and input bindings. "transcribe"
capability Yes "acquisition", "metadata-capture", "audio-prepare", "transcription", "diarization", "subtitle-normalization", "speaker-attribution", "chunking", "assertion-extraction", "embedding", "speaker-model-prepare", "speaker-model-train", "query-assistance" Processing capability requested from the chosen adapter.
adapter_id Yes string User-selected local or hosted adapter identity. "faster-whisper"
adapter_contract_version Yes string Exact adapter protocol version used for request/results. "1"
execution Yes object Explicit local or hosted routing; failure never selects an unconfigured host.
credential_id No Reference: common.schema.json#/$defs/credentialId Optional opaque credential ID available only to this stage.
depends_on No array Prerequisite stage IDs. Application validation rejects cycles and unknown IDs.
inputs No object Named adapter inputs resolved from admitted assets and earlier stage outputs.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Effective adapter options; adapter validation rejects unsupported values and secret fields.
retry No object Bounded idempotent retry policy, separate from changing provider routing.
extensions No Reference: common.schema.json#/$defs/extensions Optional stage metadata without hidden routing or secrets.

stages[].execution

Explicit local or hosted routing; failure never selects an unconfigured host.

Field Required Value Description Examples
mode Yes "local", "hosted" Where this stage executes.
worker_id No string Managed or user-selected local executable worker identity.
provider_profile No Reference: common.schema.json#/$defs/backendProfileReference Configured hosted provider profile, with credentials resolved separately.

All of the following constraints apply:

When mode is "local":

Value: object.

Required fields: worker_id.

Disallowed combination: has provider_profile.

Otherwise:

Value: object.

Required fields: provider_profile.

Disallowed combination: has worker_id.

stages[].depends_on

Prerequisite stage IDs. Application validation rejects cycles and unknown IDs.

Value: array.

stages[].depends_on[]

ID of a prerequisite stage in this pipeline.

Value: string.

stages[].inputs

Named adapter inputs resolved from admitted assets and earlier stage outputs.

Value: object.

stages[].inputs{name}

Typed logical binding such as media.original or prepare.audio; never a shell expression.

Value: string.

stages[].retry

Bounded idempotent retry policy, separate from changing provider routing.

Field Required Value Description Examples
max_attempts Yes integer Maximum attempts for eligible retryable errors.
backoff_seconds Yes number Initial nonnegative retry delay.

Example

{
  "schema_version": "0.0.0",
  "kind": "pipeline-config",
  "pipeline_id": "66666666-6666-4666-8666-666666666666",
  "revision": 1,
  "display_name": "Local transcription",
  "stages": [
    {
      "stage_id": "transcribe",
      "capability": "transcription",
      "adapter_id": "faster-whisper",
      "adapter_contract_version": "1",
      "execution": {
        "mode": "local",
        "worker_id": "faster-whisper-cpu"
      },
      "inputs": {
        "audio": "media.transcription_audio"
      },
      "options": {
        "model": "small",
        "compute_type": "int8"
      },
      "retry": {
        "max_attempts": 2,
        "backoff_seconds": 1
      }
    }
  ]
}

Speaker training dataset snapshot

Portable immutable training corpus selection. Source, speaker, attribution, transcript and preparation revisions are frozen; later training preparation binds final bytes in a separate manifest.

Download speaker-dataset.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this portable document contract.
kind Yes Constant "speaker-dataset" Discriminator identifying an immutable speaker training dataset snapshot.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace owning the snapshot and every referenced member.
dataset_snapshot_id Yes Reference: common.schema.json#/$defs/uuid Stable immutable training_dataset_snapshot identity.
speaker_id Yes Reference: common.schema.json#/$defs/uuid Originating catalog speaker for this selected corpus.
speaker_identity_revision Yes Reference: common.schema.json#/$defs/revision Exact identity revision used when selecting this speaker's corpus.
catalog_revision Yes Reference: common.schema.json#/$defs/revision Catalog revision against which selection was resolved.
created_at Yes Reference: common.schema.json#/$defs/utcInstant UTC instant when this snapshot was frozen.
manifest_sha256 Yes Reference: common.schema.json#/$defs/sha256 Digest of the separately published canonical snapshot manifest, not a hash asserted over this transport envelope including itself.
manifest_artifact No Reference: common.schema.json#/$defs/artifactReference Optional published artifact containing the canonical immutable snapshot manifest.
selection Yes Reference: #/$defs/selection Complete frozen selection recipe and effective filters.
preparation Yes Reference: #/$defs/preparation Requested preparation contract frozen before final training inputs are materialized.
members Yes array Ordered included segment memberships; empty snapshots represent no matching corpus and do not imply runnable training.
exclusions Yes array Frozen excluded-segment decisions and their technical or user-supplied reasons.
summary Yes Reference: #/$defs/summary Frozen corpus totals and diagnostic summary.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced dataset metadata preserved without altering immutable membership.

members

Ordered included segment memberships; empty snapshots represent no matching corpus and do not imply runnable training.

Value: array.

members[]

Value: Reference: #/$defs/member.

exclusions

Frozen excluded-segment decisions and their technical or user-supplied reasons.

Value: array.

exclusions[]

Value: Reference: #/$defs/exclusion.

Definition: selection

Exact effective selection recipe, allowing automatic corpus selection without segment-by-segment approval.

Field Required Value Description Examples
recipe_id Yes Reference: common.schema.json#/$defs/uuid Stable selection recipe identity.
recipe_revision Yes Reference: common.schema.json#/$defs/revision Frozen recipe revision.
preset Yes string Readable preparation/diagnostic preset identity.
preset_version Yes string Version defining the chosen preset's behavior.
attribution_bases Yes array Allowed assignment bases; an empty array includes every declared basis.
source_asset_ids Yes array Optional source filter; an empty array covers the speaker's whole workspace corpus.
languages Yes array Optional language filter; an empty array is language-independent.
minimum_duration_us Yes integer Minimum original segment duration considered by this recipe.
maximum_duration_us Yes At least one alternative Upper segment-duration bound, or null when no upper bound is configured.
explicitly_excluded_segment_ids Yes array User-selected exclusions applied automatically to this snapshot.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Adapter-specific filters and quality thresholds validated by the selected preset/adapter.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced custom selection rules with documented adapter interpretation.

Definition: selection.attribution_bases

Allowed assignment bases; an empty array includes every declared basis.

Value: array.

Definition: selection.attribution_bases[]

One included attribution basis.

Value: string.

Definition: selection.source_asset_ids

Optional source filter; an empty array covers the speaker's whole workspace corpus.

Value: array.

Definition: selection.source_asset_ids[]

One included original media asset.

Value: Reference: common.schema.json#/$defs/uuid.

Definition: selection.languages

Optional language filter; an empty array is language-independent.

Value: array.

Definition: selection.languages[]

One declared language identifier.

Value: string.

Definition: selection.maximum_duration_us

Upper segment-duration bound, or null when no upper bound is configured.

At least one of the following alternatives must match:

Definition: selection.maximum_duration_us: Alternative 1

Maximum original segment duration considered by this recipe.

Value: integer.

Definition: selection.maximum_duration_us: Alternative 2

Value: null.

Definition: selection.explicitly_excluded_segment_ids

User-selected exclusions applied automatically to this snapshot.

Value: array.

Definition: selection.explicitly_excluded_segment_ids[]

Excluded stable segment identity.

Value: Reference: common.schema.json#/$defs/uuid.

Definition: preparation

Frozen requested preparation contract; final prepared bytes are bound by a separate immutable preparation manifest.

Field Required Value Description Examples
adapter_id Yes string Selected preparation adapter identity.
contract_version Yes string Version of the preparation request/result contract.
adapter_version Yes string Version of the selected adapter implementation.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Exact audio preparation options without credentials or temporary paths.
transcript_required Yes boolean Whether this training input requires selected transcript and alignment references.
output_format Yes At least one alternative Requested audio format, or null when the adapter consumes source streams directly.
sample_rate_hz Yes At least one alternative Requested sample rate, or null when unchanged or not applicable.
channel_count Yes At least one alternative Requested output channel count, or null when unchanged or not applicable.

Definition: preparation.output_format

Requested audio format, or null when the adapter consumes source streams directly.

At least one of the following alternatives must match:

Definition: preparation.output_format: Alternative 1

Requested prepared audio format.

Value: string.

Definition: preparation.output_format: Alternative 2

Value: null.

Definition: preparation.sample_rate_hz

Requested sample rate, or null when unchanged or not applicable.

At least one of the following alternatives must match:

Definition: preparation.sample_rate_hz: Alternative 1

Requested prepared sample rate in hertz.

Value: integer.

Definition: preparation.sample_rate_hz: Alternative 2

Value: null.

Definition: preparation.channel_count

Requested output channel count, or null when unchanged or not applicable.

At least one of the following alternatives must match:

Definition: preparation.channel_count: Alternative 1

Requested prepared channel count.

Value: integer.

Definition: preparation.channel_count: Alternative 2

Value: null.

Definition: member

One included, ordered, immutable dataset member; all referenced revisions and source bytes are frozen.

Field Required Value Description Examples
ordinal Yes integer Zero-based explicit order within this snapshot.
segment_id Yes Reference: common.schema.json#/$defs/uuid Stable source segment identity.
segment_revision Yes Reference: common.schema.json#/$defs/revision Exact segment boundary revision.
source Yes Reference: speaker-segments.schema.json#/$defs/source Original byte/stream/channel identity and source interval.
processing_run_id Yes Reference: common.schema.json#/$defs/uuid Diarization or segmentation run that produced the member interval.
voice_id Yes Reference: common.schema.json#/$defs/uuid Run-local acoustic voice identity used by this member.
attribution Yes Reference: speaker-segments.schema.json#/$defs/attribution Exact attribution and speaker identity revisions used for membership.
transcript No Reference: speaker-segments.schema.json#/$defs/transcript Optional exact transcript/cue evidence; required by application validation when preparation.transcript_required is true.
prepared_audio No Reference: speaker-segments.schema.json#/$defs/preparedAudio Any audio already materialized before this snapshot was frozen.
diagnostics Yes array Technical findings observed when this member was selected.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced member annotations that preserve frozen core provenance.

Definition: member.diagnostics

Technical findings observed when this member was selected.

Value: array.

Definition: member.diagnostics[]

One method-qualified selection finding.

Value: Reference: speaker-segments.schema.json#/$defs/diagnostic.

Definition: exclusion

One explicit selection exclusion retained for explainable automatic corpus selection.

Field Required Value Description Examples
segment_id Yes Reference: common.schema.json#/$defs/uuid Stable segment excluded from this snapshot.
segment_revision Yes Reference: common.schema.json#/$defs/revision Segment revision evaluated by this decision.
reason_codes Yes array Declared reasons for exclusion, such as duplicate-source-span or configured-overlap-filter.
method Yes string Preset/adapter or user action responsible for the decision.
method_version Yes string Version of the method when this exclusion was computed.
details Yes Reference: common.schema.json#/$defs/nonsecretOptions Nonsecret diagnostic values and effective thresholds explaining the decision.

Definition: exclusion.reason_codes

Declared reasons for exclusion, such as duplicate-source-span or configured-overlap-filter.

Value: array.

Definition: exclusion.reason_codes[]

One machine-readable reason code.

Value: string.

Definition: summary

Totals frozen when selection completes; the application verifies consistency against membership.

Field Required Value Description Examples
segment_count Yes integer Number of included members.
source_asset_count Yes integer Distinct original source assets represented by included members.
original_duration_us Yes integer Sum of selected original intervals in integer microseconds after the recorded deduplication policy.
prepared_duration_us Yes At least one alternative Known prepared duration, or null until preparation is materialized.
excluded_segment_count Yes integer Number of excluded segment decisions retained in this snapshot.
diagnostic_counts Yes object Counts keyed by declared technical diagnostic code.
languages Yes array Language identifiers observed or selected for the included corpus.

Definition: summary.prepared_duration_us

Known prepared duration, or null until preparation is materialized.

At least one of the following alternatives must match:

Definition: summary.prepared_duration_us: Alternative 1

Known prepared duration in integer microseconds.

Value: integer.

Definition: summary.prepared_duration_us: Alternative 2

Value: null.

Definition: summary.diagnostic_counts

Counts keyed by declared technical diagnostic code.

Value: object.

Definition: summary.diagnostic_counts{name}

Value: integer.

Definition: summary.languages

Language identifiers observed or selected for the included corpus.

Value: array.

Definition: summary.languages[]

One language identifier.

Value: string.

Example

{
  "schema_version": "0.0.0",
  "kind": "speaker-dataset",
  "workspace_id": "00000000-0000-4000-8000-00000000000a",
  "dataset_snapshot_id": "00000000-0000-4000-8000-00000000000b",
  "speaker_id": "00000000-0000-4000-8000-000000000006",
  "speaker_identity_revision": 1,
  "catalog_revision": 1,
  "created_at": {
    "iso": "2026-10-04T20:01:00Z",
    "unix_ns": 1791144060000000000
  },
  "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "selection": {
    "recipe_id": "00000000-0000-4000-8000-00000000000c",
    "recipe_revision": 1,
    "preset": "speech-clean",
    "preset_version": "1.0.0",
    "attribution_bases": [],
    "source_asset_ids": [],
    "languages": [],
    "minimum_duration_us": 0,
    "maximum_duration_us": null,
    "explicitly_excluded_segment_ids": [],
    "options": {
      "exclude_duplicate_source_spans": true
    }
  },
  "preparation": {
    "adapter_id": "example.audio-preparation",
    "contract_version": "1",
    "adapter_version": "1.0.0",
    "options": {
      "normalize": false
    },
    "transcript_required": false,
    "output_format": "wav-pcm-s16le",
    "sample_rate_hz": 16000,
    "channel_count": 1
  },
  "members": [
    {
      "ordinal": 0,
      "segment_id": "00000000-0000-4000-8000-000000000007",
      "segment_revision": 1,
      "source": {
        "media_entry_id": "00000000-0000-4000-8000-000000000001",
        "source_asset_id": "00000000-0000-4000-8000-000000000002",
        "source_artifact": {
          "artifact_id": "00000000-0000-4000-8000-000000000003",
          "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "byte_length": 640000
        },
        "stream_id": "00000000-0000-4000-8000-000000000004",
        "stream_index": 0,
        "channels": [
          0
        ],
        "channel_policy": "preserve",
        "interval": {
          "start_us": 1000000,
          "end_us": 3000000
        }
      },
      "processing_run_id": "00000000-0000-4000-8000-000000000008",
      "voice_id": "00000000-0000-4000-8000-000000000009",
      "attribution": {
        "attribution_id": "00000000-0000-4000-8000-000000000005",
        "revision": 1,
        "speaker_id": "00000000-0000-4000-8000-000000000006",
        "speaker_identity_revision": 1,
        "basis": "acoustic-comparison",
        "method": "example.voice-matcher",
        "confidence": {
          "value": 0.88,
          "scale": "unit-interval",
          "method_version": "1.0.0"
        }
      },
      "diagnostics": []
    }
  ],
  "exclusions": [],
  "summary": {
    "segment_count": 1,
    "source_asset_count": 1,
    "original_duration_us": 2000000,
    "prepared_duration_us": null,
    "excluded_segment_count": 0,
    "diagnostic_counts": {},
    "languages": []
  }
}

Speaker model version manifest

Portable exact-version model descriptor preserving the originating speaker, frozen training corpus, preparation, artifacts/checkpoints, provider identity, declared compatibility and license metadata. Current family associations and availability remain revisioned catalog state.

Download speaker-model.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this portable model-version document contract.
kind Yes Constant "speaker-model" Discriminator identifying a speaker-associated model-version manifest.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace owning this model family and version.
model_family_id Yes Reference: common.schema.json#/$defs/uuid Stable speaker_model family identity.
model_version_id Yes Reference: common.schema.json#/$defs/uuid Exact immutable speaker_model_version identity fetched by the CLI.
originating_speaker_id Yes Reference: common.schema.json#/$defs/uuid Original speaker identity retained through later merges or splits.
originating_speaker_identity_revision Yes Reference: common.schema.json#/$defs/revision Speaker identity revision used when this version was trained.
created_at Yes Reference: common.schema.json#/$defs/utcInstant UTC instant when this immutable model version was published.
manifest_sha256 Yes Reference: common.schema.json#/$defs/sha256 Digest of the separately published canonical immutable model manifest, excluding this transport envelope's own digest field.
manifest_artifact No Reference: common.schema.json#/$defs/artifactReference Optional canonical model manifest artifact.
display_name No string User-facing name captured when the version was published; current family names live in revisioned catalog state.
training Yes Reference: #/$defs/training Exact training run, dataset, preparation and provider lineage.
outputs Yes Reference: #/$defs/outputs Verified downloadable artifacts or a declared hosted-model handle.
compatibility Yes Reference: #/$defs/compatibility Model-kind and consumer/runtime compatibility declarations.
checkpoints Yes array Optional immutable checkpoints retained with the producing training run.
license_declarations Yes array Declared upstream/output licenses and explicit unknown declarations.
evaluations Yes array Optional method-qualified metrics produced before publication.
diagnostics Yes array Technical findings recorded at publication; later lineage/availability findings are separate revisioned catalog observations.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced custom model metadata without redefining frozen provenance.

checkpoints

Optional immutable checkpoints retained with the producing training run.

Value: array.

checkpoints[]

One training checkpoint and resume declaration.

Value: Reference: #/$defs/checkpoint.

license_declarations

Declared upstream/output licenses and explicit unknown declarations.

Value: array.

license_declarations[]

One source-qualified license/attribution statement.

Value: Reference: #/$defs/licenseDeclaration.

evaluations

Optional method-qualified metrics produced before publication.

Value: array.

evaluations[]

One measured evaluation report.

Value: Reference: #/$defs/evaluation.

diagnostics

Technical findings recorded at publication; later lineage/availability findings are separate revisioned catalog observations.

Value: array.

diagnostics[]

One method-qualified model diagnostic.

Value: Reference: speaker-segments.schema.json#/$defs/diagnostic.

Definition: baseModel

Exact upstream/base-model identity when training depends on an existing model; no installed path or secret-bearing URL is retained.

Field Required Value Description Examples
model_id Yes string Stable upstream or configured base-model identity.
revision Yes At least one alternative Upstream revision, or null when the provider supplies none.
sha256 Yes At least one alternative Known immutable content digest, or null for a provider-managed model without downloadable bytes.
artifact No Reference: common.schema.json#/$defs/artifactReference Optional locally managed base-model artifact reference.
format Yes At least one alternative Known model format, or null when the provider does not declare it.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced upstream identity facts without credentials or local paths.

Definition: baseModel.revision

Upstream revision, or null when the provider supplies none.

At least one of the following alternatives must match:

Definition: baseModel.revision: Alternative 1

Declared immutable upstream revision.

Value: string.

Definition: baseModel.revision: Alternative 2

Value: null.

Definition: baseModel.sha256

Known immutable content digest, or null for a provider-managed model without downloadable bytes.

At least one of the following alternatives must match:

Definition: baseModel.sha256: Alternative 1

Verified base-model content digest.

Value: Reference: common.schema.json#/$defs/sha256.

Definition: baseModel.sha256: Alternative 2

Value: null.

Definition: baseModel.format

Known model format, or null when the provider does not declare it.

At least one of the following alternatives must match:

Definition: baseModel.format: Alternative 1

Declared base-model serialization format.

Value: string.

Definition: baseModel.format: Alternative 2

Value: null.

Definition: provider

Execution identity sufficient to distinguish local and hosted training provenance.

Field Required Value Description Examples
execution Yes "local", "hosted" Whether training ran locally or at the selected hosted provider.
provider_id Yes string Stable configured provider identity, independent of transient access credentials.
adapter_id Yes string Training adapter identity.
contract_version Yes string Version of the training request/result contract.
adapter_version Yes string Exact implementation version of the producing adapter.
endpoint No Reference: common.schema.json#/$defs/endpoint Optional configured service endpoint without user information, tokens or fragments.
credential_id No Reference: common.schema.json#/$defs/credentialId Optional opaque credential reference; never a credential value.
implementation_sha256 No Reference: common.schema.json#/$defs/sha256 Optional verified local worker/executable distribution digest.
provider_request_id No string Optional nonsecret provider request/operation identity.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced provider-specific execution facts.

Definition: datasetReference

Immutable dataset lineage used by this exact model version.

Field Required Value Description Examples
dataset_snapshot_id Yes Reference: common.schema.json#/$defs/uuid training_dataset_snapshot identity used by the run.
manifest_sha256 Yes Reference: common.schema.json#/$defs/sha256 Expected immutable dataset manifest digest.
originating_speaker_id Yes Reference: common.schema.json#/$defs/uuid Speaker for which the dataset was selected.
speaker_identity_revision Yes Reference: common.schema.json#/$defs/revision Frozen speaker identity revision used by dataset selection.
attribution_revisions Yes array Exact attribution observation revisions represented by selected members.
artifact No Reference: common.schema.json#/$defs/artifactReference Optional immutable dataset manifest artifact reference.

Definition: datasetReference.attribution_revisions

Exact attribution observation revisions represented by selected members.

Value: array.

Definition: datasetReference.attribution_revisions[]

One frozen attribution identity/revision pair.

Field Required Value Description Examples
attribution_id Yes Reference: common.schema.json#/$defs/uuid Attribution observation stream identity.
revision Yes Reference: common.schema.json#/$defs/revision Exact attribution revision used in the dataset.

Definition: preparationReference

Immutable receipt binding every final training input back to the frozen dataset members.

Field Required Value Description Examples
preparation_manifest_id Yes Reference: common.schema.json#/$defs/uuid Stable identity of the training_preparation_manifest.
manifest_sha256 Yes Reference: common.schema.json#/$defs/sha256 Expected canonical preparation manifest digest.
artifact Yes All listed constraints Published preparation manifest bytes, including exact member/input-artifact maps.
input_artifact_ids Yes array Ordered final audio/text input artifact IDs consumed by this run.
adapter_id Yes string Adapter that prepared the final training inputs.
adapter_version Yes string Implementation version of the preparation adapter.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Exact effective preparation options recorded in the manifest.

Definition: preparationReference.artifact

Published preparation manifest bytes, including exact member/input-artifact maps.

All of the following constraints apply:

Definition: preparationReference.artifact: Alternative 1

Published preparation manifest bytes, including exact member/input-artifact maps.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: preparationReference.artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: preparationReference.input_artifact_ids

Ordered final audio/text input artifact IDs consumed by this run.

Value: array.

Definition: preparationReference.input_artifact_ids[]

One final immutable training input artifact.

Value: Reference: common.schema.json#/$defs/uuid.

Definition: training

Durable training execution and all immutable input identities for this published model version.

Field Required Value Description Examples
training_run_id Yes Reference: common.schema.json#/$defs/uuid Stable training_run identity.
job_id Yes Reference: common.schema.json#/$defs/uuid Durable scheduler job identity.
producing_attempt_id Yes Reference: common.schema.json#/$defs/uuid Job attempt that produced the published output.
pipeline_id Yes Reference: common.schema.json#/$defs/uuid Saved training pipeline identity.
pipeline_revision Yes Reference: common.schema.json#/$defs/revision Frozen pipeline revision used by the run.
dataset Yes Reference: #/$defs/datasetReference Frozen dataset lineage and exact attribution revisions.
preparation Yes Reference: #/$defs/preparationReference Exact final-input preparation manifest used by this run.
provider Yes Reference: #/$defs/provider Producing adapter and local/hosted execution identity.
base_model Yes At least one alternative Base-model dependency, or null when training did not use one.
parameters Yes Reference: common.schema.json#/$defs/nonsecretOptions Exact effective training hyperparameters and options; adapter-specific values remain extensible.
started_at Yes Reference: common.schema.json#/$defs/utcInstant UTC instant when this training run started.
completed_at Yes Reference: common.schema.json#/$defs/utcInstant UTC instant when the producing attempt completed.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced run provenance with no secret values.

Definition: training.base_model

Base-model dependency, or null when training did not use one.

At least one of the following alternatives must match:

Definition: training.base_model: Alternative 1

Exact upstream/base-model identity.

Value: Reference: #/$defs/baseModel.

Definition: training.base_model: Alternative 2

Value: null.

Definition: modelArtifact

One immutable output file belonging to this model version.

Field Required Value Description Examples
role Yes string Declared artifact role, such as weights, config, tokenizer, reference-audio or custom adapter role.
artifact Yes All listed constraints Verified durable output artifact identity and complete byte digest/length.
format Yes string Declared serialization/container format.
required_for Yes array Operations that require this artifact, using declared operation identifiers.
dependencies Yes array Other immutable artifact IDs required to interpret this output.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced format-specific output metadata.

Definition: modelArtifact.artifact

Verified durable output artifact identity and complete byte digest/length.

All of the following constraints apply:

Definition: modelArtifact.artifact: Alternative 1

Verified durable output artifact identity and complete byte digest/length.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: modelArtifact.artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: modelArtifact.required_for

Operations that require this artifact, using declared operation identifiers.

Value: array.

Definition: modelArtifact.required_for[]

One supported operation identifier.

Value: string.

Definition: modelArtifact.dependencies

Other immutable artifact IDs required to interpret this output.

Value: array.

Definition: modelArtifact.dependencies[]

Required companion artifact identity.

Value: Reference: common.schema.json#/$defs/uuid.

Definition: hostedModel

Provider-managed model output; the handle is a stable nonsecret identifier rather than downloadable weights.

Field Required Value Description Examples
provider_id Yes string Configured provider identity owning this model handle.
provider_model_id Yes string Stable provider model identifier without credentials or transient signed URLs.
downloadable Yes boolean Whether the declared provider adapter supports retrieving model bytes.
supported_operations Yes array Operations supported by this hosted model according to its adapter declaration.
retrieval_adapter_id Yes At least one alternative Declared download adapter, or null when weights are not retrievable.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced provider output metadata without access secrets.

Definition: hostedModel.supported_operations

Operations supported by this hosted model according to its adapter declaration.

Value: array.

Definition: hostedModel.supported_operations[]

One supported operation.

Value: string.

Definition: hostedModel.retrieval_adapter_id

Declared download adapter, or null when weights are not retrievable.

At least one of the following alternatives must match:

Definition: hostedModel.retrieval_adapter_id: Alternative 1

Adapter capable of retrieving weights.

Value: string.

Definition: hostedModel.retrieval_adapter_id: Alternative 2

Value: null.

Definition: outputs

Validated output manifest; at least one durable artifact or hosted model handle must exist.

Field Required Value Description Examples
artifacts Yes array Durable files available for exact-version retrieval.
hosted_model No Reference: #/$defs/hostedModel Optional hosted-only or additional provider model handle.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced output formats declared by a custom training adapter.

Definition: outputs.artifacts

Durable files available for exact-version retrieval.

Value: array.

Definition: outputs.artifacts[]

One verified output file.

Value: Reference: #/$defs/modelArtifact.

At least one of the following alternatives must match:

Definition: outputs: Alternative 1

Field Required Value Description Examples
artifacts Yes array A downloadable artifact output contains at least one file.

Definition: outputs: Alternative 2

Value: object.

Required fields: hosted_model.

Definition: compatibility

Declared compatibility of this version; declarations are recorded without claiming unperformed runtime verification.

Field Required Value Description Examples
model_kind Yes string Declared type, such as voice-embedding, speech-synthesis or a custom adapter-defined model kind.
architecture Yes At least one alternative Model architecture, or null when undeclared by the producing provider.
supported_operations Yes array Operations this model version declares it can support.
consumers Yes array Consumer adapter requirements for local or hosted use.
runtime_dependencies Yes array Declared software/runtime dependencies; no local install paths are carried.
sample_rate_hz Yes At least one alternative Declared input/output sample rate where relevant, or null when not applicable or undeclared.
channel_count Yes At least one alternative Declared audio channel count where relevant, or null when not applicable or undeclared.
languages Yes array Declared supported language identifiers; an empty array makes no language-support claim.
extensions No Reference: common.schema.json#/$defs/extensions Custom architecture/capability declarations interpreted by the relevant adapter.

Definition: compatibility.architecture

Model architecture, or null when undeclared by the producing provider.

At least one of the following alternatives must match:

Definition: compatibility.architecture: Alternative 1

Declared model architecture.

Value: string.

Definition: compatibility.architecture: Alternative 2

Value: null.

Definition: compatibility.supported_operations

Operations this model version declares it can support.

Value: array.

Definition: compatibility.supported_operations[]

One operation identifier.

Value: string.

Definition: compatibility.consumers

Consumer adapter requirements for local or hosted use.

Value: array.

Definition: compatibility.consumers[]

Compatibility declaration for one consuming adapter.

Field Required Value Description Examples
adapter_id Yes string Consumer adapter identity.
contract_version Yes string Consumer contract version.
implementation_version_range Yes string Declared compatible implementation version or range.
accepted_formats Yes array Formats accepted by this consuming adapter.

Definition: compatibility.consumers[].accepted_formats

Formats accepted by this consuming adapter.

Value: array.

Definition: compatibility.consumers[].accepted_formats[]

One model format.

Value: string.

Definition: compatibility.runtime_dependencies

Declared software/runtime dependencies; no local install paths are carried.

Value: array.

Definition: compatibility.runtime_dependencies[]

One dependency compatibility declaration.

Field Required Value Description Examples
name Yes string Dependency distribution or runtime identity.
version_requirement Yes string Declared compatible version or range.
purpose Yes string How this dependency is used by the model consumer.

Definition: compatibility.sample_rate_hz

Declared input/output sample rate where relevant, or null when not applicable or undeclared.

At least one of the following alternatives must match:

Definition: compatibility.sample_rate_hz: Alternative 1

Value: integer.

Definition: compatibility.sample_rate_hz: Alternative 2

Value: null.

Definition: compatibility.channel_count

Declared audio channel count where relevant, or null when not applicable or undeclared.

At least one of the following alternatives must match:

Definition: compatibility.channel_count: Alternative 1

Value: integer.

Definition: compatibility.channel_count: Alternative 2

Value: null.

Definition: compatibility.languages

Declared supported language identifiers; an empty array makes no language-support claim.

Value: array.

Definition: compatibility.languages[]

One declared language identifier.

Value: string.

Definition: checkpoint

Immutable training checkpoint and its resume-compatibility declaration; a checkpoint does not itself assert a completed model.

Field Required Value Description Examples
checkpoint_id Yes Reference: common.schema.json#/$defs/uuid Stable training_checkpoint identity.
producing_attempt_id Yes Reference: common.schema.json#/$defs/uuid Attempt that emitted this checkpoint.
training_step Yes integer Training step reported by the adapter.
format Yes string Declared checkpoint serialization or provider format.
artifact No All listed constraints Optional verified checkpoint bytes.
hosted_handle No string Optional stable nonsecret provider checkpoint identifier.
resume_supported Yes boolean Whether the producing adapter declares this checkpoint resumable.
compatible_adapter_id Yes string Adapter identity declaring resume compatibility.
compatible_adapter_version Yes string Compatible implementation version or range.
base_model Yes At least one alternative Required base-model identity for resume, or null when none is required.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced checkpoint compatibility facts.

Definition: checkpoint.artifact

Optional verified checkpoint bytes.

All of the following constraints apply:

Definition: checkpoint.artifact: Alternative 1

Optional verified checkpoint bytes.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: checkpoint.artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: checkpoint.base_model

Required base-model identity for resume, or null when none is required.

At least one of the following alternatives must match:

Definition: checkpoint.base_model: Alternative 1

Exact base-model requirement for resume.

Value: Reference: #/$defs/baseModel.

Definition: checkpoint.base_model: Alternative 2

Value: null.

At least one of the following alternatives must match:

Definition: checkpoint: Alternative 1

Value: object.

Required fields: artifact.

Definition: checkpoint: Alternative 2

Value: object.

Required fields: hosted_handle.

Definition: licenseDeclaration

License/attribution statement preserved as metadata, with explicit unknown values rather than an invented eligibility policy.

Field Required Value Description Examples
scope Yes string Material covered by the declaration, such as base-model, output or training-data.
declared_license Yes At least one alternative Declared license, or null when no declaration was supplied.
attribution Yes At least one alternative Supplied attribution text, or null when absent.
source_basis Yes string Origin of the declaration, such as upstream-manifest, provider-report or user-entry.
source_artifact No Reference: common.schema.json#/$defs/artifactReference Optional report/manifest artifact containing the declaration.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced rights metadata as supplied by the upstream source.

Definition: licenseDeclaration.declared_license

Declared license, or null when no declaration was supplied.

At least one of the following alternatives must match:

Definition: licenseDeclaration.declared_license: Alternative 1

Declared license expression or upstream name.

Value: string.

Definition: licenseDeclaration.declared_license: Alternative 2

Value: null.

Definition: licenseDeclaration.attribution

Supplied attribution text, or null when absent.

At least one of the following alternatives must match:

Definition: licenseDeclaration.attribution: Alternative 1

Required or supplied attribution text.

Value: string.

Definition: licenseDeclaration.attribution: Alternative 2

Value: null.

Definition: evaluation

Method-qualified training/evaluation metrics; no unmeasured quality claim is implied.

Field Required Value Description Examples
method Yes string Evaluation method identity.
method_version Yes string Version of the evaluation method.
metrics Yes object Named measurements reported by this method; absent measurements are not fabricated.
report_artifact No Reference: common.schema.json#/$defs/artifactReference Optional immutable evaluation report.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced evaluation context without library content or credentials by default.

Definition: evaluation.metrics

Named measurements reported by this method; absent measurements are not fabricated.

Value: object.

Definition: evaluation.metrics{name}

At least one of the following alternatives must match:

Definition: evaluation.metrics{name}: Alternative 1

Value: number.

Definition: evaluation.metrics{name}: Alternative 2

Value: string.

Definition: evaluation.metrics{name}: Alternative 3

Value: null.

Example

{
  "schema_version": "0.0.0",
  "kind": "speaker-model",
  "workspace_id": "00000000-0000-4000-8000-00000000000a",
  "model_family_id": "00000000-0000-4000-8000-000000000014",
  "model_version_id": "00000000-0000-4000-8000-000000000015",
  "originating_speaker_id": "00000000-0000-4000-8000-000000000006",
  "originating_speaker_identity_revision": 1,
  "created_at": {
    "iso": "2026-10-04T20:05:00Z",
    "unix_ns": 1791144300000000000
  },
  "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "display_name": "Example speaker model",
  "training": {
    "training_run_id": "00000000-0000-4000-8000-00000000000d",
    "job_id": "00000000-0000-4000-8000-00000000000e",
    "producing_attempt_id": "00000000-0000-4000-8000-00000000000f",
    "pipeline_id": "00000000-0000-4000-8000-000000000010",
    "pipeline_revision": 1,
    "dataset": {
      "dataset_snapshot_id": "00000000-0000-4000-8000-00000000000b",
      "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "originating_speaker_id": "00000000-0000-4000-8000-000000000006",
      "speaker_identity_revision": 1,
      "attribution_revisions": [
        {
          "attribution_id": "00000000-0000-4000-8000-000000000005",
          "revision": 1
        }
      ]
    },
    "preparation": {
      "preparation_manifest_id": "00000000-0000-4000-8000-000000000011",
      "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "artifact": {
        "artifact_id": "00000000-0000-4000-8000-000000000012",
        "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "byte_length": 1024
      },
      "input_artifact_ids": [
        "00000000-0000-4000-8000-000000000013"
      ],
      "adapter_id": "example.audio-preparation",
      "adapter_version": "1.0.0",
      "options": {
        "normalize": false
      }
    },
    "provider": {
      "execution": "local",
      "provider_id": "local",
      "adapter_id": "example.voice-training",
      "contract_version": "1",
      "adapter_version": "1.0.0"
    },
    "base_model": null,
    "parameters": {
      "epochs": 2
    },
    "started_at": {
      "iso": "2026-10-04T20:02:00Z",
      "unix_ns": 1791144120000000000
    },
    "completed_at": {
      "iso": "2026-10-04T20:04:00Z",
      "unix_ns": 1791144240000000000
    }
  },
  "outputs": {
    "artifacts": [
      {
        "role": "weights",
        "artifact": {
          "artifact_id": "00000000-0000-4000-8000-000000000016",
          "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "byte_length": 4096
        },
        "format": "example-voice-format",
        "required_for": [
          "voice-comparison"
        ],
        "dependencies": []
      }
    ]
  },
  "compatibility": {
    "model_kind": "voice-embedding",
    "architecture": "example-encoder",
    "supported_operations": [
      "voice-comparison"
    ],
    "consumers": [
      {
        "adapter_id": "example.voice-matcher",
        "contract_version": "1",
        "implementation_version_range": "1.x",
        "accepted_formats": [
          "example-voice-format"
        ]
      }
    ],
    "runtime_dependencies": [],
    "sample_rate_hz": 16000,
    "channel_count": 1,
    "languages": []
  },
  "checkpoints": [],
  "license_declarations": [
    {
      "scope": "output",
      "declared_license": null,
      "attribution": null,
      "source_basis": "provider-report"
    }
  ],
  "evaluations": [],
  "diagnostics": []
}

Example

{
  "schema_version": "0.0.0",
  "kind": "speaker-model",
  "workspace_id": "00000000-0000-4000-8000-00000000000a",
  "model_family_id": "00000000-0000-4000-8000-000000000014",
  "model_version_id": "00000000-0000-4000-8000-000000000017",
  "originating_speaker_id": "00000000-0000-4000-8000-000000000006",
  "originating_speaker_identity_revision": 1,
  "created_at": {
    "iso": "2026-10-04T20:05:00Z",
    "unix_ns": 1791144300000000000
  },
  "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "display_name": "Example speaker model",
  "training": {
    "training_run_id": "00000000-0000-4000-8000-00000000000d",
    "job_id": "00000000-0000-4000-8000-00000000000e",
    "producing_attempt_id": "00000000-0000-4000-8000-00000000000f",
    "pipeline_id": "00000000-0000-4000-8000-000000000010",
    "pipeline_revision": 1,
    "dataset": {
      "dataset_snapshot_id": "00000000-0000-4000-8000-00000000000b",
      "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "originating_speaker_id": "00000000-0000-4000-8000-000000000006",
      "speaker_identity_revision": 1,
      "attribution_revisions": [
        {
          "attribution_id": "00000000-0000-4000-8000-000000000005",
          "revision": 1
        }
      ]
    },
    "preparation": {
      "preparation_manifest_id": "00000000-0000-4000-8000-000000000011",
      "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "artifact": {
        "artifact_id": "00000000-0000-4000-8000-000000000012",
        "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "byte_length": 1024
      },
      "input_artifact_ids": [
        "00000000-0000-4000-8000-000000000013"
      ],
      "adapter_id": "example.audio-preparation",
      "adapter_version": "1.0.0",
      "options": {
        "normalize": false
      }
    },
    "provider": {
      "execution": "hosted",
      "provider_id": "example.hosted-training",
      "adapter_id": "example.hosted-voice-training",
      "contract_version": "1",
      "adapter_version": "1.0.0",
      "endpoint": "https://training.example.com",
      "credential_id": "00000000-0000-4000-8000-000000000018"
    },
    "base_model": null,
    "parameters": {
      "epochs": 2
    },
    "started_at": {
      "iso": "2026-10-04T20:02:00Z",
      "unix_ns": 1791144120000000000
    },
    "completed_at": {
      "iso": "2026-10-04T20:04:00Z",
      "unix_ns": 1791144240000000000
    }
  },
  "outputs": {
    "artifacts": [],
    "hosted_model": {
      "provider_id": "example.hosted-training",
      "provider_model_id": "model-example-001",
      "downloadable": false,
      "supported_operations": [
        "voice-comparison"
      ],
      "retrieval_adapter_id": null
    }
  },
  "compatibility": {
    "model_kind": "voice-embedding",
    "architecture": null,
    "supported_operations": [
      "voice-comparison"
    ],
    "consumers": [
      {
        "adapter_id": "example.hosted-voice-matcher",
        "contract_version": "1",
        "implementation_version_range": "1.x",
        "accepted_formats": [
          "provider-handle"
        ]
      }
    ],
    "runtime_dependencies": [],
    "sample_rate_hz": null,
    "channel_count": null,
    "languages": []
  },
  "checkpoints": [],
  "license_declarations": [
    {
      "scope": "output",
      "declared_license": null,
      "attribution": null,
      "source_basis": "provider-report"
    }
  ],
  "evaluations": [],
  "diagnostics": []
}

Speaker audio segment catalog

Portable speaker segment query/export result. Source intervals and attribution revisions remain tied to immutable admitted media, across the whole workspace library.

Download speaker-segments.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this portable document contract.
kind Yes Constant "speaker-segments" Discriminator identifying this document contract.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Workspace owning every segment and referenced catalog identity.
catalog_revision Yes Reference: common.schema.json#/$defs/revision Catalog revision observed by this result.
generated_at Yes Reference: common.schema.json#/$defs/utcInstant UTC instant when this result was generated.
speaker_filter Yes At least one alternative Requested speaker identity, or null for an unfiltered segment result.
segments Yes array Ordered source-linked segment records; an empty query result is valid.
next_cursor No At least one alternative Pagination continuation token, or null when complete.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced result metadata for custom segment adapters.

speaker_filter

Requested speaker identity, or null for an unfiltered segment result.

At least one of the following alternatives must match:

speaker_filter: Alternative 1

Catalog speaker requested by this query.

Value: Reference: common.schema.json#/$defs/uuid.

speaker_filter: Alternative 2

Value: null.

segments

Ordered source-linked segment records; an empty query result is valid.

Value: array.

segments[]

Value: Reference: #/$defs/segment.

next_cursor

Pagination continuation token, or null when complete.

At least one of the following alternatives must match:

next_cursor: Alternative 1

Opaque continuation cursor without secrets.

Value: string.

next_cursor: Alternative 2

Value: null.

Definition: source

Immutable original audio/video source and selected audio channels; no storage path or transient URL is carried here.

Field Required Value Description Examples
media_entry_id Yes Reference: common.schema.json#/$defs/uuid Library item owning this source relationship.
source_asset_id Yes Reference: common.schema.json#/$defs/uuid Immutable media asset defining the original media clock.
source_artifact Yes All listed constraints Byte identity of the admitted original media artifact.
stream_id Yes Reference: common.schema.json#/$defs/uuid Catalog identity of the original selected audio stream.
stream_index Yes integer Original container audio-stream index captured during admission.
channels Yes array Zero-based original channel indices used for this segment.
channel_policy Yes string Declared selection or mixing policy, such as preserve or mono-mix.
interval Yes Reference: common.schema.json#/$defs/mediaInterval Half-open source interval in original-clock microseconds; application validation enforces end_us greater than start_us and source-duration bounds.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced adapter-specific source facts without paths or credentials.

Definition: source.source_artifact

Byte identity of the admitted original media artifact.

All of the following constraints apply:

Definition: source.source_artifact: Alternative 1

Byte identity of the admitted original media artifact.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: source.source_artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: source.channels

Zero-based original channel indices used for this segment.

Value: array.

Definition: source.channels[]

Value: integer.

Definition: attribution

Frozen attribution observation distinguishing a catalog speaker from a run-local acoustic voice.

Field Required Value Description Examples
attribution_id Yes Reference: common.schema.json#/$defs/uuid Stable identity of this attribution observation stream.
revision Yes Reference: common.schema.json#/$defs/revision Exact immutable attribution revision used by this segment or dataset.
speaker_id Yes At least one alternative Assigned catalog speaker UUID, or null for an unresolved voice.
speaker_identity_revision Yes At least one alternative Speaker identity revision, or null when the speaker is unresolved.
basis Yes string Declared assignment basis, for example user, acoustic-comparison, reasoning or imported; custom adapter bases remain representable.
method Yes string Attribution method or adapter identity; does not imply independently measured accuracy.
confidence No At least one alternative Optional method-qualified confidence diagnostic, or null when absent.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced attribution details; predictions and corrections remain distinguishable.

Definition: attribution.speaker_id

Assigned catalog speaker UUID, or null for an unresolved voice.

At least one of the following alternatives must match:

Definition: attribution.speaker_id: Alternative 1

Catalog speaker assigned by this observation.

Value: Reference: common.schema.json#/$defs/uuid.

Definition: attribution.speaker_id: Alternative 2

Value: null.

Definition: attribution.speaker_identity_revision

Speaker identity revision, or null when the speaker is unresolved.

At least one of the following alternatives must match:

Definition: attribution.speaker_identity_revision: Alternative 1

Exact speaker identity revision supporting this assignment.

Value: Reference: common.schema.json#/$defs/revision.

Definition: attribution.speaker_identity_revision: Alternative 2

Value: null.

Definition: attribution.confidence

Optional method-qualified confidence diagnostic, or null when absent.

At least one of the following alternatives must match:

Definition: attribution.confidence: Alternative 1

Method-qualified confidence diagnostic.

Field Required Value Description Examples
value Yes number Reported confidence value in the declared scale.
scale Yes string Scale or interpretation declared by the producing method.
method_version Yes string Version of the method producing the diagnostic.

Definition: attribution.confidence: Alternative 2

Value: null.

All of the following constraints apply:

When speaker_id matches null:

Field Required Value Description Examples
speaker_identity_revision No null An unresolved speaker has no catalog identity revision.

Otherwise:

Field Required Value Description Examples
speaker_identity_revision No Reference: common.schema.json#/$defs/revision A resolved assignment records a positive identity revision.

Definition: diagnostic

A nonsecret method-qualified processing or selection finding.

Field Required Value Description Examples
code Yes string Stable diagnostic code.
severity Yes "info", "warning", "error" Severity of the technical diagnostic.
message Yes string Human-readable explanation without credentials or storage paths.
method No string Method or adapter that produced this finding.
method_version No string Version of the producing method.
details No object Adapter-specific structured diagnostic measurements; must not contain secrets or local storage locations.

Definition: transcript

Exact selected transcript/cue evidence required by a segment or training member.

Field Required Value Description Examples
transcript_revision_id Yes Reference: common.schema.json#/$defs/uuid Immutable normalized transcript revision identity.
transcript_revision Yes Reference: common.schema.json#/$defs/revision Revision sequence of the selected transcript.
cue_ids Yes array Cueson cue identifiers scoped to the transcript revision.
alignment_artifact No Reference: common.schema.json#/$defs/artifactReference Optional alignment receipt preserving source-clock correlation.

Definition: transcript.cue_ids

Cueson cue identifiers scoped to the transcript revision.

Value: array.

Definition: transcript.cue_ids[]

One source cue ID.

Value: string.

Definition: preparedAudio

Materialized audio and its reproducible mapping back to the original source.

Field Required Value Description Examples
audio_artifact Yes All listed constraints Immutable extracted/prepared audio bytes.
time_map_artifact Yes All listed constraints Immutable mapping from prepared audio intervals to original-source intervals.
transform_artifact Yes All listed constraints Immutable receipt naming exact transforms, effective options and tool versions.
format Yes string Declared audio container/sample format.
sample_rate_hz Yes integer Prepared audio sample rate in hertz.
channel_count Yes integer Number of channels in the prepared audio.
duration_us Yes integer Prepared audio duration in integer microseconds.

Definition: preparedAudio.audio_artifact

Immutable extracted/prepared audio bytes.

All of the following constraints apply:

Definition: preparedAudio.audio_artifact: Alternative 1

Immutable extracted/prepared audio bytes.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: preparedAudio.audio_artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: preparedAudio.time_map_artifact

Immutable mapping from prepared audio intervals to original-source intervals.

All of the following constraints apply:

Definition: preparedAudio.time_map_artifact: Alternative 1

Immutable mapping from prepared audio intervals to original-source intervals.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: preparedAudio.time_map_artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: preparedAudio.transform_artifact

Immutable receipt naming exact transforms, effective options and tool versions.

All of the following constraints apply:

Definition: preparedAudio.transform_artifact: Alternative 1

Immutable receipt naming exact transforms, effective options and tool versions.

Value: Reference: common.schema.json#/$defs/artifactReference.

Definition: preparedAudio.transform_artifact: Alternative 2

Value: object.

Required fields: sha256, byte_length.

Definition: segment

One immutable boundary revision of a speaker audio segment, including its selected attribution at the exported catalog revision.

Field Required Value Description Examples
segment_id Yes Reference: common.schema.json#/$defs/uuid Stable identity retained when a segment boundary receives a new revision.
segment_revision Yes Reference: common.schema.json#/$defs/revision Exact segment boundary revision.
source Yes Reference: #/$defs/source Original byte, stream, channel and interval provenance.
processing_run_id Yes Reference: common.schema.json#/$defs/uuid Diarization or segmentation run that produced these intervals.
voice_id Yes Reference: common.schema.json#/$defs/uuid Acoustic voice identity scoped to the producing processing run.
attribution Yes Reference: #/$defs/attribution Exact selected attribution observation and speaker identity revision.
transcript No Reference: #/$defs/transcript Optional overlapping transcript/cue references.
prepared_audio No Reference: #/$defs/preparedAudio Optional existing extracted audio artifact and source map.
diagnostics No array Technical quality and overlap findings; no mandatory human approval is implied.
extensions No Reference: common.schema.json#/$defs/extensions Namespaced custom segmentation output.

Definition: segment.diagnostics

Technical quality and overlap findings; no mandatory human approval is implied.

Value: array.

Definition: segment.diagnostics[]

Value: Reference: #/$defs/diagnostic.

Example

{
  "schema_version": "0.0.0",
  "kind": "speaker-segments",
  "workspace_id": "00000000-0000-4000-8000-00000000000a",
  "catalog_revision": 1,
  "generated_at": {
    "iso": "2026-10-04T20:00:00Z",
    "unix_ns": 1791144000000000000
  },
  "speaker_filter": "00000000-0000-4000-8000-000000000006",
  "segments": [
    {
      "segment_id": "00000000-0000-4000-8000-000000000007",
      "segment_revision": 1,
      "source": {
        "media_entry_id": "00000000-0000-4000-8000-000000000001",
        "source_asset_id": "00000000-0000-4000-8000-000000000002",
        "source_artifact": {
          "artifact_id": "00000000-0000-4000-8000-000000000003",
          "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "byte_length": 640000
        },
        "stream_id": "00000000-0000-4000-8000-000000000004",
        "stream_index": 0,
        "channels": [
          0
        ],
        "channel_policy": "preserve",
        "interval": {
          "start_us": 1000000,
          "end_us": 3000000
        }
      },
      "processing_run_id": "00000000-0000-4000-8000-000000000008",
      "voice_id": "00000000-0000-4000-8000-000000000009",
      "attribution": {
        "attribution_id": "00000000-0000-4000-8000-000000000005",
        "revision": 1,
        "speaker_id": "00000000-0000-4000-8000-000000000006",
        "speaker_identity_revision": 1,
        "basis": "acoustic-comparison",
        "method": "example.voice-matcher",
        "confidence": {
          "value": 0.88,
          "scale": "unit-interval",
          "method_version": "1.0.0"
        }
      },
      "diagnostics": []
    }
  ],
  "next_cursor": null
}

insonic workspace configuration

Versioned nonsecret configuration selecting artifact, catalog and graph adapters independently. Filesystem/SQLite/LadybugDB are defaults, while S3/PostgreSQL/ArcadeDB have full planned application support.

Download workspace-config.schema.json

Field Required Value Description Examples
schema_version Yes Constant "0.0.0" Version of this public insonic contract.
kind Yes Constant "workspace-config" Document discriminator selected by the master registry.
workspace_id Yes Reference: common.schema.json#/$defs/uuid Stable workspace scope used by all domain records.
display_name Yes string User-facing workspace name.
control_directory Yes string Selected local directory for control files, scratch and caches even when authority is remote.
profiles Yes object Three independent required backend selections.
default_import_timezone No Reference: common.schema.json#/$defs/timezone Default timezone captured when creating an import batch.
extensions No Reference: common.schema.json#/$defs/extensions Optional namespaced nonsecret extension data.

profiles

Three independent required backend selections.

Field Required Value Description Examples
storage Yes object Selected artifact storage profile with an immutable configuration revision.
catalog Yes object Selected operational catalog profile with an immutable configuration revision.
graph Yes object Selected graph projection profile with an immutable configuration revision.

profiles.storage

Selected artifact storage profile with an immutable configuration revision.

Field Required Value Description Examples
profile_id Yes Reference: common.schema.json#/$defs/uuid Stable configured profile identity.
profile_revision Yes Reference: common.schema.json#/$defs/revision Selected profile configuration revision.
adapter_id Yes "filesystem", "s3" Backend adapter selected for this role.
contract_version Yes string Versioned insonic adapter contract.
configuration Yes Exactly one alternative Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.
expected_backend_version No string Optional tested backend version constraint; health/capability checks verify it before use.

profiles.storage.configuration

Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.

Exactly one of the following alternatives must match:

profiles.storage.configuration: Alternative 1

Default local filesystem artifact store. The root is a selected location, not a source identity.

Value: Reference: #/$defs/filesystemConfiguration.

profiles.storage.configuration: Alternative 2

Generic S3 API configuration, applicable to remote providers and user-run filesystem-backed S3 endpoints.

Value: Reference: #/$defs/s3Configuration.

All of the following constraints apply:

When adapter_id is "filesystem":

Field Required Value Description Examples
configuration No Reference: #/$defs/filesystemConfiguration Default local filesystem artifact store. The root is a selected location, not a source identity.

When adapter_id is "s3":

Field Required Value Description Examples
configuration No Reference: #/$defs/s3Configuration Generic S3 API configuration, applicable to remote providers and user-run filesystem-backed S3 endpoints.

profiles.catalog

Selected operational catalog profile with an immutable configuration revision.

Field Required Value Description Examples
profile_id Yes Reference: common.schema.json#/$defs/uuid Stable configured profile identity.
profile_revision Yes Reference: common.schema.json#/$defs/revision Selected profile configuration revision.
adapter_id Yes "sqlite", "postgresql" Backend adapter selected for this role.
contract_version Yes string Versioned insonic adapter contract.
configuration Yes Exactly one alternative Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.
expected_backend_version No string Optional tested backend version constraint; health/capability checks verify it before use.

profiles.catalog.configuration

Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.

Exactly one of the following alternatives must match:

profiles.catalog.configuration: Alternative 1

Default local SQLite catalog configuration.

Value: Reference: #/$defs/sqliteConfiguration.

profiles.catalog.configuration: Alternative 2

Full PostgreSQL catalog configuration. Credentials remain outside this document and application transactions retain workspace scope.

Value: Reference: #/$defs/postgresqlConfiguration.

All of the following constraints apply:

When adapter_id is "sqlite":

Field Required Value Description Examples
configuration No Reference: #/$defs/sqliteConfiguration Default local SQLite catalog configuration.

When adapter_id is "postgresql":

Field Required Value Description Examples
configuration No Reference: #/$defs/postgresqlConfiguration Full PostgreSQL catalog configuration. Credentials remain outside this document and application transactions retain workspace scope.

profiles.graph

Selected graph projection profile with an immutable configuration revision.

Field Required Value Description Examples
profile_id Yes Reference: common.schema.json#/$defs/uuid Stable configured profile identity.
profile_revision Yes Reference: common.schema.json#/$defs/revision Selected profile configuration revision.
adapter_id Yes "ladybugdb", "arcadedb", "community" Backend adapter selected for this role.
contract_version Yes string Versioned insonic adapter contract.
configuration Yes Exactly one alternative Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.
expected_backend_version No string Optional tested backend version constraint; health/capability checks verify it before use.

profiles.graph.configuration

Nonsecret adapter configuration matching adapter_id; conditional rules identify the exact permitted shape.

Exactly one of the following alternatives must match:

profiles.graph.configuration: Alternative 1

Default embedded LadybugDB projection attached to the owning runtime.

Value: Reference: #/$defs/ladybugdbConfiguration.

profiles.graph.configuration: Alternative 2

ArcadeDB server graph adapter configuration, distinct from the operational catalog role.

Value: Reference: #/$defs/arcadedbConfiguration.

profiles.graph.configuration: Alternative 3

Optional user-provided graph adapter configuration. This does not make its engine officially supported or redistributed.

Value: Reference: #/$defs/communityConfiguration.

All of the following constraints apply:

When adapter_id is "ladybugdb":

Field Required Value Description Examples
configuration No Reference: #/$defs/ladybugdbConfiguration Default embedded LadybugDB projection attached to the owning runtime.

When adapter_id is "arcadedb":

Field Required Value Description Examples
configuration No Reference: #/$defs/arcadedbConfiguration ArcadeDB server graph adapter configuration, distinct from the operational catalog role.

When adapter_id is "community":

Field Required Value Description Examples
configuration No Reference: #/$defs/communityConfiguration Optional user-provided graph adapter configuration. This does not make its engine officially supported or redistributed.

filesystem configuration

Default local filesystem artifact store. The root is a selected location, not a source identity.

Field Required Value Description Examples
root Yes string Managed local artifact root; installation directories and disposable caches are not durable storage. "/home/user/MediaLibrary/objects"

s3 configuration

Generic S3 API configuration, applicable to remote providers and user-run filesystem-backed S3 endpoints.

Field Required Value Description Examples
endpoint Yes Reference: common.schema.json#/$defs/endpoint Selected S3 service endpoint without credentials in its URL.
bucket Yes string Existing or explicitly created bucket used by this workspace. "media-library"
prefix No string Workspace-managed object-key prefix; empty is allowed. "insonic/"
region Yes string Region/signing value required by this provider. "us-east-1"
addressing_style Yes "auto", "path", "virtual" S3 bucket addressing mode qualified for this endpoint.
authentication Yes "credential", "environment", "anonymous" Explicit credential resolution mode; environment uses a selected runtime credential chain, not exported secret values.
credential_id No Reference: common.schema.json#/$defs/credentialId Opaque credential reference required for credential mode.

All of the following constraints apply:

When authentication is "credential":

Value: object.

Required fields: credential_id.

sqlite configuration

Default local SQLite catalog configuration.

Field Required Value Description Examples
path Yes string Local catalog file path on a supported filesystem; not an S3 object or network-shared live file. "catalog.sqlite"

postgresql configuration

Full PostgreSQL catalog configuration. Credentials remain outside this document and application transactions retain workspace scope.

Field Required Value Description Examples
host Yes string PostgreSQL hostname or explicitly selected local transport location. "db.example.com"
port Yes integer PostgreSQL service port. 5432
database Yes string Configured database containing the catalog.
schema Yes string Dedicated catalog schema namespace. "insonic"
tls_mode Yes "verify-full", "local" verify-full verifies the remote server certificate and hostname; local is an explicit local transport configuration.
ca_file No string Optional local CA certificate path for verified TLS.
credential_id No Reference: common.schema.json#/$defs/credentialId Opaque PostgreSQL authentication reference when credentials are required.

ladybugdb configuration

Default embedded LadybugDB projection attached to the owning runtime.

Field Required Value Description Examples
path Yes string Local graph directory/file location; never a live object-store database. "graph/library.lbug"

arcadedb configuration

ArcadeDB server graph adapter configuration, distinct from the operational catalog role.

Field Required Value Description Examples
endpoint Yes Reference: common.schema.json#/$defs/endpoint Configured ArcadeDB HTTP service endpoint.
database Yes string Selected ArcadeDB database for this workspace graph.
credential_id No Reference: common.schema.json#/$defs/credentialId Opaque service credential reference resolved by the runtime.
preferred_dialect No "arcade-opencypher", "arcade-sql" Requested native query dialect, qualified against the actual server capabilities.

community configuration

Optional user-provided graph adapter configuration. This does not make its engine officially supported or redistributed.

Field Required Value Description Examples
plugin_id Yes string User-selected adapter extension identity.
contract_version Yes string Versioned graph adapter contract implemented by the extension.
options Yes Reference: common.schema.json#/$defs/nonsecretOptions Plugin options validated by its declared configuration contract.
credential_id No Reference: common.schema.json#/$defs/credentialId Optional opaque credential reference for this extension.

Example

{
  "schema_version": "0.0.0",
  "kind": "workspace-config",
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "display_name": "My library",
  "control_directory": "/home/user/MediaLibrary",
  "default_import_timezone": "local",
  "profiles": {
    "storage": {
      "profile_id": "33333333-3333-4333-8333-333333333333",
      "profile_revision": 1,
      "adapter_id": "filesystem",
      "contract_version": "1",
      "configuration": {
        "root": "objects"
      }
    },
    "catalog": {
      "profile_id": "44444444-4444-4444-8444-444444444444",
      "profile_revision": 1,
      "adapter_id": "sqlite",
      "contract_version": "1",
      "configuration": {
        "path": "catalog.sqlite"
      }
    },
    "graph": {
      "profile_id": "55555555-5555-4555-8555-555555555555",
      "profile_revision": 1,
      "adapter_id": "ladybugdb",
      "contract_version": "1",
      "configuration": {
        "path": "graph/library.lbug"
      }
    }
  }
}

Shared definitions

Shared logical types for the v0.0.0 contract baseline. This resource defines reusable values and is not a standalone application document envelope. Format annotations require a format-aware validator; semantic comparisons and timezone resolution remain application validation.

Definition: uuid

Stable application-generated UUID identity. UUIDs identify logical records, not database row IDs or filesystem locations.

Value: string.

Example:

"11111111-1111-4111-8111-111111111111"

Definition: sha256

Lowercase SHA-256 digest of the complete immutable byte sequence. Provider ETags and multipart/composite checksums are not this digest.

Value: string.

Example:

"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

Definition: revision

Monotonically increasing logical revision within one entity or ordered revision stream. Expected-revision checks prevent lost updates; database-native sequences are not exposed as identity.

Value: integer.

Example:

1

Cueson-compatible timestamp

Absolute instant in Cueson's timestamp format: RFC 3339 text and Unix nanoseconds representing the same instant. The application verifies agreement and preserves integer precision; import wall-time literals and media-relative intervals use distinct types.

Field Required Value Description Examples
iso Yes string RFC 3339 representation of the instant, including its UTC offset and available fractional-second precision. Audit output uses UTC. "2026-10-04T18:30:00.123456Z"; "1970-01-01T00:00:00.123456789Z"
unix_ns Yes integer Nanoseconds since the Unix epoch for the same instant as iso. Parse and serialize this integer without floating-point rounding; JSON Schema validation alone does not verify agreement with iso. 123456789

Example:

{
  "iso": "1970-01-01T00:00:00.123456789Z",
  "unix_ns": 123456789
}

Definition: calendarDate

Calendar date with day precision, formatted YYYY-MM-DD. A date does not assert a known recording time.

Value: string.

Example:

"2026-10-04"

Definition: wallTimestamp

Entered timestamp literal with seconds and optional microseconds, Z or numeric offset. Without a zone, the captured import timezone policy applies. Calendar validity, DST folds/gaps and zone-offset agreement require application validation.

Value: string.

Example:

"2026-10-04T14:30:00"

Example:

"2026-10-04T18:30:00Z"

Definition: timezone

Timezone selector: local, UTC, an IANA identifier or a numeric offset. This pattern validates shape, not IANA membership. Resolve local once and persist its actual interpretation.

Value: string.

Example:

"local"

Example:

"UTC"

Example:

"America/New_York"

Example:

"+02:00"

Definition: mediaInterval

Positive-duration, half-open original-media interval in integer microseconds. The application must additionally validate end_us > start_us and probed-duration/codec tolerance.

Field Required Value Description Examples
start_us Yes integer Inclusive interval start on the original media clock in microseconds. 0
end_us Yes integer Exclusive interval end on the same original clock in microseconds. 1250000

Example:

{
  "start_us": 0,
  "end_us": 1250000
}

Definition: artifactReference

Portable reference to an immutable logical artifact. Digest and size can accompany the stable ID when available; location/materialization and access credentials belong to separate runtime records.

Field Required Value Description Examples
artifact_id Yes Reference: #/$defs/uuid Stable catalog artifact ID, independent of object key or local cache path.
sha256 No Reference: #/$defs/sha256 Expected complete-content digest when the caller has verified bytes.
byte_length No integer Expected length of the complete content in bytes, including zero-length nonmedia artifacts. 4096
extensions No Reference: #/$defs/extensions Optional namespaced reference annotations without changing identity.

Example:

{
  "artifact_id": "22222222-2222-4222-8222-222222222222",
  "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "byte_length": 4096
}

Definition: backendProfileReference

Reference to a selected versioned backend profile. Profile records hold configuration and opaque credential references; application documents do not embed credentials.

Field Required Value Description Examples
profile_id Yes Reference: #/$defs/uuid Stable configured backend profile ID.
profile_revision Yes Reference: #/$defs/revision Selected immutable profile revision.
adapter_id No string Adapter identity used to interpret the referenced profile. "filesystem"
contract_version No string Version of the adapter contract selected for this profile. "1"

Example:

{
  "profile_id": "33333333-3333-4333-8333-333333333333",
  "profile_revision": 1,
  "adapter_id": "filesystem",
  "contract_version": "1"
}

Definition: credentialId

Opaque credential ID resolved by SecretStore. This field never contains a password, API key, session token or secret-bearing connection URL.

Value: string.

Example:

"11111111-1111-4111-8111-111111111111"

Definition: endpoint

Configured HTTP(S) service endpoint without URL user information, query tokens or fragments. Local HTTP is permitted explicitly; service credentials are separate opaque references.

Value: string.

Example:

"https://objects.example.com"

Example:

"http://127.0.0.1:2480"

Definition: nonsecretOptions

Adapter-specific, versioned options validated further against that adapter's capability/configuration schema. These properties are intentionally extensible and must not contain credential values.

Value: object.

Example:

{
  "sample_rate": 16000,
  "device": "cpu"
}

Definition: extensions

Optional namespaced extension data. Core consumers may preserve unknown extensions without interpreting them. Extensions must not redefine required fields, hide credentials or mutate immutable provenance.

Value: object.

Example:

{
  "example.org/note": "Optional annotation"
}