C3, C5, C11 (answers): mesh-broker's write verbs name module:nats, node-engine's seat-list verbs the callers its code names, mesh-conditions declares findings-views

create and apply are of class act; recreate and drop of class warrant; all four called by module:nats.
seat-list and seat-list-again name persons, sessions and healers as SeatListCallers does.

Builds: design 47 G §336, §388, §391, §392, §393

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-11 10:44:34 +01:00
parent 26ef347d27
commit 77e583be44
3 changed files with 83 additions and 9 deletions
@@ -434,6 +434,66 @@
}
],
"description": "every observer's findings, one key per finding, kept in the observer's own state and read only by its owner's read tool; the keeper hears each change as the observer's events finding-written, finding-cleared and findings-stated (design 47 G 383, 434)"
},
{
"name": "findings-views",
"template": "state",
"description": "the keeper's sources: one key per observer and node, its last stated set with its at, its pending keys and the open asks; deleted when the module leaves the catalog or the node (design 47 G 388)",
"key-forms": [
{
"key": "<observer>.<node>",
"description": "one observer on one node",
"value": {
"type": "object",
"properties": {
"v": {
"type": "integer"
},
"observer": {
"type": "string"
},
"node": {
"type": "string"
},
"stated": {
"type": "object",
"description": "the last findings-stated set",
"properties": {
"at": {
"type": "string",
"format": "date-time"
},
"findings": {
"type": "array",
"items": {
"$ref": "#/bodies/Finding"
}
}
}
},
"pending": {
"type": "array",
"items": {
"type": "string"
},
"description": "the keys it cannot judge yet"
},
"asks": {
"type": "array",
"items": {
"type": "string"
},
"description": "the open asks"
}
},
"required": [
"v",
"observer",
"node"
]
}
}
]
}
],
"defs": {
+20 -8
View File
@@ -143,43 +143,54 @@
{
"name": "create",
"description": "Create one entry now.",
"callers": "the bus module's own process only",
"callers": [
"module:nats"
],
"input": {
"$ref": "#/defs/Entry"
},
"answer": {
"$ref": "#/defs/Held"
},
"optional": true
"optional": true,
"class": "act"
},
{
"name": "apply",
"description": "Apply a difference that only grows: a larger cap, a longer age.",
"callers": "the bus module's own process only",
"callers": [
"module:nats"
],
"input": {
"$ref": "#/defs/Named"
},
"answer": {
"$ref": "#/defs/Held"
},
"optional": true
"optional": true,
"class": "act"
},
{
"name": "recreate",
"description": "Rebuild an entry whose settings differ in a way that cannot grow, from its data where the storage type allows, after a stream snapshot.",
"callers": "the bus module's process, on the operator's warrant",
"callers": [
"module:nats"
],
"input": {
"$ref": "#/defs/Warranted"
},
"answer": {
"$ref": "#/defs/Held"
},
"optional": true
"optional": true,
"class": "warrant"
},
{
"name": "drop",
"description": "Remove one orphan, after a stream snapshot.",
"callers": "the bus module's process, on the operator's warrant",
"callers": [
"module:nats"
],
"input": {
"$ref": "#/defs/Warranted"
},
@@ -199,7 +210,8 @@
"dropped"
]
},
"optional": true
"optional": true,
"class": "warrant"
},
{
"name": "snapshot-kept",
+3 -1
View File
@@ -686,6 +686,7 @@
"description": "The seat list this engine holds and what it waits for (novox/hq ADR 0636 §7): each seat's source (trunk or bootstrap) and digest, the seats held from the bootstrap alone, the definitions refused, the last error and whether the seat mesh-catalog has answered. Read-only.",
"callers": [
"persons",
"sessions",
"healers"
],
"input": {
@@ -700,7 +701,8 @@
"name": "seat-list-again",
"description": "Make this engine read the seat list from the seat mesh-catalog now (novox/hq ADR 0636 §7), the recovery of a list unread; it answers what it holds afterwards, and the error when the read failed. A read that changed nothing still ends the engine's wait.",
"callers": [
"operator",
"persons",
"sessions",
"healers"
],
"input": {