The node-engine's composed, running, wait-held and wait-ended make the have the hold compares with the wants; the healers' attempt-changed makes an attempt, dropped at its until on the keeper's own clock (a bound with its own time to live) or when removed. The manifest's reads are gone and its consumes gain the five events. Builds: design 47 G §541, §665, §556, §499, §434 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
113 lines
2.8 KiB
JSON
113 lines
2.8 KiB
JSON
{
|
|
"module": "mesh-conditions",
|
|
"version": "1",
|
|
"runs-as": "mesh-conditions",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-conditions",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"conditions",
|
|
"silence",
|
|
"resync"
|
|
]
|
|
}
|
|
],
|
|
"invokes": [
|
|
"mesh-delivery-assigner.assigner_read_wants",
|
|
"mesh-delivery-assigner.assigner_read_assignments",
|
|
"seat:mesh-hand-acts.hand-act",
|
|
"seat:mesh-wants.revision",
|
|
"seat:mesh-catalog.registrations",
|
|
"seat:mesh-catalog.revision",
|
|
"seat:mesh-broker.list"
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-assigner.views.wants",
|
|
"mesh-delivery-assigner.views.assignments",
|
|
"*.finding-written",
|
|
"*.finding-cleared",
|
|
"*.findings-stated",
|
|
"mesh-watchdogs.machine-away",
|
|
"mesh-watchdogs.machine-back",
|
|
"mesh-wants.assignment-revision",
|
|
"mesh-catalog.registration-changed",
|
|
"mesh-catalog.catalog-revision",
|
|
"mesh-broker.created",
|
|
"node-engine.running",
|
|
"node-engine.composed",
|
|
"node-engine.wait-held",
|
|
"node-engine.wait-ended",
|
|
"mesh-healers.attempt-changed"
|
|
],
|
|
"state": [
|
|
"conditions",
|
|
{
|
|
"name": "history",
|
|
"ttl-seconds": 7776000
|
|
},
|
|
"held",
|
|
"findings-views",
|
|
{
|
|
"name": "bounds",
|
|
"key-ttl": true
|
|
}
|
|
],
|
|
"config": {
|
|
"ask-bound-seconds": {
|
|
"type": "number",
|
|
"description": "How long an observer has to state its findings after an ask, in seconds, before the keeper raises findings-unstated for it: 300 is five minutes.",
|
|
"minimum": 1,
|
|
"default": 300
|
|
},
|
|
"owner-handover-seconds": {
|
|
"type": "number",
|
|
"description": "How long a failed head stays its commit's author's, in seconds, before the keeper hands its condition to the operator: 7200 is two hours.",
|
|
"minimum": 1,
|
|
"default": 7200
|
|
},
|
|
"view-waits-seconds": {
|
|
"type": "number",
|
|
"description": "How long a first view may stay unanswered, in seconds, before the keeper raises view-waits for it: 300 is five minutes.",
|
|
"minimum": 1,
|
|
"default": 300
|
|
}
|
|
},
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-conditions",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-conditions",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-conditions"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-conditions",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-conditions",
|
|
"binary": "mesh-conditions",
|
|
"loads": [
|
|
"mesh-conditions"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|