K4, K5 (node-engine waits): the seat says wait-held and wait-ended, and the have carries its wait
defs.Wait has the fields of a wait (owner, step compose or kept-build, node, on, bound, since, clock-from, words, reason) and, in the have, ask-at and act; wait-held.<node>.<module> and wait-ended.<node>.<module> are kept last per subject on the stream running is kept on; the have's value gains wait, waits stays. Generated code waits for K21. Builds: design 47 G §498, §499, §541, §556, §560, §629 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
@@ -131,5 +131,32 @@
|
||||
"stopped": true,
|
||||
"at": "2026-11-11T09:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "a kept build's wait is held",
|
||||
"of": "event:wait-held",
|
||||
"subject": "mesh.seat.node-engine.event.wait-held.ace.postgres",
|
||||
"given": {
|
||||
"owner": "node-engine",
|
||||
"step": "kept-build",
|
||||
"node": "ace",
|
||||
"on": "the kept build of postgres",
|
||||
"bound": "60m",
|
||||
"since": "2026-11-11T10:00:00Z",
|
||||
"clock-from": "2026-11-11T10:00:00Z",
|
||||
"words": "waiting for the kept build of postgres on ace",
|
||||
"reason": "node away"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "a hold of the composition ends",
|
||||
"of": "event:wait-ended",
|
||||
"subject": "mesh.seat.node-engine.event.wait-ended.ace.postgres",
|
||||
"given": {
|
||||
"owner": "node-engine",
|
||||
"step": "compose",
|
||||
"since": "2026-11-11T10:00:00Z",
|
||||
"reason": "restore point missing"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -515,5 +515,28 @@
|
||||
"contract": 3,
|
||||
"at": "2026-11-05T12:00:00Z"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "a have that waits for the recovery module, with its wait, ask-at and act (design 47 G 560, 629)",
|
||||
"of": "state:have/<node>.<module>",
|
||||
"given": {
|
||||
"v": 1,
|
||||
"fp": "0123456789ab",
|
||||
"phase": "held",
|
||||
"detail": "waiting for a restore point",
|
||||
"wait": {
|
||||
"owner": "node-engine",
|
||||
"step": "compose",
|
||||
"on": "the recovery module's ended",
|
||||
"bound": "90m",
|
||||
"since": "2026-11-11T10:00:00Z",
|
||||
"clock-from": "2026-11-11T10:00:00Z",
|
||||
"words": "waiting for the point of postgres's data",
|
||||
"reason": "recovery wait",
|
||||
"ask-at": "2026-11-11T10:00:00Z",
|
||||
"act": "a-20261111t100000"
|
||||
},
|
||||
"health": "waits"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -904,6 +904,28 @@
|
||||
"body": {
|
||||
"$ref": "#/defs/Running"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "wait-held",
|
||||
"subject": "wait-held.<node>.<module>",
|
||||
"keep": {
|
||||
"max-age-days": 0,
|
||||
"last-per-subject": true
|
||||
},
|
||||
"body": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "wait-ended",
|
||||
"subject": "wait-ended.<node>.<module>",
|
||||
"keep": {
|
||||
"max-age-days": 0,
|
||||
"last-per-subject": true
|
||||
},
|
||||
"body": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
}
|
||||
],
|
||||
"family": {
|
||||
@@ -1008,6 +1030,9 @@
|
||||
},
|
||||
"handed": {
|
||||
"$ref": "#/defs/AccountsHanded"
|
||||
},
|
||||
"wait": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -2986,6 +3011,66 @@
|
||||
"node",
|
||||
"processes"
|
||||
]
|
||||
},
|
||||
"Wait": {
|
||||
"type": "object",
|
||||
"description": "a hold or wait a node-engine says, the fields of the seat mesh-wants' wait (design 47 G 498, 512, 629); in the have it also carries ask-at and act (design 47 G 560)",
|
||||
"properties": {
|
||||
"owner": {
|
||||
"type": "string",
|
||||
"description": "the seat holding the wait: node-engine"
|
||||
},
|
||||
"step": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"compose",
|
||||
"kept-build"
|
||||
],
|
||||
"description": "compose: a hold of the composition (a restore point missing, an entry missing, parts that differ, a recovery that waits); kept-build: waiting for a kept build (design 47 G 499, 541)"
|
||||
},
|
||||
"node": {
|
||||
"type": "string",
|
||||
"description": "the node waited on: the build node for a kept build; the subject's <node> is the node that says it"
|
||||
},
|
||||
"on": {
|
||||
"type": "string",
|
||||
"description": "what it waits on"
|
||||
},
|
||||
"bound": {
|
||||
"type": "string",
|
||||
"description": "a duration such as 30m"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"clock-from": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "the time the bound counts from (design 47 G 266, 269, 498)"
|
||||
},
|
||||
"words": {
|
||||
"type": "string",
|
||||
"description": "the wait said in words"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"description": "why it holds, such as restore point missing, entry-missing, parts-differ, node away or build no longer kept (design 47 G 541, 499)"
|
||||
},
|
||||
"ask-at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "in the have: the time of the first ask of the recovery module for this wait (design 47 G 560)"
|
||||
},
|
||||
"act": {
|
||||
"type": "string",
|
||||
"description": "in the have: the act the recovery module answered accepted with (design 47 G 560)"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"step",
|
||||
"since"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user