mesh-tools
b4819dc1fb
Merge pull request 'L3 recovery: take tool-runner out of node-tools' manifest until the judge that knows it runs (issue 774, issue 1585)' ( #59 ) from fix/l3-words-after-judge into main
2026-11-03 21:09:06 +00:00
jschoubben
40e0e8282b
Take tool-runner out of node-tools' manifest until the judge that knows it runs
...
mesh/check being carried to 40e0e8282b38 on b4819dc1fb73 | from 01ee2ef39488, mesh-catalog e6de42630355, mesh-delivery 4154c3040cee
mesh/delivery merged: source.main moved to novox/mesh-tools@b4819dc1fb73
mesh/delivery-group group fix/l3-words-after-judge merged: every member is merged
The running indexer's judge refuses the word, a refused manifest holds the bus's user list, and so the indexer build
that knows the word is never granted. The node-engine on main and node-tools find the runner by its name; the grants
part keeps the runner's users as they run while no manifest says it; the word comes back once the new judge runs
(issue 774).
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 21:28:29 +01:00
mesh-tools
01ee2ef394
Merge pull request 'L3: the tool runner says it is the tool runner, and the dead TypeScript callers of the old catalog module are gone (ADR 0604)' ( #58 ) from feat/l3b-bus into main
2026-11-03 20:13:02 +00:00
jschoubben
8b8a760047
Pin mesh-sdk b7abe203a929, the group's head of feat/l3b-bus: it keeps, deprecated, the exported names the running parts still use
...
mesh/check checking 8b8a7600479e on 01ee2ef39488 | novox/mesh-tools#58 in group feat/l3b-bus
mesh/delivery merged: source.main moved to novox/mesh-tools@01ee2ef39488
mesh/delivery-group group feat/l3b-bus merged: every member is merged
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 18:50:12 +01:00
jschoubben
db3dd04be7
Pin mesh-sdk cf5812101b0b, the group's final head of feat/l3b-bus (the module graph left mesh-sdk)
mesh/check checking db3dd04be7b6 on 8c1e04dd3709 | novox/mesh-tools#58 in group feat/l3b-bus
mesh/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/l3b-bus checking: 2 of 4 member(s) ready
2026-11-03 17:15:17 +01:00
jschoubben
d13890b944
Pin mesh-sdk 65b7adc8bdd9, the group's head of feat/l3b-bus
2026-11-03 17:15:17 +01:00
jschoubben
b3903446f9
Remove the TypeScript runtime code that called the old catalog module's tools; a test finds no file naming one (ADR 0604 section 4, issue 774)
2026-11-03 17:15:17 +01:00
jschoubben
e550c87a29
Pin mesh-sdk e7ce86ff62b5, the group's head of feat/l3b-bus (review round 2)
2026-11-03 17:15:16 +01:00
jschoubben
ff7661a136
Pin mesh-sdk 825483043549, the group's head of feat/l3b-bus (review round 1)
2026-11-03 17:15:16 +01:00
jschoubben
84533edf2e
Pin mesh-sdk 09ec82cb3551, the group's head of feat/l3b-bus (ADR 0601)
2026-11-03 17:15:16 +01:00
jschoubben
ea516ece5a
node-tools says it is the tool runner (tool-runner), so mesh-sdk and its readers never know it by its name; pinned at mesh-sdk a973bfa (issue 774, the operator 2026-11-03)
2026-11-03 17:15:16 +01:00
mesh-tools
8c1e04dd37
Merge pull request 'Bus state by template: the tool runner's objects, stream, work-queue and ledger calls with the proven author (issue 1966, B1)' ( #57 ) from feat/bus-state into main
2026-11-03 15:24:40 +00:00
jschoubben
43d3fba501
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
2026-11-03 15:35:30 +01:00
jschoubben
df929b48b5
Leave the own secret ledgers out of node-tools' manifest until the vault holds it on every machine, reading a missing file as no ledger credentials; grant the test's ledger account as the grants part does (issue 1966 T6)
2026-11-03 15:29:47 +01:00
jschoubben
961ec0ef96
Append and snapshot a ledger on mesh-sdk's ledger subjects, the ones its account is granted, refusing a binding naming others (issue 1966 T6)
2026-11-03 15:17:12 +01:00
jschoubben
5a9e997349
Check a ledger operation against the types its binding carries, refusing a ledger bound with none (issue 1966 T2)
2026-11-03 15:15:58 +01:00
jschoubben
fadc73f73b
Key and answer a ledger index by mesh-sdk's IndexKey and IndexEntry, the one shape the owner's watcher also writes (issue 1966 T3)
2026-11-03 15:15:00 +01:00
jschoubben
d206b0dde1
Prove against the real bus that the ledger keeps its promises: one writer wins, the state never goes back, a cut or full state catches up, the snapshot rebuilds, the repairs repair, a forged author is refused (issue 1966 T7)
2026-11-03 13:52:58 +01:00
jschoubben
2bb0a6461d
Publish a module's ledger history and snapshots only on its own ledger connection, read from the runner's own secret ledgers and followed without a restart (issue 1966 T6)
2026-11-03 13:51:47 +01:00
jschoubben
38a634723b
Stamp a ledger operation with the caller the runner proved for the call in flight it names, refusing another module's call or one not in flight; serve the ledger calls on the pipe (issue 1966 T5)
2026-11-03 13:49:15 +01:00
jschoubben
8fe7ef3b82
Serve a ledger owner its repairs rebuild, reindex, snapshot and lag as tools, its own ledgers only, marked acts or reads (issue 1966 T4)
2026-11-03 13:46:54 +01:00
jschoubben
63c1e3faa2
Read a ledger: an instance's state, its history oldest first with sequence and author, a watch of its states, a declared index (issue 1966 T3)
2026-11-03 13:42:33 +01:00
jschoubben
ad22c5e9fe
Apply a ledger operation: check it against its type, append it with the last sequence expected, derive the state at the revision read, write the snapshot (issue 1966 T2)
2026-11-03 13:40:45 +01:00
jschoubben
d6c516ab44
Serve a bundle its own bound objects, streams and work queues on its pipe (issue 1966 T1)
2026-11-03 13:34:32 +01:00
mesh-tools
b8e42cf54c
Merge pull request 'sdk1: node-tools reads per-node states through mesh-sdk's pernode' ( #56 ) from feat/sdk1 into main
2026-11-02 20:43:23 +00:00
jschoubben
24c0ec0d32
Pin mesh-sdk at f02f142, the sdk1 head whose tests no longer leak package globals, so the group's check builds against it
...
mesh/delivery merged: source.main moved to novox/mesh-tools@b8e42cf54cf6
mesh/delivery-group group feat/sdk1 merged: every member is merged
mesh/check checking 24c0ec0d324a on d7d908cf67ae | novox/mesh-tools#56 in group feat/sdk1
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 20:14:16 +01:00
jschoubben
bd24ceafa9
Pin mesh-sdk at the sdk1 group's head 1c7356c, so the group's check builds every module against the narrowed SDK it was written for
...
mesh/delivery-group group feat/sdk1 checking: 7 of 7 member(s) ready
mesh/delivery closed: a newer head of the same pull request
mesh/check failed: integration: meshbuildgo/cmd/mesh-build-go.TestAComposeAskIsBuiltOnceAndAnsweredOnTheBus: NOT CHECKED: the node-engine's composer c…
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 19:29:53 +01:00
jschoubben
3f538027e9
Read a per-node state through mesh-sdk's pernode package, so the runtime and a process share one copy of its rules
...
Replaces the runtime's own bucket listing, advisory hearing and per-bucket bookkeeping; the bound on progress and the runtime's shapes stay here. ADR 0593 §6.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 18:31:18 +01:00
jschoubben
8114b45884
Serve a per-node state to a bundle as one state: get by the key's node, keys and watch over every node's bucket, a later bucket too
...
The provisioner, the assigner and the view read every node's composition (ADR 0593 §6); the runtime followed mesh-sdk's membership.StateIssued PerNode and process.NodeFamily on its own connection.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 18:27:34 +01:00
mesh-tools
d7d908cf67
Merge pull request 'node-tools without the controller's paging and handover reads (issue 1126 group B)' ( #55 ) from feat/1126-removal into main
2026-11-02 13:41:43 +00:00
jschoubben
e475d9f849
Pin mesh-sdk to the group head of issue 1126
...
mesh/delivery merged: source.main moved to novox/mesh-tools@d7d908cf67ae
mesh/delivery-group group feat/1126-removal merged: every member is merged
mesh/check checking e475d9f849ca on 49f9269376e3 | novox/mesh-tools#55 in group feat/1126-removal
Every member builds against mesh-sdk abf5eac, the head of feat/1126-removal, so the group is checked as one contract.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 12:27:34 +01:00
jschoubben
e6f27a5f74
Pin mesh-sdk to the group head of issue 1126
...
Every member builds against mesh-sdk f569924, the head of feat/1126-removal, so the group is checked as one contract.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 12:20:14 +01:00
jschoubben
c678511871
Pin mesh-sdk to the group head of issue 1126
...
Every member builds against mesh-sdk 729a86b, the head of feat/1126-removal, so the group is checked as one contract.
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 11:56:55 +01:00
jschoubben
4f636b7080
Name no controller verb in hints and drop its handover and paging reads, since the controller ended (issue 1126 B19)
...
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 11:23:14 +01:00
mesh-tools
49f9269376
Merge pull request 'node-tools follows memberships from the grants part's state alone (issue 774)' ( #54 ) from feat/l3-removal into main
2026-11-02 00:35:50 +00:00
jschoubben
29fd452628
Pin mesh-sdk at c21d8fd, the removal group's head, so every member builds the same contract (issue 774)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@49f9269376e3
mesh/delivery-group group feat/l3-removal merged: every member is merged
mesh/check failed: mesh-build-go: the check of novox/mesh-catalog#590: the ask mvyhumdm860c7f's step on shanks did not end within 30m0s of its start |…
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 00:53:42 +01:00
jschoubben
331fa06b54
The tool runner reads the memberships state again until it can, instead of giving a module up at its one follow
...
A JetStream 503 or a timeout at the follow (a bus right after its boot) left the module with no membership for good, since
Follow runs once per module and the stream fallback is gone. The read is now tried again with a growing wait (1 s doubling
to 30 s) until it watches the key or the connection closes; the failure is said once, and its reading once it succeeds.
Tests: none added; a step added to an existing unit test (TestAModuleHearsEveryStreamItsMembershipNames), which fails
without the retry.
(issue 774, 774/S32, review g1 round 1)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 00:51:19 +01:00
jschoubben
5b2ff5e321
Test that node-tools' manifest is not refused by the lease write's check (ADR 0571 §13)
...
Tests: one added, the first of its kind in this repository; the repository holds 128 unit tests, within its budget of 500.
Built against the group's mesh-sdk through a go.work outside the tree; go.mod is not re-pinned here.
(issue 774, 774/S33)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 00:26:04 +01:00
jschoubben
4fbfdfad13
The tool runner reads its membership from the grants part's state alone: no stream read, no subject heard (ADR 0571 §10)
...
Follow no longer asks the ASSIGNMENTS stream for a copy nor subscribes mesh.assignment; a module with no membership key is
said so and served in its derived shape. The test mesh issues memberships where the grants part keeps them.
Tests: none added; the stream-fallback assertions of two existing tests are replaced by their state-only counterparts, and
the test mesh no longer makes the stream. The two integration tests of the bus were run locally against the embedded bus.
(issue 774, 774/S32)
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-02 00:25:19 +01:00
mesh-tools
75943ca7b0
Merge pull request 'The tool runner waits on the self-check's checked, not the controller's (design 47 L7)' ( #53 ) from feat/l5-l7-main into main
2026-11-01 13:54:02 +00:00
jschoubben
fb6631aee1
Pin group A's mesh-sdk head on main
...
mesh/delivery merged: source.main moved to novox/mesh-tools@75943ca7b0c3
mesh/delivery-group group feat/l5-l7-main merged: every member is merged
mesh/check checking fb6631aee1a2 on 75943ca7b0c3 | novox/mesh-tools#53 in group feat/l5-l7-main
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 09:57:49 +01:00
jschoubben
d41bee158c
node-tools waits on the self-check's checked, not the controller's (ADR 0571 clause 13, issue 1955)
...
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 09:54:39 +01:00
mesh-tools
110e55cb48
Merge pull request 'The tool runner declares the credential form of its mcp-endpoint (ADR 0579)' ( #52 ) from feat/judge-once into main
2026-11-01 07:55:09 +00:00
jschoubben
c494018074
Pin the group's mesh-sdk head after the gofmt fix
...
mesh/delivery merged: source.main moved to novox/mesh-tools@110e55cb4836
mesh/delivery-group group feat/judge-once merged: every member is merged
mesh/check checking c4940180746a on c2f01bf10b68 | novox/mesh-tools#52 in group feat/judge-once
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 03:27:07 +01:00
jschoubben
4cdf63443d
Pin mesh-sdk to the group's head after review round 1
...
mesh/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/judge-once checking: 4 of 6 member(s) ready
mesh/check checking 4cdf63443d59 on c2f01bf10b68 | novox/mesh-tools#52 in group feat/judge-once
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 03:13:22 +01:00
jschoubben
1e9995faba
Pin mesh-sdk to the delivery group's head
...
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 02:46:53 +01:00
jschoubben
f6c401ecd2
Declare credential form none for the provision, which hands consumers no credential
...
The manifest judge refuses an offer that says no credential form (issue 1585).
Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-11-01 02:43:23 +01:00
mesh-tools
c2f01bf10b
Merge pull request 'Read and write placement per node and module (issue 774)' ( #51 ) from feat/072-moves into main
2026-10-31 10:31:18 +00:00
jschoubben
be2fc2e9b6
Pin mesh-sdk at the group's head acbf80a (issue 774)
mesh/delivery merged: source.main moved to novox/mesh-tools@c2f01bf10b68
mesh/delivery-group group feat/072-moves merged: every member is merged
mesh/check failed: shanks: the check of novox/mesh-controller#487 failed: go mod download in modules/route-proxy: go: git.novox.be/novox/mesh-controll…
2026-10-31 10:25:46 +01:00
jschoubben
aa05629375
Pin mesh-sdk at the group's head (issue 774)
2026-10-31 09:30:08 +01:00