Przejdź do treści

Whisper Signal v1

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

Machine-readable schema for bounded rumor-style social-signal exchange.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
signal/id yes string Stable identifier of the published rumor-style signal.
created-at yes string Publication timestamp of the outgoing signal.
sender/node-id yes string Infrastructure node that emitted or hosted the outgoing signal. This remains the routing and transport-facing identity even when authored participation is expressed through a pseudonymous nym.
sender/federation-id no string Federation scope of the sender when relevant to routing or threshold policy.
rumor/nym yes string Pseudonymous author identity of the outgoing signal. This remains application-layer identity material and MUST NOT leak into the transport handshake.
auth/nym-certificate yes ref: nym-certificate.v1.schema.json Attached council-issued certificate proving bounded validity of the outgoing rumor nym. Its nym/id should match rumor/nym.
auth/nym-signature yes ref: #/$defs/signature Signature over the outgoing whisper-signal body made with the private key corresponding to rumor/nym.
epistemic/class yes enum: rumor, weak-signal Explicit epistemic class that prevents the artifact from being treated as evidence.
signal/text yes string Sanitized text accepted by the local user before publication.
topic/class yes string Normalized issue class used for bounded correlation.
context/facets yes array Normalized, low-resolution facets that help correlation without forcing raw disclosure.
confidence yes number Local confidence in the quality and relevance of the prepared signal.
disclosure/scope yes enum: private-correlation, federation-scoped, cross-federation, public-aggregate-only Maximum disclosure posture allowed for this signal.
source/class no enum: direct-user, pod-user, operator-observed, derived-local, monus-derived, monus-sensorium-derived High-level origin class of the signal. monus-derived is used when a local Monus-like wellbeing module prepared the draft before Whisper publication. monus-sensorium-derived is used when Monus relied materially on Sensorium-originated local signals.
source/signal-kinds no array Optional high-level local signal classes that materially informed a derived or sensorium-assisted rumor draft.
risk/grade yes enum: low, moderate, high, critical Risk grade used to constrain later routing and disclosure.
routing/profile yes enum: direct, relayed, onion-relayed Requested outbound transport posture.
routing/failure-mode yes enum: soft-fail, hard-fail Whether the sender allows downgrade if the requested transport posture cannot be satisfied.
relay/acceptable-classes no array Optional relay classes acceptable for outbound privacy realization.
forwarding/max-hops yes integer Maximum number of relay hops allowed for the signal.
forwarding/budget no integer Maximum number of bounded forwards allowed under local policy.
policy_annotations no object Optional implementation- or federation-local annotations that do not change the core semantics.

Definitions

Definition Shape Description
signature object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "routing/profile": {
      "const": "direct"
    }
  },
  "required": [
    "routing/profile"
  ]
}

Then:

{
  "properties": {
    "forwarding/max-hops": {
      "const": 0
    }
  }
}

Rule 2

When:

{
  "properties": {
    "routing/failure-mode": {
      "const": "hard-fail"
    }
  },
  "required": [
    "routing/failure-mode"
  ]
}

Then:

{
  "properties": {
    "routing/profile": {
      "enum": [
        "relayed",
        "onion-relayed"
      ]
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

signal/id

  • Required: yes
  • Shape: string

Stable identifier of the published rumor-style signal.

created-at

  • Required: yes
  • Shape: string

Publication timestamp of the outgoing signal.

sender/node-id

  • Required: yes
  • Shape: string

Infrastructure node that emitted or hosted the outgoing signal. This remains the routing and transport-facing identity even when authored participation is expressed through a pseudonymous nym.

sender/federation-id

  • Required: no
  • Shape: string

Federation scope of the sender when relevant to routing or threshold policy.

rumor/nym

  • Required: yes
  • Shape: string

Pseudonymous author identity of the outgoing signal. This remains application-layer identity material and MUST NOT leak into the transport handshake.

auth/nym-certificate

  • Required: yes
  • Shape: ref: nym-certificate.v1.schema.json

Attached council-issued certificate proving bounded validity of the outgoing rumor nym. Its nym/id should match rumor/nym.

auth/nym-signature

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

Signature over the outgoing whisper-signal body made with the private key corresponding to rumor/nym.

epistemic/class

  • Required: yes
  • Shape: enum: rumor, weak-signal

Explicit epistemic class that prevents the artifact from being treated as evidence.

signal/text

  • Required: yes
  • Shape: string

Sanitized text accepted by the local user before publication.

topic/class

  • Required: yes
  • Shape: string

Normalized issue class used for bounded correlation.

context/facets

  • Required: yes
  • Shape: array

Normalized, low-resolution facets that help correlation without forcing raw disclosure.

confidence

  • Required: yes
  • Shape: number

Local confidence in the quality and relevance of the prepared signal.

disclosure/scope

  • Required: yes
  • Shape: enum: private-correlation, federation-scoped, cross-federation, public-aggregate-only

Maximum disclosure posture allowed for this signal.

source/class

  • Required: no
  • Shape: enum: direct-user, pod-user, operator-observed, derived-local, monus-derived, monus-sensorium-derived

High-level origin class of the signal. monus-derived is used when a local Monus-like wellbeing module prepared the draft before Whisper publication. monus-sensorium-derived is used when Monus relied materially on Sensorium-originated local signals.

source/signal-kinds

  • Required: no
  • Shape: array

Optional high-level local signal classes that materially informed a derived or sensorium-assisted rumor draft.

risk/grade

  • Required: yes
  • Shape: enum: low, moderate, high, critical

Risk grade used to constrain later routing and disclosure.

routing/profile

  • Required: yes
  • Shape: enum: direct, relayed, onion-relayed

Requested outbound transport posture.

routing/failure-mode

  • Required: yes
  • Shape: enum: soft-fail, hard-fail

Whether the sender allows downgrade if the requested transport posture cannot be satisfied.

relay/acceptable-classes

  • Required: no
  • Shape: array

Optional relay classes acceptable for outbound privacy realization.

forwarding/max-hops

  • Required: yes
  • Shape: integer

Maximum number of relay hops allowed for the signal.

forwarding/budget

  • Required: no
  • Shape: integer

Maximum number of bounded forwards allowed under local policy.

policy_annotations

  • Required: no
  • Shape: object

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

Definition Semantics

$defs.signature

  • Shape: object