Bus state by template: the tool runner's objects, stream, work-queue and ledger calls with the proven author (issue 1966, B1) #57

Merged
mesh-tools merged 12 commits from feat/bus-state into main 2026-11-03 15:24:41 +00:00
Member

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 43d3fba501

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
mesh-tools added 12 commits 2026-11-03 14:36:07 +00:00
Pin the group's mesh-sdk head f8bd12e in place of the local replace (issue 1966)
mesh/check pass 43d3fba501d3 on b8e42cf54cf6 | unit 6460 run, 262 kept, 27 skipped | integration 6639 run, 264 kept, 35 skipped | over bound: unit, in…
mesh/delivery merged: source.main moved to novox/mesh-tools@8c1e04dd3709
mesh/delivery-group group feat/bus-state merged: every member is merged
43d3fba501
Author
Member

Delivery novox/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.

Group feat/bus-state: novox/mesh-catalog@34ce2895dd, novox/mesh-delivery@4bb790bedf, novox/mesh-sdk@f8bd12e4b7, novox/mesh-tools@43d3fba501

  • 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`.
mesh-tools merged commit 8c1e04dd37 into main 2026-11-03 15:24:41 +00:00
mesh-tools deleted branch feat/bus-state 2026-11-03 15:24:41 +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-tools#57