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
264 lines
6.3 KiB
JSON
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"
|
|
}
|
|
}
|
|
]
|