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¶
doc/project/20-memos/orbiplex-whisper.mddoc/project/30-stories/story-005.mddoc/project/40-proposals/013-whisper-social-signal-exchange.md
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