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
jschoubben
35a7ff70fe
Read the seat mesh-placement's state through the sdk's PlacementsOf, and write the test mesh's placement as the seat does, one key per module and node (issue 774, research 072 row 37)
2026-10-31 09:29:32 +01:00
jschoubben
747bfa71aa
Merge pull request 'A state watch given up hands nothing more to its bundle (issue 774)' ( #50 ) from fix/sweep-2026-10-30 into main
...
Reviewed-on: #50
2026-10-30 18:13:12 +00:00
jschoubben
316a5a2fc3
A watch given up or stopped hands over nothing more; arrival of current values restarts its bound (issue 774)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@747bfa71aa32
mesh/delivery-group group fix/sweep-2026-10-30 merged: every member is merged
mesh/check checking 316a5a2fc317 on 0edcd2501dae | novox/mesh-tools#50 in group fix/sweep-2026-10-30
Quick: check the watch context before each deliver in StateWatch. Thorough (chosen, same
file kind): also LogWatch drops a message fetched as it stopped, and the bound restarts
on arrival, not only after the bundle took a value.
2026-10-30 18:22:01 +01:00
jschoubben
0edcd2501d
Merge pull request 'The tool runner reads the grants part's memberships through the mesh-sdk codec (issue 774)' ( #49 ) from fix/memberships-shape into main
...
Reviewed-on: #49
2026-10-30 14:42:20 +00:00
jschoubben
ac645e2cae
Refuse a held-back membership's old wrapper in the tool runner, pinning mesh-sdk's review-round-1 codec
...
mesh/delivery merged: source.main moved to novox/mesh-tools@0edcd2501dae
mesh/delivery-group group fix/memberships-shape merged: every member is merged
mesh/check checking ac645e2caedd on 3c9068f99a43 | novox/mesh-tools#49 in group fix/memberships-shape
The old grants part wrote its wrapper for a held-back membership too; the new part leaves such a key alone, and taking
it would serve what the hold kept back with the stream's copy ignored. The integration test now proves that copy is
served instead. Review round 1 of issue 774's fix.
2026-10-30 15:38:40 +01:00