README and 33 beds: MESH_LAB_BUNDLE names examples/foundation-first-node.lock. mesh-host's PR for issue 146 deletes foundation-first-node-nats.lock and keeps one genesis bundle with its content (ADR 0331 §2).
test/integration/harness.ts: the rewrite of the previous broker's image (cloudamqp/lavinmq) is removed from foundationBundle, since the one bundle names no such image. The store's and the bus's rewrites stay.
Why
With the NATS bundle renamed, a bed still naming -nats.lock would point at a file that is gone.
R92 (mesh-lab #85) run against mesh-host's branch for issue 146: the bed passes, and genesis gets past step 9 (registry) and step 10 (publish). Details are in the mesh-host PR.
Merge after mesh-host's PR for issue 146. Fixes issue 146 (with mesh-host's PR).
## What
- README and 33 beds: `MESH_LAB_BUNDLE` names `examples/foundation-first-node.lock`. mesh-host's PR for issue 146 deletes `foundation-first-node-nats.lock` and keeps one genesis bundle with its content (ADR 0331 §2).
- `test/integration/harness.ts`: the rewrite of the previous broker's image (`cloudamqp/lavinmq`) is removed from `foundationBundle`, since the one bundle names no such image. The store's and the bus's rewrites stay.
## Why
With the NATS bundle renamed, a bed still naming `-nats.lock` would point at a file that is gone.
## How it was tested
- `npm run typecheck`: pass. `npm test`: 161 passed, 0 failed, 2 skipped.
- R92 (mesh-lab #85) run against mesh-host's branch for issue 146: the bed passes, and genesis gets past step 9 (registry) and step 10 (publish). Details are in the mesh-host PR.
Merge after mesh-host's PR for issue 146. Fixes issue 146 (with mesh-host's PR).
mesh/repo-check head 1af6efb35677 merged into trunk 782aa9f73791 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh-host now carries one genesis bundle, foundation-first-node.lock, on the bus the
mesh runs on; the NATS one it replaces is deleted. Beds that still named it would point
at a file that is gone, and the harness's rewrite for the previous broker's image
rewrote nothing.
Deliverynovox/mesh-lab@1af6efb35677 — delivered since 2026-10-12T21:12:42Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-12 21:00 (new) → proposed (announced): novox/mesh-lab#89's head announced
2026-10-12 21:03 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-12 21:03 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-12 21:12 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-12 21:12 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-lab@1af6efb35677` — **delivered** since 2026-10-12T21:12:42Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-12 21:00 (new) → proposed (announced): novox/mesh-lab#89's head announced
- 2026-10-12 21:03 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-12 21:03 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-12 21:12 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-12 21:12 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Independent review against ADR 0331 §2 (every mesh-lab bed and README names the one bundle).
The README and all 33 beds now set MESH_LAB_BUNDLE to examples/foundation-first-node.lock. A grep for first-node-nats finds nothing left in the repository, and no other bundle path is named.
harness.ts: the cloudamqp/lavinmq rewrite is removed, since the one bundle names no such image. The store's and the bus's rewrites stay, and the comments say why.
Ran at this head: npm run typecheck passes. npm test: 163 tests, 161 passed, 0 failed, 2 skipped.
This PR must merge with or after mesh-host #96, which deletes the -nats file. Merged alone, every bed would name a file that does not yet carry the NATS content.
Not blocking, and out of scope: some beds still drive the previous broker (built-store-cross-node assigns lavinmq and runs lavinmqctl in mesh-broker; assigned-tools-confluence runs lavinmqctl; beds-read-the-catalogue lists a lavinmq-bed). On the one NATS bundle those beds cannot pass. That staleness predates this change and belongs with issue 307 (beds stale against the bus move), not here.
Statuses at this head when I read them: mesh/merge-gate pending (building on ace since 23:00), mesh/delivery pending (checking), and mesh/repo-check not posted yet. Read both required checks green before merging. Note that mesh-host #96 has a request-changes finding, and this PR waits on that one.
Verdict: approve at 1af6efb3567794eaf57bc6fae416ed0da75ebe0f
Independent review against ADR 0331 §2 (every mesh-lab bed and README names the one bundle).
- The README and all 33 beds now set `MESH_LAB_BUNDLE` to `examples/foundation-first-node.lock`. A grep for `first-node-nats` finds nothing left in the repository, and no other bundle path is named.
- `harness.ts`: the `cloudamqp/lavinmq` rewrite is removed, since the one bundle names no such image. The store's and the bus's rewrites stay, and the comments say why.
- Ran at this head: `npm run typecheck` passes. `npm test`: 163 tests, 161 passed, 0 failed, 2 skipped.
- This PR must merge with or after mesh-host #96, which deletes the `-nats` file. Merged alone, every bed would name a file that does not yet carry the NATS content.
Not blocking, and out of scope: some beds still drive the previous broker (`built-store-cross-node` assigns `lavinmq` and runs `lavinmqctl` in `mesh-broker`; `assigned-tools-confluence` runs `lavinmqctl`; `beds-read-the-catalogue` lists a `lavinmq-bed`). On the one NATS bundle those beds cannot pass. That staleness predates this change and belongs with issue 307 (beds stale against the bus move), not here.
Statuses at this head when I read them: mesh/merge-gate pending (building on ace since 23:00), mesh/delivery pending (checking), and mesh/repo-check not posted yet. Read both required checks green before merging. Note that mesh-host #96 has a request-changes finding, and this PR waits on that one.
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.
What
MESH_LAB_BUNDLEnamesexamples/foundation-first-node.lock. mesh-host's PR for issue 146 deletesfoundation-first-node-nats.lockand keeps one genesis bundle with its content (ADR 0331 §2).test/integration/harness.ts: the rewrite of the previous broker's image (cloudamqp/lavinmq) is removed fromfoundationBundle, since the one bundle names no such image. The store's and the bus's rewrites stay.Why
With the NATS bundle renamed, a bed still naming
-nats.lockwould point at a file that is gone.How it was tested
npm run typecheck: pass.npm test: 161 passed, 0 failed, 2 skipped.Merge after mesh-host's PR for issue 146. Fixes issue 146 (with mesh-host's PR).
Delivery
novox/mesh-lab@1af6efb35677— delivered since 2026-10-12T21:12:42ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Verdict: approve at
1af6efb356Independent review against ADR 0331 §2 (every mesh-lab bed and README names the one bundle).
MESH_LAB_BUNDLEtoexamples/foundation-first-node.lock. A grep forfirst-node-natsfinds nothing left in the repository, and no other bundle path is named.harness.ts: thecloudamqp/lavinmqrewrite is removed, since the one bundle names no such image. The store's and the bus's rewrites stay, and the comments say why.npm run typecheckpasses.npm test: 163 tests, 161 passed, 0 failed, 2 skipped.-natsfile. Merged alone, every bed would name a file that does not yet carry the NATS content.Not blocking, and out of scope: some beds still drive the previous broker (
built-store-cross-nodeassignslavinmqand runslavinmqctlinmesh-broker;assigned-tools-confluencerunslavinmqctl;beds-read-the-cataloguelists alavinmq-bed). On the one NATS bundle those beds cannot pass. That staleness predates this change and belongs with issue 307 (beds stale against the bus move), not here.Statuses at this head when I read them: mesh/merge-gate pending (building on ace since 23:00), mesh/delivery pending (checking), and mesh/repo-check not posted yet. Read both required checks green before merging. Note that mesh-host #96 has a request-changes finding, and this PR waits on that one.