mesh/merge-gate out of date: judged against trunk ebf7f3773dc7, the trunk is now e846c289c878; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk ebf7f3773dc7, the trunk is now e846c289c878; judged again on a recheck or when it is merged
mesh/delivery-group group fix/145-a-consumer-is-held-under-its-provider checking: composed check out of date: novox/mesh-catalog@b62bb158398d was judged agains…
mesh/delivery superseded: a newer head of the same pull request
gitea, nextcloud, umami and n8n gain an http check that reaches their database through their own endpoint; mesh-knowledge's watch already asks the database and now names it. While postgres is unhealthy, their findings are held under its condition instead of raising one each.
188 lines
3.9 KiB
JSON
188 lines
3.9 KiB
JSON
{
|
|
"module": "mesh-knowledge",
|
|
"version": "1",
|
|
"slug": "knowledge",
|
|
"requires": [
|
|
"postgres-database"
|
|
],
|
|
"contributes": {
|
|
"postgres-database": {
|
|
"name": "knowledge"
|
|
}
|
|
},
|
|
"binds": {
|
|
"postgres-database": "${dir:state}/database.json"
|
|
},
|
|
"secrets": {
|
|
"postgres-database": "${dir:state}/database.secret"
|
|
},
|
|
"seats": [
|
|
{
|
|
"name": "knowledge-base",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"ask",
|
|
"get",
|
|
"holds",
|
|
"links",
|
|
"history",
|
|
"reserve",
|
|
"propose",
|
|
"import",
|
|
"return"
|
|
]
|
|
}
|
|
],
|
|
"claims": [
|
|
{
|
|
"name": "knowledge-base",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"ask",
|
|
"get",
|
|
"holds",
|
|
"links",
|
|
"history",
|
|
"reserve",
|
|
"propose",
|
|
"import",
|
|
"return"
|
|
]
|
|
}
|
|
],
|
|
"tools": [
|
|
"knowledge_health",
|
|
"knowledge_highest"
|
|
],
|
|
"emits": [
|
|
"reserved",
|
|
"proposed",
|
|
"reviewed",
|
|
"accepted",
|
|
"changed",
|
|
"imported",
|
|
"drafted",
|
|
"confirmed",
|
|
"returned"
|
|
],
|
|
"uses": [
|
|
"operator-channel"
|
|
],
|
|
"invokes": [
|
|
"seat:issue-tracker.reserve",
|
|
"claude-code.claude_code_judge",
|
|
"claude-code.claude_code_judged",
|
|
"records.records_status",
|
|
"records.records_list",
|
|
"records.records_read",
|
|
"seat:operator-channel.notify"
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"place": "."
|
|
},
|
|
{
|
|
"id": "database-url",
|
|
"type": "file",
|
|
"path": "${dir:state}/database.url",
|
|
"mode": "0600",
|
|
"content": "postgresql://${bound:postgres-database:as}:${secret:postgres-database}@${bound:postgres-database:at}:${bound:postgres-database:port}/${bound:postgres-database:as}\n"
|
|
},
|
|
{
|
|
"id": "settings",
|
|
"trusted": false,
|
|
"type": "file",
|
|
"path": "${dir:state}/settings.json",
|
|
"mode": "0600",
|
|
"merge": "json",
|
|
"content": "{\n \"judge-model\": \"sonnet\",\n \"drafting\": \"on\",\n \"reserved-for\": \"168h\"\n}\n"
|
|
},
|
|
{
|
|
"id": "prepare",
|
|
"type": "process",
|
|
"name": "mesh-knowledge-prepare",
|
|
"artifact": "tools",
|
|
"run": [
|
|
"./mesh-knowledge",
|
|
"prepare"
|
|
],
|
|
"run-once": true,
|
|
"env": {
|
|
"DATABASE_URL_FILE": "${dir:state}/database.url"
|
|
},
|
|
"restart-on": [
|
|
"database-url"
|
|
]
|
|
},
|
|
{
|
|
"id": "keep",
|
|
"type": "process",
|
|
"name": "mesh-knowledge-keep",
|
|
"artifact": "tools",
|
|
"run": [
|
|
"./mesh-knowledge",
|
|
"keep"
|
|
],
|
|
"env": {
|
|
"DATABASE_URL_FILE": "${dir:state}/database.url"
|
|
},
|
|
"restart-on": [
|
|
"database-url"
|
|
],
|
|
"health": {
|
|
"kind": "unit"
|
|
}
|
|
},
|
|
{
|
|
"id": "watch",
|
|
"type": "process",
|
|
"name": "mesh-knowledge-watch",
|
|
"artifact": "tools",
|
|
"run": [
|
|
"./mesh-knowledge",
|
|
"watch"
|
|
],
|
|
"user": "${machine:account}",
|
|
"env": {
|
|
"DATABASE_URL_FILE": "${dir:state}/database.url",
|
|
"MESH_KNOWLEDGE_STATUS": "${dir:state}/health.json"
|
|
},
|
|
"restart-on": [
|
|
"database-url"
|
|
],
|
|
"health": {
|
|
"kind": "tool",
|
|
"tool": "knowledge_health",
|
|
"needs": "postgres-database",
|
|
"interval": "60s",
|
|
"timeout": "10s",
|
|
"looks": 2,
|
|
"grace": "180s"
|
|
}
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-knowledge",
|
|
"binary": "mesh-knowledge",
|
|
"loads": [
|
|
"mesh-knowledge"
|
|
],
|
|
"env": {
|
|
"DATABASE_URL_FILE": "${dir:state}/database.url",
|
|
"MESH_KNOWLEDGE_SETTINGS": "${dir:state}/settings.json",
|
|
"MESH_KNOWLEDGE_STATUS": "${dir:state}/health.json"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|