The seed leaves a module as it runs today when it is held, failed or at an old-form build, and the modules held only behind it too (issue 1126) #127

Merged
mesh-tools merged 2 commits from fix/1126-seed-oldbuild into main 2026-10-28 23:05:05 +00:00
Member

Issue 1126 (L2 take-over seed), ADR 0569 §1 (a module a node holds today stays held).

novox runs de-spiegel at an old-form build (its have has build, no fp), and mesh-config resolves no values for it; the operator keeps de-spiegel as it runs until after L5. The seed refused it and everything behind it (mailu, nftables, postgres, route-proxy) and node ("postgres: its build kept a template for consumers, which it does not declare").

  • Each held module says how it stands today: held, failed, at an old-form build, or held behind X; the brief prints it.
  • A module refused only behind a kept one stays as today too; a module that composes but differs is still a named difference.
  • Stub copies Handed and clears only its Templates: a held stub keeps its Items and Handed.Items (what it contributes to collectors), and no longer keeps templates for files it does not declare. Table test: templates+items, items alone; the source manifest is untouched.

Group fix/1126-seed-oldbuild with mesh-host #170 (pins 76f7c4d exactly).

Quick fix vs thorough: the quick fix (set praktijk-name for de-spiegel) would change what runs on novox against the operator's word; the thorough one (held-as-today covers every old-form build, failed and held module, and their dependents) is chosen.

Tests: gofmt, go test ./... pass.

Reviewed-by: rev-l2@shanks at 76f7c4d223

Issue 1126 (L2 take-over seed), ADR 0569 §1 (a module a node holds today stays held). novox runs de-spiegel at an old-form build (its have has `build`, no `fp`), and mesh-config resolves no values for it; the operator keeps de-spiegel as it runs until after L5. The seed refused it and everything behind it (mailu, nftables, postgres, route-proxy) and node ("postgres: its build kept a template for consumers, which it does not declare"). - Each held module says how it stands today: held, failed, at an old-form build, or held behind X; the brief prints it. - A module refused only behind a kept one stays as today too; a module that composes but differs is still a named difference. - Stub copies Handed and clears only its Templates: a held stub keeps its Items and Handed.Items (what it contributes to collectors), and no longer keeps templates for files it does not declare. Table test: templates+items, items alone; the source manifest is untouched. Group fix/1126-seed-oldbuild with mesh-host #170 (pins 76f7c4d exactly). Quick fix vs thorough: the quick fix (set praktijk-name for de-spiegel) would change what runs on novox against the operator's word; the thorough one (held-as-today covers every old-form build, failed and held module, and their dependents) is chosen. Tests: gofmt, go test ./... pass. Reviewed-by: rev-l2@shanks at 76f7c4d2238ffc0963a36a556fcde6cb71ed2943
mesh-tools added 2 commits 2026-10-28 22:58:05 +00:00
A stub keeps its items and their templates, so a held module still contributes to other modules' collections; it drops only the templates for its own files (issue 1126)
mesh/delivery merged: source.main moved to novox/mesh-sdk@d4c61ee8ffd0
mesh/delivery-group group fix/1126-seed-oldbuild merged: every member is merged
mesh/check pass 76f7c4d2238f on d747c1128e42 | unit 3018 run, 270 kept, 36 skipped | integration 3039 run, 302 kept, 29 skipped | over bound: unit (sl…
76f7c4d223
Author
Member

Delivery novox/mesh-sdk@76f7c4d2238f — merged since 2026-10-28T23:05:07Z

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

Group fix/1126-seed-oldbuild: novox/mesh-host@93f33e2305, novox/mesh-sdk@76f7c4d223

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

Transitions

  • 2026-10-28 22:58 (new) → proposed (announced): novox/mesh-sdk#127's head announced
  • 2026-10-28 22:58 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-28 23:05 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@76f7c4d2238f` — **merged** since 2026-10-28T23:05:07Z **Source** — source.main moved to novox/mesh-sdk@d4c61ee8ffd0. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/1126-seed-oldbuild`: novox/mesh-host@93f33e2305de, novox/mesh-sdk@76f7c4d2238f - composed together: pass — the checker's verdict at the members' heads (4732c116a18b) **Transitions** - 2026-10-28 22:58 (new) → proposed (announced): novox/mesh-sdk#127's head announced - 2026-10-28 22:58 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-28 23:05 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-tools merged commit d4c61ee8ff into main 2026-10-28 23:05:05 +00:00
mesh-tools deleted branch fix/1126-seed-oldbuild 2026-10-28 23:05:05 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#127