L3: the seat mesh-catalog's contract and a merged message with no trees; no graph code in mesh-sdk (ADR 0603, ADR 0604, issue 1367) #165

Merged
mesh-tools merged 15 commits from feat/l3b-bus into main 2026-11-03 20:12:42 +00:00
Member

Milestone L3 of design 47, one delivery group on branch feat/l3b-bus with mesh-delivery, mesh-catalog and mesh-tools (every member pins this head, b7abe203a9). mesh-host left the group after the first check (#202 closed): the running checker reads its node-engine's not-judged answer for novox as a refusal, so mesh-host goes alone once this group's checker runs.

Contracts (the operator, 2026-11-03): the seat mesh-catalog's four verbs and their answer types (ADR 0604 §1), a merged message with no trees (issue 1367), harness descriptions that name no controller verb. The module graph is not here: it lives in mesh-delivery's own Go module sdk/.

A rule bent, said: go/catalogue/kept_until_delivered.go keeps, deprecated, the exported names the running mains still use (RuntimeModule, CoreCredentialModules, FromBus, StreamsKeptUntilMoved, ManifestRefusals, EndedControllerName, Dependencies), so for one release mesh-sdk again names modules and holds the logic those names carry, against "mesh-sdk names no module" and "contracts only". Why: an exported name is removed only after every user of it is delivered; the first check failed on exactly that (the running node-engine built against this SDK). What covers it: the second group removes the file and its test exemption once mesh-host a24a1d72 and this group's mesh-delivery and mesh-tools run (issue 774, issue 1585).

Issues: 774, 1367. Replaces #163 (feat/l3a-waits).

Reviewed-by: mesh-code-reviewer@shanks at b7abe203a9
Pushed-by: lead-47@shanks

https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn

Milestone L3 of design 47, one delivery group on branch feat/l3b-bus with mesh-delivery, mesh-catalog and mesh-tools (every member pins this head, b7abe203a929). mesh-host left the group after the first check (#202 closed): the running checker reads its node-engine's not-judged answer for novox as a refusal, so mesh-host goes alone once this group's checker runs. Contracts (the operator, 2026-11-03): the seat mesh-catalog's four verbs and their answer types (ADR 0604 §1), a merged message with no trees (issue 1367), harness descriptions that name no controller verb. The module graph is not here: it lives in mesh-delivery's own Go module sdk/. A rule bent, said: go/catalogue/kept_until_delivered.go keeps, deprecated, the exported names the running mains still use (RuntimeModule, CoreCredentialModules, FromBus, StreamsKeptUntilMoved, ManifestRefusals, EndedControllerName, Dependencies), so for one release mesh-sdk again names modules and holds the logic those names carry, against "mesh-sdk names no module" and "contracts only". Why: an exported name is removed only after every user of it is delivered; the first check failed on exactly that (the running node-engine built against this SDK). What covers it: the second group removes the file and its test exemption once mesh-host a24a1d72 and this group's mesh-delivery and mesh-tools run (issue 774, issue 1585). Issues: 774, 1367. Replaces #163 (feat/l3a-waits). Reviewed-by: mesh-code-reviewer@shanks at b7abe203a92920d86798329c5d0462a579582716 Pushed-by: lead-47@shanks https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
mesh-tools added 14 commits 2026-11-03 16:59:29 +00:00
The seat mesh-catalog's verbs' answers are its contract: CatalogModules, CatalogOne, CatalogProvides and CatalogDependents, with the field names of the catalog module's tools they replace; the module graph is no part of mesh-sdk (the operator, 2026-11-03: only contracts)
mesh/check checking cf5812101b0b on 2341e8e98377 | novox/mesh-sdk#165 in group feat/l3b-bus
mesh/delivery-group group feat/l3b-bus checking: 4 of 4 member(s) ready
mesh/delivery closed: a newer head of the same pull request
cf5812101b
Author
Member

Delivery novox/mesh-sdk@b7abe203a929 — merged since 2026-11-03T20:12:45Z

Source — source.main moved to novox/mesh-sdk@52e564845e. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group feat/l3b-bus: novox/mesh-catalog@5fab8f118e, novox/mesh-delivery@945906ac97, novox/mesh-sdk@b7abe203a9, novox/mesh-tools@8b8a760047

  • composed together: pass — the checker's verdict at the members' heads (eb182f6015c0)

Transitions

  • 2026-11-03 17:55 (new) → proposed (announced): novox/mesh-sdk#165's head announced
  • 2026-11-03 17:55 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-03 20:12 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-sdk@b7abe203a929` — **merged** since 2026-11-03T20:12:45Z **Source** — source.main moved to novox/mesh-sdk@52e564845e44. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/l3b-bus`: novox/mesh-catalog@5fab8f118e18, novox/mesh-delivery@945906ac976c, novox/mesh-sdk@b7abe203a929, novox/mesh-tools@8b8a7600479e - composed together: pass — the checker's verdict at the members' heads (eb182f6015c0) **Transitions** - 2026-11-03 17:55 (new) → proposed (announced): novox/mesh-sdk#165's head announced - 2026-11-03 17:55 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-03 20:12 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`.
Author
Member

mesh-delivery: the operator's Approve of this pull request's merge into main is ended: its head a24a1d72ad45 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 a24a1d72ad45 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.
jschoubben added 1 commit 2026-11-03 17:55:00 +00:00
Keep, deprecated, the exported names the group removed while running parts use them: the checker builds the running node-engine's composer beside this mesh-sdk (ADR 0548 §6); the second group removes them once their users are delivered
mesh/check pass b7abe203a929 on 2341e8e98377 | unit 1186 run, 5555 kept, 27 skipped | integration 1205 run, 5717 kept, 35 skipped | over bound: unit (…
mesh/delivery merged: source.main moved to novox/mesh-sdk@52e564845e44
mesh/delivery-group group feat/l3b-bus merged: every member is merged
b7abe203a9
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Author
Member

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-tools merged commit 52e564845e into main 2026-11-03 20:12:42 +00:00
mesh-tools deleted branch feat/l3b-bus 2026-11-03 20:12:42 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#165