Issue 1126 (L2 of design 47), ADR 0549 §4, ADR 0559. The placement files of #525 (byte-equal: ace 80, g14 75, novox 82, shanks 77 modules), on main after the revert #527.
What changed since #525. Every node agent runs mesh-host 199f6b4 (#154, src2:73b40c5c, healthy on all four at 22:52Z): a node takes its own composition only on a successful placement read (no more flip on a read error, which is why no node switched at #525), and a node whose placement is deleted returns to the controller's compositions without a restart. Its shadow names every refusal and carries old-form builds as they run (mesh-sdk #110). The take-over (22:50Z) gives the node users the reads.
How it is checked. While this pull request is open, each node composes its own modules from these files in shadow and answers (mesh-delivery-view.indexer_placement, candidates). The lead reads all four and tells the operator. The operator's Approve is for after all four answer 'same'. If any differs or refuses, this pull request stays open or is closed, and nothing changes on the nodes.
Revert path. A deletion of these files is now answered and followed correctly (Returns, compared), so a revert is safe.
Issue 1126 (L2 of design 47), ADR 0549 §4, ADR 0559. The placement files of #525 (byte-equal: ace 80, g14 75, novox 82, shanks 77 modules), on main after the revert #527.
**What changed since #525.** Every node agent runs mesh-host 199f6b4 (#154, src2:73b40c5c, healthy on all four at 22:52Z): a node takes its own composition only on a successful placement read (no more flip on a read error, which is why no node switched at #525), and a node whose placement is deleted returns to the controller's compositions without a restart. Its shadow names every refusal and carries old-form builds as they run (mesh-sdk #110). The take-over (22:50Z) gives the node users the reads.
**How it is checked.** While this pull request is open, each node composes its own modules from these files in shadow and answers (mesh-delivery-view.indexer_placement, candidates). The lead reads all four and tells the operator. The operator's Approve is for after all four answer 'same'. If any differs or refuses, this pull request stays open or is closed, and nothing changes on the nodes.
**Revert path.** A deletion of these files is now answered and followed correctly (Returns, compared), so a revert is safe.
Reviewed-by: lead-47@shanks at 3abf7cd50bdf039ec2657872dfc535180e017db6
Deliverynovox/mesh-catalog@3abf7cd50bdf — merged since 2026-10-27T22:53:43Z
Source — source.main moved to novox/mesh-catalog@b7a036e186. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.
Transitions
2026-10-27 22:52 (new) → proposed (announced): novox/mesh-catalog#528's head announced
2026-10-27 22:52 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-27 22:53 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-catalog@3abf7cd50bdf` — **merged** since 2026-10-27T22:53:43Z
**Source** — source.main moved to novox/mesh-catalog@b7a036e18693. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Transitions**
- 2026-10-27 22:52 (new) → proposed (announced): novox/mesh-catalog#528's head announced
- 2026-10-27 22:52 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-27 22:53 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 of design 47), ADR 0549 §4, ADR 0559. The placement files of #525 (byte-equal: ace 80, g14 75, novox 82, shanks 77 modules), on main after the revert #527.
What changed since #525. Every node agent runs mesh-host 199f6b4 (#154, src2:73b40c5c, healthy on all four at 22:52Z): a node takes its own composition only on a successful placement read (no more flip on a read error, which is why no node switched at #525), and a node whose placement is deleted returns to the controller's compositions without a restart. Its shadow names every refusal and carries old-form builds as they run (mesh-sdk #110). The take-over (22:50Z) gives the node users the reads.
How it is checked. While this pull request is open, each node composes its own modules from these files in shadow and answers (mesh-delivery-view.indexer_placement, candidates). The lead reads all four and tells the operator. The operator's Approve is for after all four answer 'same'. If any differs or refuses, this pull request stays open or is closed, and nothing changes on the nodes.
Revert path. A deletion of these files is now answered and followed correctly (Returns, compared), so a revert is safe.
Reviewed-by: lead-47@shanks at
3abf7cd50bDelivery
novox/mesh-catalog@3abf7cd50bdf— merged since 2026-10-27T22:53:43ZSource — source.main moved to novox/mesh-catalog@b7a036e186. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.