jschoubben
e40cb291f8
Pin mesh-sdk e5d89c5eedb5 and mesh-contracts 347a3053580a, the group's heads after review round 2 (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 18:26:33 +01:00
jschoubben
c637da2eb7
Pin mesh-sdk c54648e74346 and mesh-contracts ec9529022c44, the group's heads (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 17:46:08 +01:00
jschoubben
d71cd5cef6
TLS-5, TLS-6: the views package is mesh-sdk's (go/views), and mesh_first_view_again is recorded through mesh-hand-acts before it is done (ADR 0615 §6, ADR 0565 §10, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 12:14:14 +01:00
jschoubben
31247dff6b
TLS-5, TLS-6: the tool runner holds the indexer's manifests and modules and the assigner's placement and seat-holders from their first views and views events, never their state, and the console gains mesh_first_views and mesh_first_view_again (ADR 0615, ADR 0621, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 12:06:20 +01:00
jschoubben
0fb4591c9d
Pin mesh-sdk 85ba0a9a70d8, the group's head of feat/l3-final (issue 774)
...
mesh/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/l3-final checking: 3 of 5 member(s) ready
mesh/check failed (2): unit: mesh-provisioner-client/cmd/mesh-provisioner-client.TestNatsANodeComingBackFil…; and 1 more | 0fb4591c9da9 on b4819dc1fb73
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:43:11 +01: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/delivery merged: source.main moved to novox/mesh-tools@01ee2ef39488
mesh/delivery-group group feat/l3b-bus merged: every member is merged
mesh/check checking 8b8a7600479e on 01ee2ef39488 | novox/mesh-tools#58 in group feat/l3b-bus
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/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/l3b-bus checking: 2 of 4 member(s) ready
mesh/check checking db3dd04be7b6 on 8c1e04dd3709 | novox/mesh-tools#58 in group feat/l3b-bus
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
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
jschoubben
43d3fba501
Pin the group's mesh-sdk head f8bd12e in place of the local replace (issue 1966)
mesh/delivery merged: source.main moved to novox/mesh-tools@8c1e04dd3709
mesh/delivery-group group feat/bus-state merged: every member is merged
mesh/check pass 43d3fba501d3 on b8e42cf54cf6 | unit 6460 run, 262 kept, 27 skipped | integration 6639 run, 264 kept, 35 skipped | over bound: unit, in…
2026-11-03 15:35:30 +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
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
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
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
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
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
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
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
jschoubben
a479a90fb2
Read the grants part's memberships through mesh-sdk's codec, so the tool runner serves its node's modules
...
The tool runner unmarshalled the state's value straight into its membership; the grants part had written its wrapper
there, so every module decoded empty, was marked as given by the grants part, and the correct copy on the assignments
stream was passed over: novox served no tool. followGrants now reads with membership.BareGrantsMembership, which takes
the bare membership, still takes the old wrapper (what the live mesh holds until the part writes again), and refuses
a value naming no node or module, leaving the stream's copy in force.
The fixture IssueInGrants built its value by hand from this package's type and so agreed with the mistake; it now
writes through mesh-sdk's encoder, and IssueInGrantsWrapped writes the old wrapper for one integration test that
proves tools and state are served from it (it fails without this fix with the empty membership seen live).
Issue 774 (the bus login list, L3). Quick fix: unwrap here alone. Thorough, chosen: one codec in mesh-sdk the writer
and this reader share, so the two cannot drift again. Pins mesh-sdk at the head of its fix/memberships-shape.
2026-10-30 15:31:26 +01:00
jschoubben
250aa73a56
Pin mesh-sdk 2da0de7, the release's final head with main merged in, so mesh-tools builds with the group's one SDK (issue 1955)
mesh/delivery merged: source.main moved to novox/mesh-tools@3c9068f99a43
mesh/delivery-group group feat/774-l3-reland merged: every member is merged
mesh/check checking 250aa73a5631 on 95a12105cf7b | novox/mesh-tools#48 in group feat/774-l3-reland
2026-10-30 01:12:55 +01:00
jschoubben
e32eef2379
Pin mesh-sdk 6e4a301, the release's final head, so mesh-tools builds with the group's one SDK (issue 1955)
2026-10-30 00:16:11 +01:00
jschoubben
070ae53128
Pin mesh-sdk 007b6fd, the release's final head, so mesh-tools builds with the group's one SDK (issue 1955)
2026-10-30 00:05:45 +01:00
jschoubben
54680238a0
Read memberships from the grants part's state, what the mesh holds from the indexer and placement, and give bundles newest, since and watch on logs, so the tool runner asks the controller for nothing it keeps (issue 1955, ADR 0571 clauses 1, 4, 5, 7)
...
Pins mesh-sdk bb993dd. The assignments stream stays the membership's
fallback until the lease write; a log another module keeps is read as
<module>.<log>.
2026-10-29 23:42:43 +01:00
jschoubben
67850457ef
Read seat verbs' replaces from mesh-sdk's seat contract and seat holders from placement's seat-holders state, so the console asks the controller for neither (issue 1955, ADR 0571 clauses 4 and 5)
...
Pins mesh-sdk f9a496d. The controller's nodes and modules reads remain.
2026-10-29 23:13:42 +01:00
jschoubben
9d67b0995f
Bind node-tools' consumers by mesh-provisioner's plans and provisions alone, dropping the read of the controller's assignments the sdk's helper no longer makes (issue 1954 L6-T1)
...
Pins mesh-sdk 692dbf9 (L6-P3).
2026-10-29 22:43:58 +01:00
jschoubben
9fc97e45c9
Let node-tools' provider helper read mesh-provisioner's provisions and plans by mesh-sdk's names, so the runtime follows ADR 0570's records off the controller (issue 1954 L6-T1)
...
Pins mesh-sdk 4a96793 (go/provisions). The assignments read stays while the
sdk's helper still reads plans there (until L6-P3). A watch's expire now
reads as a removed key.
2026-10-29 22:34:34 +01:00
jschoubben
1583fa85d9
Let a bundle write a state key with its own time to live and hear its end, so wakes need no in-process timer (issue 1952)
...
mesh/state.create and mesh/state.put take ttl_seconds (mesh-sdk 32f5ce3's
CreateTTL/RenewTTL contract); a bucket not declared key-ttl is refused,
naming it; a watch hands an expired key as op "expire". Pins mesh-sdk 32f5ce3.
2026-10-29 22:11:39 +01:00
jschoubben
860043fd7f
Pin mesh-sdk at feat/r4g's head a2c813a6, its test fixture fix, with go.sum tidied
mesh/delivery failed: its walk failed, carrying its own commit: a gate on a first machine (what it carried put back), a build, a machine
mesh/delivery-group group feat/r4g merged: every member is merged
mesh/check checking 860043fd7fa0 on e0fadc43d9dd | novox/mesh-tools#40 in group feat/r4g
2026-10-23 17:06:12 +02:00
jschoubben
3b5a38e4a4
Pin mesh-sdk at feat/r4g's head 9205222a, the merge of lanes A, B, S8 and F1, so every module r4g touches builds against one SDK
...
go.sum gains its lines from go mod tidy once mesh-sdk feat/r4g is pushed.
2026-10-23 16:22:02 +02:00
mesh-tools
33d136e702
Feature 57 (config and provisioning): release mesh-tools (the provider's StateBus, the SDK pin, templates), reviewed
mesh/merge-gate head 33d136e70227 merged into trunk 6b3e15042fee — pass, with a note: builds mesh-tools, node-tools (+40 dependent(s)) → ace, g14, novox, s…
mesh/repo-check head 33d136e70227 merged into trunk 6b3e15042fee — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh): main's version judged it; the ch…
2026-10-16 09:41:17 +00:00
jochen
14bff5dfd7
Check the tool runtime's own code before it merges, every test on a bus of its own (hq ADR 0237)
...
A merge-check.sh, the repository's layer of the mesh's merge check (mesh/repo-check):
format, vet, and node-tools' suite under the race detector. The tests shared one bus and
had to run one package at a time; like the controller's (#97 ), each now starts a server
of its own at the release go.mod pins, held to the catalogue's bus image by a test. What
cannot run in the check — bundles that need @novox/mesh-sdk — is said as not tested.
2026-10-06 22:04:46 +02:00
jochen
e45389f75a
node-tools in Go: the node's runtime, launch-only, wire-compatible with the TypeScript (hq ADR 0193)
...
The runtime knows no language, so nothing ties it to Node.js. This ports its serve mode — the
pinned bus connection and patient connect, following memberships, launching every served bundle
over MCP on stdio with its own environment, a child's emit published as its module, each tool,
the tools verb and seat verbs served where the mesh issued them, and the console on loopback —
to one static binary. Same subjects, request and reply bodies, event headers and MCP answers.
The TypeScript stays: it is still the runtime inside the per-module containers until WP4c.
Tests run against a real bus and share the TypeScript fixtures.
2026-10-03 21:21:52 +02:00