schemas: the pulse, request and response schemas re-derived for tempo_vote_withdrawn

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-10-31 09:07:01 +01:00
commit bc9e75debe
3 changed files with 16 additions and 3 deletions

View file

@ -18,7 +18,7 @@
},
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.pipeline.pulse.v2.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote) and the urgency she\ndeclares for herself until her next Persona turn. Either may be absent, not\nboth. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote), the withdrawal of\nher standing vote (`tempo_vote_withdrawn`, an explicit null: she counts as\nsilent again), and the urgency she declares for herself until her next\nPersona turn. A pulse says at least one of the three; a withdrawal and a\nbeat are never both. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"properties": {
"instance": {
"$ref": "#/$defs/Slug"
@ -37,6 +37,9 @@
"null"
]
},
"tempo_vote_withdrawn": {
"type": "boolean"
},
"urgency_permille": {
"format": "uint16",
"maximum": 65535,

View file

@ -1305,7 +1305,7 @@
]
},
"PipelinePulse": {
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote) and the urgency she\ndeclares for herself until her next Persona turn. Either may be absent, not\nboth. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote), the withdrawal of\nher standing vote (`tempo_vote_withdrawn`, an explicit null: she counts as\nsilent again), and the urgency she declares for herself until her next\nPersona turn. A pulse says at least one of the three; a withdrawal and a\nbeat are never both. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"type": "object",
"properties": {
"instance": {
@ -1325,6 +1325,9 @@
"format": "uint32",
"minimum": 0
},
"tempo_vote_withdrawn": {
"type": "boolean"
},
"urgency_permille": {
"type": [
"integer",

View file

@ -3084,6 +3084,10 @@
"format": "uint32",
"minimum": 0
},
"tempo_vote_withdrawn": {
"type": "boolean",
"default": false
},
"urgency_permille": {
"type": [
"integer",
@ -3364,7 +3368,7 @@
]
},
"PipelinePulse": {
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote) and the urgency she\ndeclares for herself until her next Persona turn. Either may be absent, not\nboth. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"description": "One Mind's heartbeat vote, in her own mind: the beat she wants (the swarm's\ntempo is the lower median of every Mind's newest vote), the withdrawal of\nher standing vote (`tempo_vote_withdrawn`, an explicit null: she counts as\nsilent again), and the urgency she declares for herself until her next\nPersona turn. A pulse says at least one of the three; a withdrawal and a\nbeat are never both. Instance-rooted: the key is `<instance>:pulse:<label>`, the label\ntime-ordered like a run's.",
"type": "object",
"properties": {
"instance": {
@ -3384,6 +3388,9 @@
"format": "uint32",
"minimum": 0
},
"tempo_vote_withdrawn": {
"type": "boolean"
},
"urgency_permille": {
"type": [
"integer",