Files
mesh-catalog/modules/mesh-conditions/module.json
T
jschoubben 265d3b83b2 COND8 (haves and attempts as events): the keeper hears what a node runs and the healers' attempts, and reads neither state
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
2026-11-11 22:53:09 +01:00

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"
]
}
]
}
}