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"
}