The operator, 2026-10-30: an Approve must be acted on and known at once, and a session should hear approval requests. Adds mesh-delivery-gate.approval (approved, or approved and not handed past 60 s) and, one family per asker that uses the operator-channel seat, operator-channel.asked.<asker> and operator-channel.decided.<asker>. Named one by one (ADR 0367 §2). Needs mesh-catalog fix/turn-handed-on-approve first: the gate's approval event and the seat's asked event are declared there.
87 lines
2.0 KiB
JSON
87 lines
2.0 KiB
JSON
{
|
|
"module": "node-tools",
|
|
"version": "1",
|
|
"slug": "node-tools",
|
|
"invokes": [
|
|
"*"
|
|
],
|
|
"waits": [
|
|
"mesh-knowledge.reviewed",
|
|
"mesh-delivery-gate.transition",
|
|
"gitea.forge.status",
|
|
"mesh-controller.checked",
|
|
"operator-channel.decided.claude-code",
|
|
"mesh-delivery-gate.approval",
|
|
"operator-channel.decided.mesh-config",
|
|
"operator-channel.decided.mesh-delivery-assigner",
|
|
"operator-channel.decided.mesh-delivery-teller",
|
|
"operator-channel.decided.mesh-grants",
|
|
"operator-channel.decided.mesh-knowledge",
|
|
"operator-channel.decided.mesh-mail",
|
|
"operator-channel.decided.pacman",
|
|
"operator-channel.asked.claude-code",
|
|
"operator-channel.asked.mesh-config",
|
|
"operator-channel.asked.mesh-delivery-assigner",
|
|
"operator-channel.asked.mesh-delivery-teller",
|
|
"operator-channel.asked.mesh-grants",
|
|
"operator-channel.asked.mesh-knowledge",
|
|
"operator-channel.asked.mesh-mail",
|
|
"operator-channel.asked.pacman"
|
|
],
|
|
"provides": [
|
|
{
|
|
"name": "mcp-endpoint",
|
|
"scope": "node",
|
|
"answered-by": "helper"
|
|
}
|
|
],
|
|
"serves": {
|
|
"mcp-endpoint": {
|
|
"port": 4270
|
|
}
|
|
},
|
|
"own-secrets": {
|
|
"broker": "${dir:mesh-state}/broker"
|
|
},
|
|
"listens": [
|
|
{
|
|
"name": "mcp",
|
|
"port": 4270,
|
|
"protocol": "tcp",
|
|
"from": "machine",
|
|
"why": "the mesh's tools for whoever is on this machine, over MCP on loopback; the machine's login is the authority (novox/hq ADR 0152, 0175)"
|
|
}
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "mesh-state",
|
|
"type": "directory",
|
|
"mode": "0755",
|
|
"place": "mesh"
|
|
},
|
|
{
|
|
"id": "interpreter",
|
|
"type": "package",
|
|
"package": "nodejs"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "runtime",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/node-tools",
|
|
"binary": "node-tools"
|
|
}
|
|
]
|
|
},
|
|
"state": [
|
|
"bound"
|
|
],
|
|
"reads": [
|
|
"mesh-controller.assignments"
|
|
]
|
|
}
|