Revert G's mesh-sdk merge (#189): G merged half, and today's validator refuses G's delivery parts
mesh/delivery merged: source.main moved to novox/mesh-sdk@27da949140c6
mesh/check being carried to 8afc3ebdf371 on 93e0a7b50d90 | from 27da949140c6
mesh/delivery merged: source.main moved to novox/mesh-sdk@27da949140c6
mesh/check being carried to 8afc3ebdf371 on 93e0a7b50d90 | from 27da949140c6
The group feat/47-G-join11 merged 3 of 17 members on 2026-11-13; G's mesh-sdk alone on main breaks 25 trunk
modules. The operator chose to put the order right: a reader release first, then G whole. This restores main
to 8fbba810 exactly.
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
@@ -5,13 +5,8 @@
|
||||
"grain": "whole",
|
||||
"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).",
|
||||
"acts": [
|
||||
{
|
||||
"step": "compose",
|
||||
"on": "every"
|
||||
}
|
||||
],
|
||||
"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.",
|
||||
"held-by-the-engine": true,
|
||||
"verbs": [
|
||||
{
|
||||
"name": "hand-over",
|
||||
@@ -34,8 +29,7 @@
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/Asked"
|
||||
},
|
||||
"class": "warrant"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "access-act",
|
||||
@@ -63,8 +57,7 @@
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/Asked"
|
||||
},
|
||||
"class": "warrant"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "judge-directories",
|
||||
@@ -75,8 +68,7 @@
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/Said"
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "setuid-search",
|
||||
@@ -92,8 +84,7 @@
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/Said"
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "root-free",
|
||||
@@ -116,8 +107,7 @@
|
||||
"required": [
|
||||
"machines"
|
||||
]
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "acts",
|
||||
@@ -137,8 +127,7 @@
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/Acts"
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages",
|
||||
@@ -228,8 +217,7 @@
|
||||
"node",
|
||||
"source"
|
||||
]
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "composition",
|
||||
@@ -494,29 +482,6 @@
|
||||
"provisioner_account"
|
||||
],
|
||||
"description": "of the node's own composition, its own fields beside what runs names"
|
||||
},
|
||||
"withheld": {
|
||||
"type": "array",
|
||||
"description": "the module's marked subjects the grants part withholds from this node's runtime, each with why, read through mesh-grants' verb withheld (design 46 approval mark 6)",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"subject": {
|
||||
"type": "string"
|
||||
},
|
||||
"why": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"subject",
|
||||
"why"
|
||||
]
|
||||
}
|
||||
},
|
||||
"withheld-unknown": {
|
||||
"type": "string",
|
||||
"description": "withheld unknown: the grants part does not answer, when its verb withheld did not answer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -526,8 +491,7 @@
|
||||
"composition",
|
||||
"judged"
|
||||
]
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "compose",
|
||||
@@ -590,8 +554,7 @@
|
||||
"required": [
|
||||
"pass"
|
||||
]
|
||||
},
|
||||
"class": "act"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "compose-candidate",
|
||||
@@ -670,8 +633,7 @@
|
||||
"own",
|
||||
"took"
|
||||
]
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "manifest-reads",
|
||||
@@ -711,12 +673,12 @@
|
||||
"stated-at"
|
||||
],
|
||||
"description": "what this machine's engine reads of a manifest (ADR 0618 §3)"
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "seat-list",
|
||||
"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": "the operator and the healers",
|
||||
"input": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
@@ -728,6 +690,7 @@
|
||||
{
|
||||
"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": "the operator and the healers",
|
||||
"input": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
@@ -735,257 +698,6 @@
|
||||
"answer": {
|
||||
"$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; its entries and its kept wants beside (design 47 G 698).",
|
||||
"class": "read",
|
||||
"input": {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
},
|
||||
"answer": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"first-views",
|
||||
"entries",
|
||||
"wants"
|
||||
],
|
||||
"properties": {
|
||||
"first-views": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
},
|
||||
"description": "one status per owner and state followed, as mesh-sdk's views runtime keeps it"
|
||||
},
|
||||
"entries": {
|
||||
"type": "array",
|
||||
"description": "one row per entry the node-engine keeps of a module's build by its fingerprint: when it asked the indexer's entry and where that stands (design 47 G 698)",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"fingerprint",
|
||||
"state",
|
||||
"since"
|
||||
],
|
||||
"properties": {
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the build's fingerprint"
|
||||
},
|
||||
"state": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"asked",
|
||||
"answered",
|
||||
"not-found"
|
||||
],
|
||||
"description": "asked of the indexer, answered, or not found by it"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "since when it stands in that state, RFC 3339"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"wants": {
|
||||
"type": "array",
|
||||
"description": "the wants the node-engine keeps (design 47 G 683, 698)",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"module",
|
||||
"fingerprint",
|
||||
"kept-since"
|
||||
],
|
||||
"properties": {
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "the module the want is of"
|
||||
},
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint wanted"
|
||||
},
|
||||
"kept-since": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "since when the want is kept, RFC 3339"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"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": "entry-again",
|
||||
"description": "Ask the indexer's entry of a build again now, by hand (design 47 G 683, 698): a hand act, its caller and why kept; the answer says what was asked and the verb that reads it.",
|
||||
"class": "act",
|
||||
"input": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"fingerprint",
|
||||
"why"
|
||||
],
|
||||
"properties": {
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the build's fingerprint, as first-views' entries name 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",
|
||||
"fingerprint",
|
||||
"why",
|
||||
"by",
|
||||
"at"
|
||||
],
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer",
|
||||
"description": "the layout's version"
|
||||
},
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the build's fingerprint"
|
||||
},
|
||||
"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.",
|
||||
"input": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "only this module's processes"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"answer": {
|
||||
"$ref": "#/defs/ProcessBuilds"
|
||||
},
|
||||
"class": "read"
|
||||
}
|
||||
],
|
||||
"events": [
|
||||
@@ -1016,46 +728,6 @@
|
||||
"body": {
|
||||
"$ref": "#/defs/ManifestReadsChanged"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "composed",
|
||||
"subject": "composed.<node>",
|
||||
"body": {
|
||||
"$ref": "#/defs/Composed"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "running",
|
||||
"subject": "running.<node>.<module>",
|
||||
"keep": {
|
||||
"max-age-days": 0,
|
||||
"last-per-subject": true
|
||||
},
|
||||
"body": {
|
||||
"$ref": "#/defs/Running"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "wait-held",
|
||||
"subject": "wait-held.<node>.<module>",
|
||||
"keep": {
|
||||
"max-age-days": 0,
|
||||
"last-per-subject": true
|
||||
},
|
||||
"body": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "wait-ended",
|
||||
"subject": "wait-ended.<node>.<module>",
|
||||
"keep": {
|
||||
"max-age-days": 0,
|
||||
"last-per-subject": true
|
||||
},
|
||||
"body": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
}
|
||||
],
|
||||
"family": {
|
||||
@@ -1160,9 +832,6 @@
|
||||
},
|
||||
"handed": {
|
||||
"$ref": "#/defs/AccountsHanded"
|
||||
},
|
||||
"wait": {
|
||||
"$ref": "#/defs/Wait"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -1619,39 +1288,6 @@
|
||||
}
|
||||
],
|
||||
"description": "the findings this node's engine raises about itself, one key per finding, in the layout of the seat mesh-conditions (its findings state): a key written raises the condition of the same key, a key deleted clears it (novox/hq ADR 0564 §2, ADR 0636 §1); today `machine.<node>.seat-list-unread`"
|
||||
},
|
||||
{
|
||||
"name": "bounds",
|
||||
"template": "state",
|
||||
"writer": "holder",
|
||||
"history": 1,
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<what>.<id>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "one bound a wait of the node-engine runs against, kept with its own time to live: its expiry is heard as the bus's delete marker and ends the wait (design 47 G §560, A-77)",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer",
|
||||
"description": "layout version, 1"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"description": "when the wait began, RFC 3339"
|
||||
},
|
||||
"module": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v",
|
||||
"since"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"description": "the bounds of the node-engine's waits, each a key <what>.<id> with its own time to live (design 47 G A-92)"
|
||||
}
|
||||
],
|
||||
"defs": {
|
||||
@@ -2365,17 +2001,6 @@
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"runner-capabilities": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "the capabilities this node's tool runner states of the calls it answers, as its announcement carries them (design 46 approval mark 6)"
|
||||
},
|
||||
"runner-fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint of the tool runner that stated runner-capabilities, as its announcement carries it; empty when it stated none"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -3033,218 +2658,6 @@
|
||||
"state",
|
||||
"since"
|
||||
]
|
||||
},
|
||||
"Composed": {
|
||||
"type": "object",
|
||||
"description": "an entry composed on a node (design 47 *What each step says*)",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer",
|
||||
"description": "the layout's version"
|
||||
},
|
||||
"node": {
|
||||
"type": "string",
|
||||
"description": "the node"
|
||||
},
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "the module"
|
||||
},
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint of the want composed"
|
||||
},
|
||||
"digest": {
|
||||
"type": "string",
|
||||
"description": "the digest of the composition (design 47 G 404)"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"description": "when, RFC 3339",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v",
|
||||
"node",
|
||||
"module",
|
||||
"fingerprint",
|
||||
"digest",
|
||||
"at"
|
||||
]
|
||||
},
|
||||
"Running": {
|
||||
"type": "object",
|
||||
"description": "a module's build running on a node, and its health: what the node-engines of other nodes and the grants part decide a seat's pass from (ADR 0660 §2), and the assigner reads a provider's and a canary's health and a put's end from (design 47 G 520); said again on the same subject each time healthy changes and for every module the have holds at the engine's start, kept last per subject with no age limit",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer",
|
||||
"description": "the layout's version"
|
||||
},
|
||||
"node": {
|
||||
"type": "string",
|
||||
"description": "the node"
|
||||
},
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "the module"
|
||||
},
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint of the build it runs; none with stopped"
|
||||
},
|
||||
"manifest": {
|
||||
"type": "string",
|
||||
"description": "the digest of that build's manifest, the indexer's manifest of it, read by digest from the catalog half"
|
||||
},
|
||||
"healthy": {
|
||||
"type": [
|
||||
"boolean",
|
||||
"null"
|
||||
],
|
||||
"description": "the health of the build that runs, as the node-engine's have holds it from the module's declared check (ADR 0240); a running with none, said by a node-engine of before design 47 G, reads as healthy (design 47 G 520). SeatsToPassOn reads none of it: an unhealthy holder still holds its seat"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"description": "when it was said, RFC 3339",
|
||||
"format": "date-time"
|
||||
},
|
||||
"stopped": {
|
||||
"type": "boolean",
|
||||
"description": "true when the have no longer holds the module on the node, never for an unhealthy build: no fingerprint or manifest then (design 47 G 365, 404, 520); mesh-sdk's SeatsToPassOn counts such a module as not running there"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v",
|
||||
"node",
|
||||
"module",
|
||||
"at"
|
||||
]
|
||||
},
|
||||
"ProcessBuild": {
|
||||
"type": "object",
|
||||
"description": "the build one process of a module was started with",
|
||||
"properties": {
|
||||
"module": {
|
||||
"type": "string",
|
||||
"description": "the module"
|
||||
},
|
||||
"process": {
|
||||
"type": "string",
|
||||
"description": "the service's unit or the container's name"
|
||||
},
|
||||
"kind": {
|
||||
"type": "string",
|
||||
"description": "service or container",
|
||||
"enum": [
|
||||
"service",
|
||||
"container"
|
||||
]
|
||||
},
|
||||
"fingerprint": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint handed to it in MESH_FINGERPRINT; empty when it was started without one"
|
||||
},
|
||||
"unknown": {
|
||||
"type": "string",
|
||||
"description": "why its build is unknown: started before the node-engine handed MESH_FINGERPRINT, or the value could not be read"
|
||||
},
|
||||
"started": {
|
||||
"type": "string",
|
||||
"description": "when it was started, RFC 3339",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"module",
|
||||
"process",
|
||||
"kind"
|
||||
]
|
||||
},
|
||||
"ProcessBuilds": {
|
||||
"type": "object",
|
||||
"description": "what process-builds answers",
|
||||
"properties": {
|
||||
"node": {
|
||||
"type": "string",
|
||||
"description": "the node"
|
||||
},
|
||||
"processes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/defs/ProcessBuild"
|
||||
},
|
||||
"description": "every process the node-engine started, by module"
|
||||
},
|
||||
"error": {
|
||||
"type": "string",
|
||||
"description": "why they could not be read"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"node",
|
||||
"processes"
|
||||
]
|
||||
},
|
||||
"Wait": {
|
||||
"type": "object",
|
||||
"description": "a hold or wait a node-engine says, the fields of the seat mesh-wants' wait (design 47 G 498, 512, 629); in the have it also carries ask-at and act (design 47 G 560)",
|
||||
"properties": {
|
||||
"owner": {
|
||||
"type": "string",
|
||||
"description": "the seat holding the wait: node-engine"
|
||||
},
|
||||
"step": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"compose",
|
||||
"kept-build"
|
||||
],
|
||||
"description": "compose: a hold of the composition (a restore point missing, an entry missing, parts that differ, a recovery that waits); kept-build: waiting for a kept build (design 47 G 499, 541)"
|
||||
},
|
||||
"node": {
|
||||
"type": "string",
|
||||
"description": "the node waited on: the build node for a kept build; the subject's <node> is the node that says it"
|
||||
},
|
||||
"on": {
|
||||
"type": "string",
|
||||
"description": "what it waits on"
|
||||
},
|
||||
"bound": {
|
||||
"type": "string",
|
||||
"description": "a duration such as 30m"
|
||||
},
|
||||
"since": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
},
|
||||
"clock-from": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "the time the bound counts from (design 47 G 266, 269, 498)"
|
||||
},
|
||||
"words": {
|
||||
"type": "string",
|
||||
"description": "the wait said in words"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string",
|
||||
"description": "why it holds, such as restore point missing, entry-missing, parts-differ, node away or build no longer kept (design 47 G 541, 499)"
|
||||
},
|
||||
"ask-at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "in the have: the time of the first ask of the recovery module for this wait (design 47 G 560)"
|
||||
},
|
||||
"act": {
|
||||
"type": "string",
|
||||
"description": "in the have: the act the recovery module answered accepted with (design 47 G 560)"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"step",
|
||||
"since"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user