Files
mesh-delivery/modules/mesh-delivery-checker/module.json
T
jschoubben ad6c793a2f CK10 (tags): the checker asks no group build through tagged versions
The checker built from G's heads makes no tag-wanted and waits on no published
of a tagged version: tagwanted.go and tags.go go (the verdict sayer stays, in
verdictsay.go), with st.tagged, groupVersions, Case.Tagged, TagAsks, the
PublishedHeard wiring, the group path's tagged Node package and Go packages,
the manifest's two published consumes and the tag-wanted event of asks.

Builds: design 47 G §528, §373, §321

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 14:04:15 +01:00

199 lines
5.7 KiB
JSON

{
"module": "mesh-delivery-checker",
"version": "0.1",
"slug": "checker",
"claims": [
{
"name": "mesh-delivery-checker",
"scope": "mesh",
"serves": [
"try",
"try-read",
"try-end",
"input"
]
}
],
"consumes": [
"mesh-catalog.catalog-revision",
"mesh-catalog.seat-definition-changed",
"mesh-catalog.seat-definition-removed",
"mesh-build-go.toolchain.reported",
"mesh-build-node.toolchain.reported",
"mesh-delivery-assigner.views.assignments",
"mesh-delivery-indexer.views.candidates",
"mesh-delivery-indexer.views.manifests",
"mesh-delivery-indexer.views.modules",
"mesh-delivery-indexer.views.packages",
"mesh-delivery-indexer.views.predefined",
"mesh-delivery-indexer.views.seat-definitions",
"mesh-conditions.findings-asked"
],
"streams": [
{ "name": "checks", "events": ["preview.**", "owed.**", "try.**"] },
{ "name": "asks", "events": ["verdict"], "retention": "history" },
{ "name": "mesh-delivery-checker-findings", "events": ["finding-written.*", "finding-cleared.*", "findings-stated.*"], "max-age-days": 7, "max-mib": 16 }
],
"state": [
{ "name": "asks", "history": 1 },
{ "name": "hearing", "history": 1 },
{ "name": "inputs", "ttl-seconds": 86400 },
{ "name": "compositions", "ttl-seconds": 259200 },
{ "name": "kept", "history": 1 },
{ "name": "owed", "history": 5 },
{ "name": "previews", "history": 5 },
{ "name": "tries", "history": 1 },
{ "name": "verdicts", "history": 5 },
{ "name": "first-views", "history": 1 },
{ "name": "findings", "history": 1 }
],
"reads": [
"mesh-build-go.steps",
"mesh-build-go.toolchains",
"mesh-build-node.steps",
"mesh-build-node.toolchains",
"mesh-delivery-builder.builds",
"mesh-delivery-watchman.presence",
"node-engine.have"
],
"uses": [
"node-build-go",
"node-build-node"
],
"tools": [
"checker_ask_again",
"checker_composition_requests",
"checker_inputs",
"checker_kept",
"checker_previews",
"checker_pull",
"checker_status",
"checker_first_views",
"checker_first_view_again",
"checker_tries",
"checker_try",
"checker_try_end",
"checker_try_read",
"checker_verdicts"
],
"invokes": [
"gitea.gitea_commit_trees",
"gitea.gitea_commits",
"gitea.gitea_compare",
"gitea.gitea_get_file",
"gitea.gitea_list_branches",
"mesh-delivery-assigner.assigner_read_assignments",
"mesh-delivery-indexer.indexer_read_candidates",
"mesh-delivery-indexer.indexer_read_manifests",
"mesh-delivery-indexer.indexer_read_modules",
"mesh-delivery-indexer.indexer_read_packages",
"mesh-delivery-indexer.indexer_read_predefined",
"mesh-delivery-indexer.indexer_read_seat_definitions",
"seat:mesh-catalog.revision",
"seat:mesh-catalog.seat-definitions",
"seat:mesh-config.renames",
"seat:mesh-hand-acts.hand-act",
"seat:node-build-go.drop",
"seat:node-build-node.drop",
"seat:node-engine.compose-candidate"
],
"own-secrets": {
"broker": "${dir:state}/broker"
},
"secrets-owner": "mesh-delivery-checker",
"config": {
"compose-answer-bound": {
"type": "number",
"description": "seconds a check waits for each placed node's engine to answer compose-candidate (novox/hq ADR 0593 §7, §9); a node that has not answered by then is named in the verdict as not composed on that node: no answer, and the check passes with that warning.",
"minimum": 1,
"maximum": 600,
"trusted": false,
"default": 60
},
"build-wait-bound": {
"type": "number",
"description": "seconds a check waits for the builder's builds of its candidate to end before it composes with them (novox/hq ADR 0603 §10); a build failed fails the check, naming it, and a build not ended by then is named in the verdict and the check composes without it.",
"minimum": 60,
"maximum": 7200,
"trusted": false,
"default": 1800
}
},
"resources": [
{
"id": "account",
"type": "user",
"name": "mesh-delivery-checker",
"shell": "/usr/bin/nologin",
"home": "/var/lib/mesh-delivery-checker"
},
{
"id": "state",
"type": "directory",
"mode": "0700",
"owner": "mesh-delivery-checker",
"place": ".",
"unknown": "program"
},
{
"id": "settings",
"type": "file",
"path": "${dir:state}/settings.json",
"mode": "0600",
"owner": "mesh-delivery-checker",
"takes-config": [
"compose-answer-bound",
"build-wait-bound"
],
"merge": "json",
"template": "files/settings.json"
},
{
"id": "checker",
"type": "process",
"name": "mesh-delivery-checker",
"artifact": "program",
"run": [
"./mesh-delivery-checker"
],
"env": {
"MESH_BROKER_FILE": "${dir:state}/broker",
"MESH_CHECKER_SETTINGS": "${dir:state}/settings.json"
},
"user": "mesh-delivery-checker",
"health": {
"kind": "unit"
}
}
],
"build": {
"artifacts": [
{
"name": "program",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/mesh-delivery-checker",
"binary": "mesh-delivery-checker"
},
{
"name": "tools",
"kind": "bundle",
"language": "go",
"system": "arch",
"from": "cmd/mesh-delivery-checker-tools",
"binary": "mesh-delivery-checker-tools",
"loads": [
"mesh-delivery-checker-tools"
]
},
{
"name": "files",
"kind": "archive",
"from": "files"
}
]
}
}