Przejdź do treści

Capability Advertisement v1

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

Machine-readable schema for baseline capability exchange after peer session establishment.

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 this capability advertisement.
node/id yes string Node advertising its baseline capability surface. In v1 this MUST use the canonical node:did:key:z... format.
published-at yes string Timestamp when the capability set was published.
protocol/version yes string Protocol version for which the capability advertisement is valid.
transport/profiles yes array Transport profiles currently exposed by the Node.
capabilities/core yes array Wire-visible capability identifiers supported by the Node. Known formal capabilities use stable core/ or role/ names, sovereign capabilities use sovereign/ or sovereign-informal/, and unknown formal capabilities may be advertised as bare names.
anchor_identities no object Optional sovereign capability anchor map keyed by the sovereign short name. Empty or absent for formal capabilities.
roles/attached no array Optional attached roles or plugin-process capabilities visible at the Node boundary. Not required in MVP.
surfaces/exposed no array Exposed APIs, channels, or queues that can be used by peers or attached roles.
messages/supported yes array Protocol message families currently supported by the Node.
signature yes ref: #/$defs/signature
policy_annotations no object Optional annotations that do not change the core advertised capability semantics.

Definitions

Definition Shape Description
signature object

Conditional Rules

Rule 1

Constraint:

{
  "properties": {
    "capabilities/core": {
      "contains": {
        "const": "core/messaging"
      }
    }
  },
  "required": [
    "capabilities/core"
  ]
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

advertisement/id

  • Required: yes
  • Shape: string

Stable identifier of this capability advertisement.

node/id

  • Required: yes
  • Shape: string

Node advertising its baseline capability surface. In v1 this MUST use the canonical node:did:key:z... format.

published-at

  • Required: yes
  • Shape: string

Timestamp when the capability set was published.

protocol/version

  • Required: yes
  • Shape: string

Protocol version for which the capability advertisement is valid.

transport/profiles

  • Required: yes
  • Shape: array

Transport profiles currently exposed by the Node.

capabilities/core

  • Required: yes
  • Shape: array

Wire-visible capability identifiers supported by the Node. Known formal capabilities use stable core/ or role/ names, sovereign capabilities use sovereign/ or sovereign-informal/, and unknown formal capabilities may be advertised as bare names.

anchor_identities

  • Required: no
  • Shape: object

Optional sovereign capability anchor map keyed by the sovereign short name. Empty or absent for formal capabilities.

roles/attached

  • Required: no
  • Shape: array

Optional attached roles or plugin-process capabilities visible at the Node boundary. Not required in MVP.

surfaces/exposed

  • Required: no
  • Shape: array

Exposed APIs, channels, or queues that can be used by peers or attached roles.

messages/supported

  • Required: yes
  • Shape: array

Protocol message families currently supported by the Node.

signature

  • Required: yes
  • Shape: ref: #/$defs/signature

policy_annotations

  • Required: no
  • Shape: object

Optional annotations that do not change the core advertised capability semantics.

Definition Semantics

$defs.signature

  • Shape: object