The keeper copies owner and waiting-on from the finding at raising (and into a condition kept from before G at its next change), hands a pipeline-failed to operator-channel after the setting owner-handover-seconds (default two hours, timed from the finding's since as a bound with its own time to live), says each change as the change owner, and the tool conditions_owner sets an owner now, written in the hand-act log. Builds: design 47 G §540, §685, §678, §557, A-58 (seed-waits: the indexer sets the finding's waiting-on; no kind rule here) Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
113 lines
2.7 KiB
JSON
113 lines
2.7 KiB
JSON
{
|
|
"module": "mesh-conditions",
|
|
"version": "1",
|
|
"runs-as": "mesh-conditions",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-conditions",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"conditions",
|
|
"silence",
|
|
"resync"
|
|
]
|
|
}
|
|
],
|
|
"reads": [
|
|
"mesh-healers.attempts",
|
|
"node-engine.have"
|
|
],
|
|
"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"
|
|
],
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|