jschoubben
4ee3cc0c7f
Runner: the line cap is read once in Start, not per line from a goroutine (issue 1966, review round 3)
...
mesh/check being carried to 4ee3cc0c7f4c on 20979201eb56 | from 2ea4f019e594
mesh/delivery merged: source.main moved to novox/mesh-tools@20979201eb56
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
2026-11-09 13:59:13 +01:00
jschoubben
a25c2b4d89
Launch test: the restart is heard as a second start line in the log, not polled from a file (issue 1966, review round 2)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
2026-11-09 13:59:13 +01:00
jschoubben
312e29478e
Tool runner: the cap's reason fails the call; the test proves the ending; the refused-answer limit keys on the caller's prefix and forgets old entries (issue 1966, review round 1)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
2026-11-09 13:59:13 +01:00
jschoubben
f3a9cc276e
Tool runner: a bundle's over-long line ends the bundle and is said; an unanswered call and a refused answer are logged (issue 1966)
...
The reader of a bundle's stdout stopped at a line over 16 MiB without a word and the bundle's next write
blocked for good: every call of the module then timed out, unheard of. Now the line is said, the bundle ended
and started again by the exit path. A call the bundle does not answer in time is logged with tool and caller,
and a refused publish of an answer (to a caller's inbox) is said once per subject per minute.
Quick fix: only the bundle that met it (mesh-hand-acts' answer is cut by its own module). Thorough fix, chosen:
the runner guards every bundle, so the kind (a silent freeze of a module runtime) cannot recur for any module.
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
2026-11-09 13:59:13 +01:00
mesh-tools
2ea4f019e5
Merge pull request 'Issue a key-value entry asked in requires as a state, by its local name (issue 1966, recovery)' ( #66 ) from fix/1966-requires-state into main
2026-11-09 12:56:37 +00:00
jschoubben
8052fd14f4
Issue a key-value entry asked in requires as a state, by its local name
...
mesh/check checking 8052fd14f4fd on 2ea4f019e594 | novox/mesh-tools#66 in group fix/1966-requires-state
mesh/delivery merged: source.main moved to novox/mesh-tools@2ea4f019e594
mesh/delivery-group group fix/1966-requires-state merged: every member is merged
A bundle's state call on a key-value entry its module asks for in requires
(ADR 0595 §1) was refused "keeps and reads no state called", because the
tool runner read the old state list alone (issue 1966). It now reads mesh-sdk's
one rule, membership.StateIssued.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 12:39:04 +01:00
mesh-tools
9f61975c50
Merge pull request 'Gate record of mesh-tools' forge-made merges (issue 1966, recovery)' ( #65 ) from fix/1966-forge-made-merge into main
2026-11-09 08:45:59 +00:00
jschoubben
b82054d930
Record this repository's forge-made merges in the delivery gate, so the indexer takes them in (issue 1966, recovery)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@9f61975c50a0
mesh/delivery-group group fix/1966-forge-made-merge merged: every member is merged
mesh/check checking b82054d9300a on 9f61975c50a0 | novox/mesh-tools#65 in group fix/1966-forge-made-merge
Merges made on the forge directly since 2026-11-09 07:04 UTC have no gate merge record,
and the indexer holds them; an empty merge through the gate covers this repository's head.
Second of its kind: the group's mesh-delivery member removes the need (the forge bridge
reads a forge-made merge's pull request from the forge).
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 09:17:01 +01:00
mesh-tools
164547645a
Merge pull request 'The runtime answers a page of a kept state in one request, bounded by time (issue 1966, recovery)' ( #64 ) from fix/1966-views-page-time into main
2026-11-09 08:13:13 +00:00
jschoubben
2135fed6cf
A node's bucket opens under its own deadline, so a per-node page is ended by its budget too (issue 1966)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@164547645aed
mesh/delivery-group group fix/1966-views-page-time merged: every member is merged
mesh/check checking 2135fed6cf1f on 9f61975c50a0 | novox/mesh-tools#64 in group fix/1966-views-page-time
Review round 3: the open on the first key of a node ran on the listing's context,
whose deadline is spent before the page's budget.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 09:04:39 +01:00
jschoubben
aba2c11a27
A page's gets each have their own deadline, so its budget always ends it; a node's bucket is bound once (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 09:02:34 +01:00
jschoubben
568140f667
A page reads the bucket bound once and stops at its time budget, one value at least; an unknown verb is told by its code (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 09:00:20 +01:00
jschoubben
1a9190774d
The runtime answers a bulk read of kept state: the values after a key in one request (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 08:51:19 +01:00
mesh-tools
27710ccabd
Merge pull request 'The runtime says a bundle's state or log operation that failed or timed out, with its time (issue 1966, recovery)' ( #63 ) from fix/1966-hand-acts-answers into main
2026-11-09 07:03:42 +00:00
jschoubben
634c77f90f
The runtime says no lost compare-and-set as a failed operation, and its test waits on a channel, never a sleep (review round 1)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@27710ccabd53
mesh/check checking 634c77f90f98 on 27710ccabd53
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 02:21:55 +01:00
jschoubben
1fc006b7dd
The runtime says a state or log operation of a bundle that failed or timed out, with its time (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-09 02:17:35 +01:00
mesh-tools
f4b4fb908f
Merge pull request 'The console passes arguments to a seat verb whose definition it does not hold (issue 1966, recovery)' ( #62 ) from fix/1966-seat-reads-bootstrap into main
2026-11-08 03:45:19 +00:00
jschoubben
7572627aff
The console passes a seat verb's arguments on when it holds no definition of the seat (issue 1966)
...
mesh/delivery merged: source.main moved to novox/mesh-tools@f4b4fb908f37
mesh/delivery-group group fix/1966-seat-reads-bootstrap merged: every member is merged
mesh/check failed (2): mesh-delivery-checker: no published of the tagged version of go-sdk of mesh-delivery…; and 1 more | 7572627affde on f4b4fb908f37
A seat verb whose holder announced an empty schema was judged as taking
nothing: shanks' tool runner refused "mesh-module-assigner.propose takes no
argument changes, why — it takes nothing". The console now judges such a
call by the verb's input in the seat's definition this runner holds; where
it holds none (it waits for the seat list, holding only the bootstrapped
definitions), the arguments go to the holder, which judges its own input,
and mesh_describe says the definition is not held instead of showing an
empty schema.
Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
2026-11-08 02:45:30 +01:00
mesh-tools
d184862b1a
Merge pull request 'Registry milestone: mesh-tools (issue 1966)' ( #61 ) from feat/registry-milestone into main
2026-11-07 14:19:59 +00:00
jschoubben
6c05e42626
gofmt the files the group try listed
...
mesh/delivery merged: source.main moved to novox/mesh-tools@d184862b1ad3
mesh/delivery-group group feat/registry-milestone merged: every member is merged
mesh/check checking 6c05e4262641 on d184862b1ad3 | novox/mesh-tools#61 in group feat/registry-milestone
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-06 01:38:43 +01:00
jschoubben
91a4f1b0ad
Take tidy's go.mod whole: mesh requirements at the zero version only, unused ones dropped
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-06 00:52:18 +01:00
jschoubben
b4affb3efd
Complete go.mod and go.sum for the externals each module builds with
...
A check's tests run without network, so each module must carry every external module it builds with.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-06 00:51:22 +01:00
jschoubben
fb31cc4e99
The console reads the assigner's state assignments and imports the contracts' new paths (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 22:02:06 +01:00
jschoubben
bd555e6014
No client names the holder of the seat mesh-provisioner: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:36:21 +01:00
jschoubben
c3754e48c8
No client names a holder: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:37:28 +01:00
jschoubben
a00c780352
Require every mesh package of the group at the floor version (ADR 0573 sections 2 and 4, issue 1966)
...
A member's go.mod names the oldest version a module accepts; the check builds the group's own heads whatever it names. go.sum lines of mesh packages are left out.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:56:39 +00:00
jschoubben
5bbe669cfb
Merge b6/registry into the registry milestone's join: the console reads through the assigner's client, with the seat name mesh-module-assigner (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:39:17 +01:00
jschoubben
c55b1bcf38
First views: the integration test reads the views families of the manifest's consumes, not the seat list's events (T-3; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:37:17 +01:00
jschoubben
6965119bce
Tool runner: the grants part's membership bucket and key are membership's, which the SDK keeps (ADR 0635 §4; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:36:18 +01:00
jschoubben
387f547346
Tool runner: the console, its test bed and the provider read placement, the catalogue's keys and the provisions through the seats' clients, not go/delivery, go/provider or go/provisions (T-1, ADR 0634 §4; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:31:22 +01:00
jschoubben
fce9189579
First views: a finding's times are times, as the conditions client types them (issue 1966)
2026-11-05 15:26:49 +01:00
jschoubben
a2402c4873
Merge branch 'b6/registry' into feat/registry-milestone
2026-11-05 14:54:25 +01:00
jschoubben
f917fc60c1
Tool runner: waits for the first read of the seat list on the reader's Ready, to a bound, and serves with the bootstrapped seats past it (B9c, ADR 0636 §1; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:49:52 +01:00
jschoubben
0a6fd0cb5c
Merge b6/registry into the registry milestone's join (issue 1966)
2026-11-05 14:39:37 +01:00
jschoubben
a918352ff1
Tool runner: describes the seats from the seat list it reads through the seat mesh-catalog; the first views' finding in the conditions seat's layout (T-1, T-3, ADR 0635 §1, ADR 0636 §4; issue 1966)
2026-11-05 14:29:02 +01:00
jschoubben
d5e4e4e8ab
Console: the address text and the tests name the seat mesh-module-assigner (ADR 0634 §9; T-2; issue 1966)
2026-11-05 14:17:14 +01:00
jschoubben
07f6078050
Pin mesh-sdk 05b3e2e1b94f and mesh-contracts ae5266e77639, the group's final heads (issue 1966)
...
mesh/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/registry-milestone checking: 6 of 7 member(s) ready
mesh/check failed (9): ace: novox/mesh-sdk#167 does not merge into the trunk: files in conflict: go/catalog…; and 8 more | 07f6078050ec on 84ede95c4af7
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 18:47:39 +01:00
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
e0d7122567
TLS-5 integration test: the owners' own views streams, the runner's consumers on them and a membership naming them, events on views.Emit's subject
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 18:09:09 +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
7390652f33
One guarded handler slot for a bundle's event and heartbeat handlers, so a reload never races the consumer's loop
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 16:28:08 +01:00
jschoubben
db3b5fe63d
F-tools: the runner's views consumer is proven on the real bus; the heartbeat is asked of the bus only when a bundle wants it, with no race; a seat record says when the bus wrote it; the beat test counts ticks, not sleeps
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 16:26:50 +01:00
jschoubben
76e025dbbc
J2: a state read carries the time the bus wrote the value, as at (stdio.StateEntry.At)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 14:31:36 +01:00
jschoubben
f87c9720ed
J2: the tool runner tells a subscribed bundle how its module's consumer stands, as mesh/heartbeat (stdio.OnHeartbeat), at each idle beat and once Missed (ADR 0615, ADR 0621, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 14:10:25 +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
8b1ab467a9
TLS-1, TLS-2, TLS-3: the runner declares its own secret ledgers, refuses a bundle tool named as a ledger repair, and states the capabilities of its calls in its PING (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 11:40:03 +01:00
mesh-tools
84ede95c4a
Merge pull request 'L3 final: tool-runner back in node-tools' manifest (issue 774)' ( #60 ) from feat/l3-final into main
2026-11-04 00:24:03 +00:00
jschoubben
7fd9d893c0
Give node-tools new manifest bytes (version 2), the recovery of the moment for a stale verdict
...
mesh/delivery merged: source.main moved to novox/mesh-tools@84ede95c4af7
mesh/delivery-group group feat/l3-final merged: every member is merged
mesh/check checking 7fd9d893c0a5 on 84ede95c4af7 | novox/mesh-tools#60 in group feat/l3-final
The running indexer holds a refusal from 21:14 for the exact bytes of this manifest, which says tool-runner again. A new digest is read afresh; the thorough fix of stale verdicts is in the indexer in this group (issue 774).
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 00:44:17 +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