Files
mesh-delivery/contracts/seats/node-build-node/seat.json
T
jschoubben 440d02afb3 D1: the build step part gains the state again, run, again-at, passing and the verb drop; the three build seats regenerated (ADR 0664 §1, §4, issue 1748)
Shared lines for the join with milestone G: contracts/parts/build-step.json, the three seats' fixtures and generated contract files.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-09 22:54:42 +01:00

96 lines
2.1 KiB
JSON

{
"format": 1,
"seat": "node-build-node",
"scope": "node",
"grain": "whole",
"domain": "Delivery",
"decision": "novox/hq ADR 0525, ADR 0536, ADR 0553",
"pulled-by-kind": true,
"yields": true,
"accepts": [
{
"name": "delivery",
"body": {
"$ref": "#/defs/StepAsk"
}
},
{
"name": "check",
"body": {
"$ref": "#/defs/StepAsk"
}
},
{
"name": "recheck",
"body": {
"$ref": "#/defs/StepAsk"
}
}
],
"description": "The Node build module on a node: it takes the asks of the builder and the checker, runs them as steps and answers.",
"includes": [
"build-step"
],
"states": [
{
"name": "steps",
"template": "state",
"key-forms": [
{
"key": "<node>.<id>",
"value": {
"$ref": "#/defs/Step"
},
"description": "a step on a node"
}
],
"description": "the steps this module runs",
"history": 5
},
{
"name": "pauses",
"template": "state",
"key-forms": [
{
"key": "paused.<node>",
"value": {
"$ref": "#/defs/Pause"
},
"description": "whether a node is paused"
},
{
"key": "dropped.<id>",
"value": {
"$ref": "#/defs/Drop"
},
"description": "an ask its caller no longer waits for"
},
{
"key": "capacity.<node>",
"value": {
"$ref": "#/defs/Capacity"
},
"description": "a node's capacity"
}
],
"description": "the pause and the capacity of each node",
"history": 1
},
{
"name": "toolchains",
"template": "state",
"key-forms": [
{
"key": "<node>.<language>",
"value": {
"$ref": "#/defs/Toolchain"
},
"description": "the toolchain a node reports"
}
],
"description": "the toolchains the nodes report",
"history": 1
}
]
}