Przejdź do treści

Whisper Interest v1

Source schema: doc/schemas/whisper-interest.v1.schema.json

Machine-readable schema for bounded local-interest registration in response to a whisper signal. This artifact remains node-scoped in v1 and does not define participant-authored or nym-authored alternatives.

Governing Basis

Project Lineage

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
interest/id yes string Stable identifier of the local interest registration.
signal/id yes string Whisper signal that triggered local interest.
created-at yes string Timestamp of interest registration.
interested/node-id yes string Node registering local relevance. Thresholding and local readiness stay node-scoped here rather than being expressed through participant or nym authorship.
interest/kind yes enum: local-relevance, correlation-willing, bootstrap-willing Level of willingness to participate in further correlation.
disclosure/readiness yes enum: none, conditional, room-only Maximum disclosure willingness at the current stage.
local/user-notified yes boolean Whether the local user or operator has already been notified of the relevant rumor.
matching/facets no array Optional local facets that justify relevance without forcing case disclosure.
trust/tier no enum: unknown, member, validated, high-trust Trust tier visible at thresholding time.
expires-at no string Optional expiry after which this interest should no longer be counted.
policy_annotations no object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "interest/kind": {
      "const": "bootstrap-willing"
    }
  },
  "required": [
    "interest/kind"
  ]
}

Then:

{
  "properties": {
    "disclosure/readiness": {
      "enum": [
        "conditional",
        "room-only"
      ]
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

interest/id

  • Required: yes
  • Shape: string

Stable identifier of the local interest registration.

signal/id

  • Required: yes
  • Shape: string

Whisper signal that triggered local interest.

created-at

  • Required: yes
  • Shape: string

Timestamp of interest registration.

interested/node-id

  • Required: yes
  • Shape: string

Node registering local relevance. Thresholding and local readiness stay node-scoped here rather than being expressed through participant or nym authorship.

interest/kind

  • Required: yes
  • Shape: enum: local-relevance, correlation-willing, bootstrap-willing

Level of willingness to participate in further correlation.

disclosure/readiness

  • Required: yes
  • Shape: enum: none, conditional, room-only

Maximum disclosure willingness at the current stage.

local/user-notified

  • Required: yes
  • Shape: boolean

Whether the local user or operator has already been notified of the relevant rumor.

matching/facets

  • Required: no
  • Shape: array

Optional local facets that justify relevance without forcing case disclosure.

trust/tier

  • Required: no
  • Shape: enum: unknown, member, validated, high-trust

Trust tier visible at thresholding time.

expires-at

  • Required: no
  • Shape: string

Optional expiry after which this interest should no longer be counted.

policy_annotations

  • Required: no
  • Shape: object