122 lines
2.8 KiB
JSON
122 lines
2.8 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"
|
|
}
|
|
}
|
|
]
|