Delivery group feat/judge-once (mesh-sdk, mesh-delivery, mesh-catalog, mesh-host, mesh-controller, mesh-tools), one check, one Approve. Issue 1585. Decisions: ADR 0578 (a manifest is judged once, by the indexer; every other part decodes it and takes the verdict; packages carry contracts only), ADR 0579 (a stricter judge never holds a module already running: it warns), and ADR 0573 §2/§4 built (each build takes the latest published package; a group check builds against the group's package heads).
Quick fix (readers hold a refused module, ~4 h) weighed against the thorough fix (judge once, ~32 h) and the thorough fix chosen with the operator (2026-11-01): the kind (a reader with an old judge silences itself) was met twice on 2026-10-31.
Rule bent, said here: mesh-delivery's unit tests rise 662 -> 892 because the judge's tests moved there from mesh-sdk (1686 -> 1440); the mesh-wide total falls. After the delivery every Go module rebuilds against the latest mesh-sdk (about 120 modules; all compile against it).
Controller research "The controller, NATS-native": manifest judgement leaves the controller; it reads the indexer's verdicts state.
This member: key take-in decodes and takes the verdict (no wait on a word it cannot read); module check removed; route-proxy provides route with credential form none.
Reviewed-by: reviewer-1585@shanks at b564c315d0
Pushed-by: lead-47@shanks
The first group check failed only on gofmt (one blank line in mesh-sdk go/catalogue/streams.go); the fix is whitespace only, and every member re-pinned mesh-sdk 8af6e72; the reviewer checked each diff mechanically.
The third group check failed on five mesh-controller integration tests: three asserted judging the controller no longer does (ADR 0578), two exposed a real credential regression from mesh-sdk #141 (the push would have sealed a random value as a module's bus credential), fixed by refusing an unissued bus account before the push. Whole local integration runs of all six members passed before this head (the lead allowed them, said here).
Delivery group feat/judge-once (mesh-sdk, mesh-delivery, mesh-catalog, mesh-host, mesh-controller, mesh-tools), one check, one Approve. Issue 1585. Decisions: ADR 0578 (a manifest is judged once, by the indexer; every other part decodes it and takes the verdict; packages carry contracts only), ADR 0579 (a stricter judge never holds a module already running: it warns), and ADR 0573 §2/§4 built (each build takes the latest published package; a group check builds against the group's package heads).
Quick fix (readers hold a refused module, ~4 h) weighed against the thorough fix (judge once, ~32 h) and the thorough fix chosen with the operator (2026-11-01): the kind (a reader with an old judge silences itself) was met twice on 2026-10-31.
Rule bent, said here: mesh-delivery's unit tests rise 662 -> 892 because the judge's tests moved there from mesh-sdk (1686 -> 1440); the mesh-wide total falls. After the delivery every Go module rebuilds against the latest mesh-sdk (about 120 modules; all compile against it).
Controller research "The controller, NATS-native": manifest judgement leaves the controller; it reads the indexer's verdicts state.
This member: key take-in decodes and takes the verdict (no wait on a word it cannot read); module check removed; route-proxy provides route with credential form none.
Reviewed-by: reviewer-1585@shanks at b564c315d01236fbb64bb095205fc6990bc2354a
Pushed-by: lead-47@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The first group check failed only on gofmt (one blank line in mesh-sdk go/catalogue/streams.go); the fix is whitespace only, and every member re-pinned mesh-sdk 8af6e72; the reviewer checked each diff mechanically.
The third group check failed on five mesh-controller integration tests: three asserted judging the controller no longer does (ADR 0578), two exposed a real credential regression from mesh-sdk #141 (the push would have sealed a random value as a module's bus credential), fixed by refusing an unissued bus account before the push. Whole local integration runs of all six members passed before this head (the lead allowed them, said here).
Issue 1585, S18 (ADR 0578 §3, §6): a done key's manifest is decoded leniently and the verdict read from the
indexer's state; a refused one is held and named, an unread word set aside and named, never a wait. The
module check command, which judged files with no mesh and which nothing calls any more, goes with its tests.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Issue 1585, S18 (ADR 0578 §3): registerJudged no longer re-judges the manifest or its predefined keys, and a
standing build is read leniently; module add decodes and judges nothing. Resolve never re-parsed a manifest,
so a key-key fallback needs no list there; a table row holds that.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Issue 1585, S18/S19: the judge's tests live in mesh-delivery now, so an assertion that only tested judging goes
and every test that builds a manifest decodes it.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Deliverynovox/mesh-controller@b564c315d012 — merged since 2026-11-01T07:54:30Z
Source — source.main moved to novox/mesh-controller@88b16e9be2. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
composed together: pass — the checker's verdict at the members' heads (a0269268ba29)
Transitions
2026-11-01 03:14 (new) → proposed (announced): novox/mesh-controller#489's head announced
2026-11-01 03:14 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
2026-11-01 07:54 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@b564c315d012` — **merged** since 2026-11-01T07:54:30Z
**Source** — source.main moved to novox/mesh-controller@88b16e9be20d. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `feat/judge-once`: novox/mesh-catalog@432326264f6c, novox/mesh-controller@b564c315d012, novox/mesh-delivery@8e9cc5830119, novox/mesh-host@07066fe7a0a8, novox/mesh-sdk@8af6e7266915, novox/mesh-tools@c4940180746a
- composed together: pass — the checker's verdict at the members' heads (a0269268ba29)
**Transitions**
- 2026-11-01 03:14 (new) → proposed (announced): novox/mesh-controller#489's head announced
- 2026-11-01 03:14 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
- 2026-11-01 07:54 ready → merged (merged): on the trunk its modules follow: merged there
The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 62cddf4efc62 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 62cddf4efc62 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh/delivery-group group feat/judge-once rejected: composed together: the checker's verdict at the members' heads (0920e5637ce1): integration: github.com/novo…
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-sdk #141 (issue 774) stands an unissued bus account in, in the Foreseeing mode, so a proposal's answer can be
asked before the vault mints it; the controller's send then took the stand-in for an own secret to make and would
seal a random value where the broker credential belongs. The send and the question refuse it now, in the words the
composition used to: module issue, then push.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Issue 1585: registration publishes the predefined list and judges nothing against it; a definition naming an
installation is the indexer's judge's to refuse; a word the controller does not read is set aside and the module
registered (0578 §6 changes 0501 §7); a refused verdict holds the module and names it. The process-wide list of
new modules waiting is emptied at each take-in test's start and end, so no test reads another's.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delivery group feat/judge-once (mesh-sdk, mesh-delivery, mesh-catalog, mesh-host, mesh-controller, mesh-tools), one check, one Approve. Issue 1585. Decisions: ADR 0578 (a manifest is judged once, by the indexer; every other part decodes it and takes the verdict; packages carry contracts only), ADR 0579 (a stricter judge never holds a module already running: it warns), and ADR 0573 §2/§4 built (each build takes the latest published package; a group check builds against the group's package heads).
Quick fix (readers hold a refused module, ~4 h) weighed against the thorough fix (judge once, ~32 h) and the thorough fix chosen with the operator (2026-11-01): the kind (a reader with an old judge silences itself) was met twice on 2026-10-31.
Rule bent, said here: mesh-delivery's unit tests rise 662 -> 892 because the judge's tests moved there from mesh-sdk (1686 -> 1440); the mesh-wide total falls. After the delivery every Go module rebuilds against the latest mesh-sdk (about 120 modules; all compile against it).
Controller research "The controller, NATS-native": manifest judgement leaves the controller; it reads the indexer's verdicts state.
This member: key take-in decodes and takes the verdict (no wait on a word it cannot read); module check removed; route-proxy provides route with credential form none.
Reviewed-by: reviewer-1585@shanks at
b564c315d0Pushed-by: lead-47@shanks
https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
The first group check failed only on gofmt (one blank line in mesh-sdk go/catalogue/streams.go); the fix is whitespace only, and every member re-pinned mesh-sdk 8af6e72; the reviewer checked each diff mechanically.
The third group check failed on five mesh-controller integration tests: three asserted judging the controller no longer does (ADR 0578), two exposed a real credential regression from mesh-sdk #141 (the push would have sealed a random value as a module's bus credential), fixed by refusing an unissued bus account before the push. Whole local integration runs of all six members passed before this head (the lead allowed them, said here).
Delivery
novox/mesh-controller@b564c315d012— merged since 2026-11-01T07:54:30ZSource — source.main moved to novox/mesh-controller@88b16e9be2. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
feat/judge-once: novox/mesh-catalog@432326264f, novox/mesh-controller@b564c315d0, novox/mesh-delivery@8e9cc58301, novox/mesh-host@07066fe7a0, novox/mesh-sdk@8af6e72669, novox/mesh-tools@c494018074Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head 62cddf4efc62 is no longer the pull request's head, or the pull request closed. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.