K2 (node-engine verbs): the seat is claimed as one module, and its first views are seat verbs

The definition drops held-by-the-engine, so one module's claim of the seat is read as any other. It gains
first-views (read; any person and the healers) and first-view-again (act; the operator and the healers), not
optional, their inputs and answers those of the view's two tools mesh-sdk's runtime serves; a fixture reads
first-view-again's input. Generated code waits for K21.

Builds: design 47 G §508, §422, §204, §400

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
This commit is contained in:
2026-11-11 15:50:06 +01:00
parent 37a906ed4e
commit 3ccc3cc3cb
2 changed files with 120 additions and 1 deletions
+9
View File
@@ -156,5 +156,14 @@
"processes": [],
"error": "the service manager did not answer"
}
},
{
"name": "first-view-again names the owner, its state and why",
"of": "verb:first-view-again.input",
"given": {
"owner": "mesh-delivery-indexer",
"state": "manifests",
"why": "the picture lags the indexer by hand"
}
}
]
+111 -1
View File
@@ -6,7 +6,6 @@
"domain": "Core",
"decision": "novox/hq ADR 0563",
"description": "The node seat every node's engine holds (novox/hq ADR 0563, ADR 0618 §3, §4): its hand acts on the operator's warrant, its read-only judgements, its compositions and what it reads of a manifest. Each verb is answered on this node's subject, mesh.seat.node-engine.tool.<verb>.<node>, and each event is published on mesh.seat.node-engine.event.<event>.<node>, the node's name its last token, or, for an event whose subject names <node>, there (composed.<node>, running.<node>.<module>): the grants part grants a node's account only its own node's subjects (ADR 0363 §2).",
"held-by-the-engine": true,
"acts": [
{
"step": "compose",
@@ -724,6 +723,117 @@
"$ref": "#/defs/SeatList"
}
},
{
"name": "first-views",
"description": "The node-engine's first views of the owners' states it follows (design 47 G 422, 204): per owner and state, the tool it asks, the revision its picture holds and why it is behind, when it asked and was answered, how many asks and whether its condition is raised; served by mesh-sdk's runtime as the view's read tool.",
"class": "read",
"callers": [
"persons",
"healers"
],
"input": {
"type": "object",
"properties": {}
},
"answer": {
"type": "object",
"required": [
"first-views"
],
"properties": {
"first-views": {
"type": "array",
"items": {
"type": "object"
},
"description": "one status per owner and state followed, as mesh-sdk's views runtime keeps it"
}
}
}
},
{
"name": "first-view-again",
"description": "Ask the node-engine's first view of an owner's state again now, by hand (design 47 G 422, 204): a hand act, its caller and why kept in the status first-views reads; served by mesh-sdk's runtime as the view's again tool.",
"class": "act",
"callers": [
"operator",
"healers"
],
"input": {
"type": "object",
"required": [
"owner",
"state",
"why"
],
"properties": {
"owner": {
"type": "string",
"description": "the owner module, as first-views names it"
},
"state": {
"type": "string",
"description": "the owner's state, as first-views names it"
},
"why": {
"type": "string",
"description": "why it is asked again, in plain words"
}
}
},
"answer": {
"type": "object",
"required": [
"asked",
"read"
],
"properties": {
"asked": {
"type": "object",
"description": "the hand ask written",
"required": [
"v",
"owner",
"state",
"why",
"by",
"at"
],
"properties": {
"v": {
"type": "integer",
"description": "the layout's version"
},
"owner": {
"type": "string",
"description": "the owner module"
},
"state": {
"type": "string",
"description": "the owner's state"
},
"why": {
"type": "string",
"description": "why it was asked again"
},
"by": {
"type": "string",
"description": "the caller the runtime proved"
},
"at": {
"type": "string",
"format": "date-time",
"description": "when it was asked, RFC 3339"
}
}
},
"read": {
"type": "string",
"description": "the verb that reads the status, first-views"
}
}
}
},
{
"name": "process-builds",
"description": "The build each process on this node was started with (design 47 *The revision view*): per service and container the fingerprint the node-engine handed it in MESH_FINGERPRINT, or why it is unknown, and when it started. Narrowed by module. Reads only.",