mesh/delivery-group group feat/take-in rejected: composed together: the checker's verdict at the members' heads (38623984d6ad): mesh-build-go
mesh/delivery closed: a newer head of the same pull request
mesh/check failed (2): mesh-build-go: the indexer's judge at the group's mesh-delivery head 7b7096f37ea76e1…; and 1 more | 7b7096f37ea7 on ae31b66a9e33
- A take-in releases its claims (compare-and-set, only while the claim is still its own) on a lost claim, on a claim it cannot read back, and on a merge it fails to take in: a claim left behind refused every later take-in until a restart. T5 row with a store that fails once, both ways. - The start step waits for nothing: with the build it runs unknown it says so and the forge consumer starts; a merged message left unacknowledged asks the build again (clause 1). T10 row: the start answers at once and takes nothing in. - A toolchain report evaluates pending again (ToolchainReported), since the build a revision names moves with the toolchain. T7 row: the revision is taken in once the report makes it name the running build. - The group's end is told by its whole subject (process.ModuleStreamSubject), so a repository named forge/group is never taken for one; row in the indexer's handle test. - The watchman asks the indexer's waits through indexer_pending at its start (invokes), before its durable consumer, which does not hear again what it acknowledged before a restart; the comment that said the whole stream is heard is corrected. W2 row: a wait seeded within its bound is raised past it. - bridge_groups names each group's last end ask, its who, why and when, and the bridge's answer (state end-asks). - The check's words for the indexer's rules: the trunk's manifest validator. - The bridge's end drops the merged-state test its merge commit already implies. - Test budget: groupask_test folded into groups_test, and the K1 mesh/check test into the owed status one: 804 unit tests (was 806). Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
113 lines
2.5 KiB
JSON
113 lines
2.5 KiB
JSON
{
|
|
"module": "mesh-delivery-watchman",
|
|
"version": "1",
|
|
"slug": "watchman",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-watchdogs",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"signals",
|
|
"stuck",
|
|
"presence",
|
|
"dead-letters",
|
|
"resync"
|
|
]
|
|
}
|
|
],
|
|
"reads": [
|
|
"mesh-build-go.steps",
|
|
"mesh-build-image.steps",
|
|
"mesh-build-node.steps",
|
|
"mesh-delivery-assigner.wants",
|
|
"mesh-delivery-builder.builds",
|
|
"mesh-delivery-indexer.modules",
|
|
"mesh-host.health",
|
|
"mesh-provisioner.provisions",
|
|
"node-engine.have"
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-indexer.take-in.**"
|
|
],
|
|
"invokes": [
|
|
"mesh-delivery-indexer.indexer_pending"
|
|
],
|
|
"tools": [
|
|
"watchman_findings"
|
|
],
|
|
"state": [
|
|
{ "name": "presence", "history": 20 },
|
|
{ "name": "pulse", "key-ttl": true },
|
|
{ "name": "stuck", "history": 20 },
|
|
{ "name": "findings", "history": 5 }
|
|
],
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-delivery-watchman",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-delivery-watchman",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-delivery-watchman"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-delivery-watchman",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
},
|
|
{
|
|
"id": "socket-dir",
|
|
"type": "directory",
|
|
"path": "/var/lib/mesh-delivery-watchman-tools",
|
|
"mode": "0755",
|
|
"owner": "mesh-delivery-watchman",
|
|
"unknown": "program"
|
|
},
|
|
{
|
|
"id": "watchman",
|
|
"type": "process",
|
|
"name": "mesh-delivery-watchman",
|
|
"artifact": "program",
|
|
"run": [
|
|
"./mesh-delivery-watchman"
|
|
],
|
|
"env": {
|
|
"MESH_BROKER_FILE": "${dir:state}/broker"
|
|
},
|
|
"user": "mesh-delivery-watchman",
|
|
"health": {
|
|
"kind": "unit"
|
|
}
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "program",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-delivery-watchman",
|
|
"binary": "mesh-delivery-watchman"
|
|
},
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-delivery-watchman-tools",
|
|
"binary": "mesh-delivery-watchman-tools",
|
|
"loads": [
|
|
"mesh-delivery-watchman-tools"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|