Files
mesh-contracts/seats/node-engine/fixtures/verbs.json
T
jschoubben dbb197b0c7 AM-H1 contract: the node-engine's composition answer names the withheld subjects
A session reads in one composition why a marked tool is not served on a node,
or that the grants part did not answer.

Builds: design 46 7 §6 (the node-engine's composition of the module names the withheld subjects; "withheld unknown: the grants part does not answer"), lead answer A-239 (withheld, withheld-unknown)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 06:26:10 +01:00

264 lines
6.3 KiB
JSON

[
{
"name": "manifest-reads answers what the engine reads and when it stated it",
"of": "verb:manifest-reads.answer",
"given": {
"v": 1,
"node": "ace",
"manifest-reads": [
"form:seat-reference",
"word:series"
],
"stated-at": "2026-11-04T10:00:00Z"
}
},
{
"name": "manifest-reads of an engine built before it said them is the baseline",
"of": "verb:manifest-reads.answer",
"given": {
"v": 1,
"node": "g14",
"stated-at": "2026-11-04T10:05:00Z"
}
},
{
"name": "compose-candidate asks the candidate and, as a boolean, its composition input",
"of": "verb:compose-candidate.input",
"given": {
"candidate": "mesh-host.0123abcd",
"input": true
}
},
{
"name": "compose-candidate answers per module and the node's own",
"of": "verb:compose-candidate.answer",
"given": {
"v": 1,
"node": "ace",
"candidate": "mesh-host.0123abcd",
"verdict": "composed",
"modules": [
{
"module": "plex",
"fp": "fp-1",
"state": "composed",
"digest": "sha256:aa",
"changed": true
}
],
"own": {
"module": "node",
"state": "composed",
"digest": "sha256:bb"
},
"took": 1200
}
},
{
"name": "acts answers each act kept",
"of": "verb:acts.answer",
"given": {
"node": "ace",
"acts": [
{
"id": "hand-over-1",
"act": "hand-over",
"subject": "/srv/media",
"caller": "mesh-tools",
"at": "2026-11-04T09:00:00Z",
"state": "asked",
"ask": "hand-over-1",
"expires": "2026-11-05T09:00:00Z"
}
]
}
},
{
"name": "seat-list answers what the engine holds and what it waits for",
"of": "verb:seat-list.answer",
"given": {
"status": {
"heard": false,
"held": [
{
"seat": "node-engine",
"source": "bootstrap"
},
{
"seat": "node-files",
"source": "trunk",
"digest": "3f2a9c"
}
],
"waiting": [
"node-engine"
],
"last-error": "no answer"
},
"health": "the seat list is held from the bootstrap and nothing new is acted on"
}
},
{
"name": "seat-list-again answers the error when the read failed",
"of": "verb:seat-list-again.answer",
"given": {
"status": {
"heard": false,
"held": [
{
"seat": "node-engine",
"source": "bootstrap"
}
],
"waiting": [
"node-engine"
]
},
"health": "the seat list is held from the bootstrap",
"error": "seatlist: no answer"
}
},
{
"name": "process-builds asks one module",
"of": "verb:process-builds.input",
"given": {
"module": "nats"
}
},
{
"name": "process-builds answers each process's build",
"of": "verb:process-builds.answer",
"given": {
"node": "ace",
"processes": [
{
"module": "nats",
"process": "nats.service",
"kind": "service",
"fingerprint": "src2:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"started": "2026-11-09T19:00:00Z"
},
{
"module": "route-proxy",
"process": "route-proxy",
"kind": "container",
"unknown": "started before the node-engine handed MESH_FINGERPRINT",
"started": "2026-11-01T08:00:00Z"
}
]
}
},
{
"name": "process-builds answers an error",
"of": "verb:process-builds.answer",
"given": {
"node": "ace",
"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"
}
},
{
"name": "first-views answers its entries and its kept wants",
"of": "verb:first-views.answer",
"given": {
"first-views": [],
"entries": [
{
"fingerprint": "b3f1c9",
"state": "asked",
"since": "2026-11-11T08:00:00Z"
},
{
"fingerprint": "a77d02",
"state": "answered",
"since": "2026-11-11T08:01:00Z"
},
{
"fingerprint": "0c1e55",
"state": "not-found",
"since": "2026-11-11T08:02:00Z"
}
],
"wants": [
{
"module": "mesh-delivery-indexer",
"fingerprint": "b3f1c9",
"kept-since": "2026-11-11T07:00:00Z"
}
]
}
},
{
"name": "entry-again names the fingerprint and why",
"of": "verb:entry-again.input",
"given": {
"fingerprint": "b3f1c9",
"why": "the entry could not be read"
}
},
{
"name": "entry-again answers what was asked and where it is read",
"of": "verb:entry-again.answer",
"given": {
"asked": {
"v": 1,
"fingerprint": "b3f1c9",
"why": "the entry could not be read",
"by": "operator@shanks",
"at": "2026-11-11T08:00:00Z"
},
"read": "first-views"
}
},
{
"name": "composition names what the grants part withholds of the module",
"of": "verb:composition.answer",
"given": {
"node": "workstation",
"module": "zsh",
"started": false,
"composition": {
"key": ""
},
"judged": {
"judgement": "",
"waits_for_yes": false,
"words": ""
},
"withheld": [
{
"subject": "mesh.mod.zsh.tool.execute",
"why": "its tool runner does not state approval-mark/1"
}
]
}
},
{
"name": "composition says withheld unknown when the grants part does not answer",
"of": "verb:composition.answer",
"given": {
"node": "workstation",
"module": "zsh",
"started": false,
"composition": {
"key": ""
},
"judged": {
"judgement": "",
"waits_for_yes": false,
"words": ""
},
"withheld-unknown": "withheld unknown: the grants part does not answer"
}
}
]