Milestone B1 of issue 1966 (ADR 0595 §10 step 4, ADR 0597; design 25 § 12.4, 12.5). One delivery group with mesh-sdk, mesh-delivery and mesh-catalog on branch feat/bus-state.
A bundle's own bound objects, streams and work queues on its pipe (mesh/objects.*, mesh/stream.*, mesh/workqueue.*).
The ledger: apply (checked against the types its binding carries; appended with the last sequence expected; the state written at the revision read; the snapshot), get, history, watch, query; the repairs rebuild, reindex, snapshot, lag as tools of every ledger owner.
The proven author: apply names the tool call in flight it serves (_metamesh/call); the runner stamps the caller it proved; another module's call or one not in flight is refused.
A module's ledger history and snapshots are published only on its own ledger connection, from the file ledgers beside the broker credential; node-tools does not declare that own secret in B1 (the vault makes it {} first; the declaration comes in B3), and a missing file means no ledger credentials.
Acceptance: issue 1966 notes 8 and 10 (AC12-AC19, AC22, AC27, AC28).
Tests: 127 -> 133 unit, 5 -> 6 integration (within budget). The one new integration test, TestTheLedgerKeepsItsPromisesOnTheBus, was run locally by name against an embedded bus (7 cases pass) because it was the fastest way to prove the ledger's promises; the check ran it again.
The last commit only pins the group's mesh-sdk head (f8bd12e) in place of the local replace, reviewed on its own.
Milestone B1 of issue 1966 (ADR 0595 §10 step 4, ADR 0597; design 25 § 12.4, 12.5). One delivery group with mesh-sdk, mesh-delivery and mesh-catalog on branch feat/bus-state.
- A bundle's own bound objects, streams and work queues on its pipe (`mesh/objects.*`, `mesh/stream.*`, `mesh/workqueue.*`).
- The ledger: `apply` (checked against the types its binding carries; appended with the last sequence expected; the state written at the revision read; the snapshot), `get`, `history`, `watch`, `query`; the repairs `rebuild`, `reindex`, `snapshot`, `lag` as tools of every ledger owner.
- The proven author: `apply` names the tool call in flight it serves (`_meta` `mesh/call`); the runner stamps the caller it proved; another module's call or one not in flight is refused.
- A module's ledger history and snapshots are published only on its own ledger connection, from the file `ledgers` beside the broker credential; node-tools does not declare that own secret in B1 (the vault makes it `{}` first; the declaration comes in B3), and a missing file means no ledger credentials.
Acceptance: issue 1966 notes 8 and 10 (AC12-AC19, AC22, AC27, AC28).
Tests: 127 -> 133 unit, 5 -> 6 integration (within budget). The one new integration test, TestTheLedgerKeepsItsPromisesOnTheBus, was run locally by name against an embedded bus (7 cases pass) because it was the fastest way to prove the ledger's promises; the check ran it again.
The last commit only pins the group's mesh-sdk head (f8bd12e) in place of the local replace, reviewed on its own.
Reviewed-by: reviewer-bus@shanks at 43d3fba501d392bf5d0f0883700e4ab2bae5048c
Deliverynovox/mesh-tools@43d3fba501d3 — merged since 2026-11-03T15:24:44Z
Source — source.main moved to novox/mesh-tools@8c1e04dd37. 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 (7bbdc38f1f86)
Transitions
2026-11-03 14:36 (new) → proposed (announced): novox/mesh-tools#57's head announced
2026-11-03 14:36 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-11-03 15:24 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-tools@43d3fba501d3` — **merged** since 2026-11-03T15:24:44Z
**Source** — source.main moved to novox/mesh-tools@8c1e04dd3709. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves.
**Group** `feat/bus-state`: novox/mesh-catalog@34ce2895dd33, novox/mesh-delivery@4bb790bedffe, novox/mesh-sdk@f8bd12e4b7b1, novox/mesh-tools@43d3fba501d3
- composed together: pass — the checker's verdict at the members' heads (7bbdc38f1f86)
**Transitions**
- 2026-11-03 14:36 (new) → proposed (announced): novox/mesh-tools#57's head announced
- 2026-11-03 14:36 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-11-03 15:24 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.
Milestone B1 of issue 1966 (ADR 0595 §10 step 4, ADR 0597; design 25 § 12.4, 12.5). One delivery group with mesh-sdk, mesh-delivery and mesh-catalog on branch feat/bus-state.
mesh/objects.*,mesh/stream.*,mesh/workqueue.*).apply(checked against the types its binding carries; appended with the last sequence expected; the state written at the revision read; the snapshot),get,history,watch,query; the repairsrebuild,reindex,snapshot,lagas tools of every ledger owner.applynames the tool call in flight it serves (_metamesh/call); the runner stamps the caller it proved; another module's call or one not in flight is refused.ledgersbeside the broker credential; node-tools does not declare that own secret in B1 (the vault makes it{}first; the declaration comes in B3), and a missing file means no ledger credentials.Acceptance: issue 1966 notes 8 and 10 (AC12-AC19, AC22, AC27, AC28).
Tests: 127 -> 133 unit, 5 -> 6 integration (within budget). The one new integration test, TestTheLedgerKeepsItsPromisesOnTheBus, was run locally by name against an embedded bus (7 cases pass) because it was the fastest way to prove the ledger's promises; the check ran it again.
The last commit only pins the group's mesh-sdk head (f8bd12e) in place of the local replace, reviewed on its own.
Reviewed-by: reviewer-bus@shanks at
43d3fba501Delivery
novox/mesh-tools@43d3fba501d3— merged since 2026-11-03T15:24:44ZSource — source.main moved to novox/mesh-tools@8c1e04dd37. Whether it reached the machines is
mesh-delivery-view's, derived fromsource.main, the wants and the haves.Group
feat/bus-state: novox/mesh-catalog@34ce2895dd, novox/mesh-delivery@4bb790bedf, novox/mesh-sdk@f8bd12e4b7, novox/mesh-tools@43d3fba501Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.