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.
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
Deliverynovox/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.
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`.
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.
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, nofp), 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").Group fix/1126-seed-oldbuild with mesh-host #170 (pins
76f7c4dexactly).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
76f7c4d223Delivery
novox/mesh-sdk@76f7c4d2238f— merged since 2026-10-28T23:05:07ZSource — source.main moved to novox/mesh-sdk@d4c61ee8ff. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
fix/1126-seed-oldbuild: novox/mesh-host@93f33e2305, novox/mesh-sdk@76f7c4d223Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.