Pin the release's mesh-sdk in the controller, so it reads design 47's catalog until its lease is handed away (issue 774) #482

Merged
mesh-tools merged 5 commits from feat/774-l3-reland into main 2026-10-30 11:01:57 +00:00
Member

Delivery 2 of design 47's single release (group feat/774-l3-reland). The controller only re-pins mesh-sdk 2da0de75 (same code as the release's sdk) and refreshes its captured fixtures; test manifests state the credential form each case meant. No behaviour of its own changes; its jobs leave by the take-overs and the lease write (ADRs 0564, 0565, 0570, 0571). Research 'The controller, NATS-native': no piece moved by this change; the pieces move out of the controller into their own seats in the other members. Unit and integration 1706 pass. TestModuleCheckPassesTheCatalogue reads a captured copy of the catalog's manifests (internal/beside CapturedDir, captured at mesh-catalog f3a57dcc) instead of the catalog trunk beside, so the check judges the release's manifests, not main's.

Reviewed-by: rev-47@shanks at 8b32e04e2f

Delivery 2 of design 47's single release (group feat/774-l3-reland). The controller only re-pins mesh-sdk 2da0de75 (same code as the release's sdk) and refreshes its captured fixtures; test manifests state the credential form each case meant. No behaviour of its own changes; its jobs leave by the take-overs and the lease write (ADRs 0564, 0565, 0570, 0571). Research 'The controller, NATS-native': no piece moved by this change; the pieces move out of the controller into their own seats in the other members. Unit and integration 1706 pass. TestModuleCheckPassesTheCatalogue reads a captured copy of the catalog's manifests (internal/beside CapturedDir, captured at mesh-catalog f3a57dcc) instead of the catalog trunk beside, so the check judges the release's manifests, not main's. Reviewed-by: rev-47@shanks at 8b32e04e2f8b064dae2ac68dc5e2814025ad0ce2
mesh-tools added 4 commits 2026-10-30 00:21:46 +00:00
The controller on dbcaa29 parses manifests strictly and refuses `bus` on an artifact and `max-age-days` on a log, both
in the re-land group's catalogue. The SDK's conformance events are captured again at the pinned commit, as
testdata/beside/CAPTURED asks; they are unchanged.
The sdk now refuses an offer that says no credential form (6b8c694, ADR 0570). So:
- the catalogue copy in testdata/beside is captured again at the release branch's catalogue 8ae8e88d, whose offers each
  say one, and the sdk's conformance events at 007b6fd, as CAPTURED asks;
- the fixtures of identity_bound_test and issued_test say the form their rows meant: pair for a login of each
  consumer's own, none for a keyless provision. No behaviour of the controller changed.
The sdk's conformance events are unchanged at 6e4a301 and captured so. The whole integration suite passes at this head
against a local store and bus: 1706 tests, 8 skipped for a registry, a container, a refusing bus or a lab's run.
Merge main (delivery 1, the parse-only sdk) into L3's re-land, and pin mesh-sdk 2da0de7, the release's final head (issue 774)
mesh/check failed: unit: github.com/novox/mesh-controller/cmd/mesh-controller.TestModuleCheckPassesTheCatalogue: the catalogue does not pass its own c…
mesh/delivery-group group feat/774-l3-reland rejected: composed together: the checker's verdict at the members' heads (8bad7efb3e7a): unit: github.com/novox/me…
mesh/delivery closed: a newer head of the same pull request
79f44386d2
The conflicts were go.mod, go.sum and testdata/beside/CAPTURED alone, taken from the release. 2da0de7 is 6e4a301's code;
its conformance events are unchanged.
Author
Member

Delivery novox/mesh-controller@8b32e04e2f8b — merged since 2026-10-30T11:02:05Z

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

Group feat/774-l3-reland: novox/hq@0c450cad25, novox/mesh-catalog@f3a57dcc56, novox/mesh-controller@8b32e04e2f, novox/mesh-delivery@8edc83950c, novox/mesh-host@015334020a, novox/mesh-sdk@2da0de75c3, novox/mesh-tools@250aa73a56

Transitions

  • 2026-10-30 09:38 (new) → proposed (announced): novox/mesh-controller#482's head announced
  • 2026-10-30 09:38 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-10-30 11:02 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@8b32e04e2f8b` — **merged** since 2026-10-30T11:02:05Z **Source** — source.main moved to novox/mesh-controller@812c528479e1. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `feat/774-l3-reland`: novox/hq@0c450cad258e, novox/mesh-catalog@f3a57dcc56fb, novox/mesh-controller@8b32e04e2f8b, novox/mesh-delivery@8edc83950cea, novox/mesh-host@015334020ad2, novox/mesh-sdk@2da0de75c3f0, novox/mesh-tools@250aa73a5631 **Transitions** - 2026-10-30 09:38 (new) → proposed (announced): novox/mesh-controller#482's head announced - 2026-10-30 09:38 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-10-30 11:02 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: 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.
Author
Member

mesh-delivery: not merged. The merge of this pull request into main at 79f44386d2 was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.

mesh-delivery: **not merged.** The merge of this pull request into main at 79f44386d24dc8d13743ce838c78edee289c597c was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.
jschoubben added 1 commit 2026-10-30 09:38:32 +00:00
Judge the controller's module check against the catalogue it is released with, captured at the group's catalogue head f3a57dcc, so a group that brings a word the trunk's catalogue lacks does not fail on the trunk (issue 774)
mesh/check checking 8b32e04e2f8b on 6fe9efa71219 | novox/mesh-controller#482 in group feat/774-l3-reland
mesh/delivery merged: source.main moved to novox/mesh-controller@812c528479e1
mesh/delivery-group group feat/774-l3-reland merged: every member is merged
8b32e04e2f
The release's fourth check failed TestModuleCheckPassesTheCatalogue with 27 problems. The checker clones the catalogue
beside a controller's tests at its trunk, even in a group holding a catalogue pull request (mesh-delivery checker
internal/check/beside.go besideFor, ADR 0484 clause 4). The release's sdk refuses an offer stating no credential form,
and the trunk's catalogue states none until the release's catalogue merges.

- Quick fix (not chosen): recapture alone, which the test never reads while MESH_CHECK_BESIDE is set.
- Chosen: the test reads the captured copy, now at the group's catalogue f3a57dcc, through beside.CapturedDir. Every other
  beside test still reads the clone. The check itself is unchanged: every rule, every manifest. Moving CAPTURED to the
  catalogue a change is released with is part of that change.

Run as the checker runs it (catalogue at main, mesh-host at main, mesh-sdk at the pin, mesh-controller's trunk
beside): the whole unit and integration suite passes, 1706 tests, 8 skipped. The test also passes with the catalogue at
f3a57dcc beside, and with nothing beside.
mesh-tools merged commit 812c528479 into main 2026-10-30 11:01:57 +00:00
mesh-tools deleted branch feat/774-l3-reland 2026-10-30 11:01:58 +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-controller#482