Przejdź do treści

Archivist Advertisement v1

Source schema: doc/schemas/archivist-advertisement.v1.schema.json

Machine-readable schema for archivist capability advertisements covering archival scope, retention posture, and optional settlement requirements.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
advertisement/id yes string Stable identifier of the archivist capability advertisement.
created-at yes string Advertisement publication timestamp.
archivist/node-id yes string Archivist node or durable storage actor.
accepted/scopes yes array Publication scopes this archivist is willing to accept.
accepted/artifact-types yes array Artifact classes this archivist accepts.
retrieval/mode yes enum: direct-only, federation-discovery, public-discovery Primary discovery or retrieval mode exposed by the archivist.
retention/default-max-duration-sec no integer Default maximum storage duration when no explicit contract overrides it.
retention/default-max-idle-ttl-sec no integer Default maximum idle TTL when no explicit contract overrides it.
replication/max-copies no integer Maximum replication copies this archivist is willing to coordinate.
publication/timing-profiles no array Publication timing profiles the archivist supports.
settlement/required yes boolean Whether this archivist requires explicit negotiated settlement for storage.
settlement/rail-hints no array Optional settlement rail hints when negotiated storage is required.
policy_annotations no object Optional implementation-local annotations that do not change the core advertisement semantics.

Conditional Rules

Rule 1

When:

{
  "properties": {
    "settlement/required": {
      "const": true
    }
  },
  "required": [
    "settlement/required"
  ]
}

Then:

{
  "required": [
    "settlement/rail-hints"
  ]
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

advertisement/id

  • Required: yes
  • Shape: string

Stable identifier of the archivist capability advertisement.

created-at

  • Required: yes
  • Shape: string

Advertisement publication timestamp.

archivist/node-id

  • Required: yes
  • Shape: string

Archivist node or durable storage actor.

accepted/scopes

  • Required: yes
  • Shape: array

Publication scopes this archivist is willing to accept.

accepted/artifact-types

  • Required: yes
  • Shape: array

Artifact classes this archivist accepts.

retrieval/mode

  • Required: yes
  • Shape: enum: direct-only, federation-discovery, public-discovery

Primary discovery or retrieval mode exposed by the archivist.

retention/default-max-duration-sec

  • Required: no
  • Shape: integer

Default maximum storage duration when no explicit contract overrides it.

retention/default-max-idle-ttl-sec

  • Required: no
  • Shape: integer

Default maximum idle TTL when no explicit contract overrides it.

replication/max-copies

  • Required: no
  • Shape: integer

Maximum replication copies this archivist is willing to coordinate.

publication/timing-profiles

  • Required: no
  • Shape: array

Publication timing profiles the archivist supports.

settlement/required

  • Required: yes
  • Shape: boolean

Whether this archivist requires explicit negotiated settlement for storage.

settlement/rail-hints

  • Required: no
  • Shape: array

Optional settlement rail hints when negotiated storage is required.

policy_annotations

  • Required: no
  • Shape: object

Optional implementation-local annotations that do not change the core advertisement semantics.