jschoubben
42d880f075
Merge pull request 'Count a node's toolchain report only while its build module is assigned there, so a removed node no longer makes builders disagree (issue 1940)' ( #34 ) from fix/1940-stale-toolchain into main
...
Reviewed-on: #34
2026-10-24 11:10:45 +00:00
jschoubben
3553cbaf08
Count only the toolchain reports of nodes a build module is assigned to, so a node it left does not make the builders disagree (issue 1940)
...
mesh-build-node was unassigned from ace on 2026-10-23 and its ace.typescript key stayed in
mesh-build-node_toolchains at v26.12.0: nothing deletes it, so the indexer, the builder and the
checker took it for a builder and every Node fingerprint said 'builders disagree'. The three now
read mesh-controller_assignments and pass a toolchain report on only while its build module has an
open assignment on its node; builders that run different versions still disagree.
2026-10-24 12:48:41 +02:00
jschoubben
d8b19cb332
Merge pull request 'Build a done key again when the store no longer holds its blob (issue 1937)' ( #33 ) from fix/1937-done-key-blobs into main
...
Reviewed-on: #33
2026-10-24 10:35:21 +00:00
jschoubben
28ee22ef27
Give the integration test's EVENTS stream the artifacts-gone subject alone, so it does not overlap the build seats' streams (issue 1937)
mesh/check pass 28ee22ef27e2 on d8b19cb332b6 | unit 126 run, 370 kept | integration 136 run, 420 kept | composition passed on shanks
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792840300970624489 (novox/mesh-delivery at 42d880f0 into main, d…
mesh/delivery-group group fix/1937-done-key-blobs closed: a member was closed before the group merged
2026-10-24 04:25:19 +02:00
jschoubben
f0c5be8c30
Say which artifacts the store check asks about: bundles and archives, whose blobs the collector deletes (issue 1937)
2026-10-24 04:19:17 +02:00
jschoubben
80a0183567
Build a done key again when the artifact store no longer holds its blob, and on the controller's artifacts-gone (issue 1937)
...
The store's nightly collector deleted the bare blobs of node-tools', mesh-host's and the forge bridge's done keys, which
the controller had never taken in, and the builder kept them done: their next delivery would refuse. The builder now asks
the controller's held before it leaves a done trunk key done (once per key per process, at its start and on each module
value), claims a key whose blob is gone building as a new revision and says so in its log and the key's step, and hears
artifacts-gone, said when a take-in found a gone blob. No timer: a start, a value or an event.
2026-10-24 04:17:01 +02:00
jschoubben
90fd07ac26
Merge pull request 'Give the indexer a new build: its last build's program never reached the artifact store, so novox cannot apply (issue 1933)' ( #32 ) from fix/1933-rebuild-indexer into main
...
Reviewed-on: #32
2026-10-23 23:38:21 +00:00
jschoubben
90a79b1585
Give the indexer a new build: its last build's program never reached the artifact store, so novox cannot apply (issue 1933)
mesh/check pass 90a79b15854b on 90fd07ac260a | unit 126 run, 366 kept | integration 136 run, 414 kept | composition passed on novox
2026-10-24 01:35:33 +02:00
jschoubben
45ab994777
Merge pull request 'The checker keeps a failed test's whole message with its cause first, and its status names the cause (issue 1901, with mesh-catalog)' ( #30 ) from fix/1901-rebased into main
...
Reviewed-on: #30
2026-10-23 22:36:03 +00:00
jschoubben
55f486e040
Merge pull request 'The indexer keeps an unreadable manifest's inputs, so an SDK upgrade judges it again at start (issue 1923)' ( #29 ) from fix/1923-stale-none2 into main
...
Reviewed-on: #29
2026-10-23 22:35:49 +00:00
jschoubben
7a88eb0a56
Merge pull request 'The checker reads mesh-sdk's list-form level digest, so kept verdicts hold for a check naming a package like token (issue 1930, with mesh-sdk and mesh-catalog)' ( #31 ) from fix/1930-digest-shape into main
...
Reviewed-on: #31
2026-10-23 22:08:43 +00:00
jschoubben
9261347a8f
Read a level's digest from mesh-sdk's list form, so kept verdicts hold for a check whose end names a package like token (issue 1930)
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792794985391468127 (novox/mesh-delivery at 45ab9947 into main…
mesh/check checking 9261347a8f91 on 7a88eb0a5609
mesh/delivery-group group fix/1930-digest-shape merged: every member is merged
2026-10-23 23:37:49 +02:00
mesh-tools
263ff54a4e
Merge pull request 'Integration tests that R4g never ran now pass: the assigner's fixture, the builder's restart test, four checker tests (issues 1927, 1928, 1929)' ( #28 ) from fix/1927-assigner-fpset into main
2026-10-23 21:24:32 +00:00
jschoubben
cd3e55e056
Bring the checker's integration tests to what R4g decided: Go-only repository, echoed beside, readable kept (issue 1929)
mesh/check pass cd3e55e05605 on fae4d48e09a5 | unit 0 run 483 kept | int 0 run 540 kept | clone 17s | composition passed on 3 machines
2026-10-23 23:18:11 +02:00
jschoubben
b303e32a41
Close the builder test's nodes from the bed's start, so no pull in hand takes the first ask (issue 1928)
2026-10-23 23:03:38 +02:00
jschoubben
a31bd7d4a5
Give the assigner test's candidate the SDK's fingerprint set, which the SDK refuses without (issue 1927)
2026-10-23 22:57:05 +02:00
jschoubben
32542ebc14
Keep an unreadable manifest's inputs and judge its verdict again at start, so an upgraded SDK clears it (issue 1923)
mesh/check pass 32542ebc14c3 on 7a88eb0a5609 | unit 122 run, 366 kept | integration 132 run, 414 kept | composition passed on novox
2026-10-23 22:17:09 +02:00
jschoubben
a697ee86d4
Test 1901/AC3: an older pair of build module and checker still agree (issue 1901)
mesh/check checking a697ee86d4af on 45ab99477701
mesh/delivery-group group fix/1901-rebased merged: every member is merged
2026-10-23 22:14:29 +02:00
jschoubben
0373a3b24e
mesh-delivery-checker: a failed test's verdict keeps its last lines and the status line names its error (issue 1901)
2026-10-23 22:13:41 +02:00
jschoubben
fae4d48e09
Merge pull request 'R4g+R5 (mesh-delivery): builder and checker put asks, the assigner and its composition check, the view's wants and backlog (design 47)' ( #27 ) from feat/r4g into main
...
Reviewed-on: #27
2026-10-23 17:49:01 +00:00
jschoubben
b2c545c40a
Place mesh-controller beside the node-engine's tests, which read its manifest (issue 1295, R4g)
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792777718506798022 (novox/mesh-delivery at fae4d48e into main…
mesh/delivery-group group feat/r4g merged: every member is merged
mesh/check checking b2c545c40aec on 85aca46348a0 | novox/mesh-delivery#27 in group feat/r4g
2026-10-23 18:36:13 +02:00
jschoubben
ad26670996
Prove that a second check of the same heads keeps every package the first passed, the digest being taken inside the check ask as the build module answers it (issue 1917)
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: unit: github.com/novox/mesh-host/internal/apply.TestJudgeDirectoriesSaysWhatTheWalkWouldRefuseAndChangesNothing: judge_directories_…
2026-10-23 17:18:37 +02:00
jschoubben
fad96ae67b
Pin mesh-sdk at feat/r4g's head a2c813a6, its test fixture fix, with go.sum tidied
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: unit: git.novox.be/novox/mesh-catalog/checks/config.TestTheUnmovedListHoldsNoModuleTheTrunksDoesNot: realtree_test.go:14: mesh-cata…
2026-10-23 17:06:09 +02:00
jschoubben
b83af04f0c
Read an ask's stream at take-over by its name, as the broker grants it, and wait for the ask when that read fails rather than fail a key whose build may still finish (issue 1910)
mesh/delivery-group group feat/r4g rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: novox: novox/mesh-catalog#464: checks/health/go.mod names mesh-sdk a9560890ee26, which is neither on mesh-sdk's trunk nor the group…
2026-10-23 16:59:37 +02:00
jschoubben
c7bddbbeab
Bound a running build step's pulse by the step's own bound from its start, since nothing rewrites the key while it runs (issue 1908)
2026-10-23 16:58:26 +02:00
jschoubben
d3561923aa
Say the unit level's gofmt and go vet time in the check's line, and pin the group's mesh-sdk head that carries it (issue 1887 D7-go, review round 2 item 5)
2026-10-23 16:51:55 +02:00
jschoubben
d32ec6b7f8
Say what the builder, the indexer and the watchman do since R4g in their comments: no build-agent is asked, no build record moves a fingerprint, no checks-running bucket is mirrored (issue 1887, review round 2 item 6)
2026-10-23 16:47:36 +02:00
jschoubben
52d8b9b753
Say in the checker's status that a check without a verdict waits in a build seat's stream, not behind a plan key or a capacity, as A5b left it (issue 1887, review round 2 item 4)
2026-10-23 16:47:20 +02:00
jschoubben
ce51457974
Prove on the real bus that a builder started again while its asks waited puts no second ask (issue 1887 AC3, review round 2 item 2)
2026-10-23 16:46:58 +02:00
jschoubben
bac82bb91e
Count the asks the builder puts and read their kind in its integration test, so 1887/AC1 is proven on the real bus (issue 1887, review round 2 item 3)
2026-10-23 16:46:57 +02:00
jschoubben
357e28f31d
Merge remote-tracking branch 'origin/feat/r4g' into feat/r4g
...
# Conflicts:
# modules/mesh-delivery-builder/internal/build/run_test.go
2026-10-23 16:46:05 +02:00
jschoubben
5ddc221833
Bound a build or check ask's step from its start, and drop the checker's whole-check bound, so asks waiting in the streams during a large rebuild are never failed and asked twice (issue 1887, review round 2 item 1; ADR 0525 §3, §6)
2026-10-23 16:45:35 +02:00
jschoubben
37860d46a0
Stop watching the node-engine's have in the checker: a check's asks wait in the build seats' streams, which redeliver a lost node's ask, so no check fails for want of a node; presence stays for an unheard forge and the assigner's presence (issue 1912)
2026-10-23 16:41:34 +02:00
jschoubben
84b2c92ccf
Put again, under its own id, an ask a build key names that neither its stream holds nor any node ran, so a builder that stopped between naming and putting it leaves no key waiting for an ask nobody put (issue 1910)
2026-10-23 16:39:56 +02:00
jschoubben
c0f24f56b5
Drop the view's use of the build seats: it reads their workers and publishes no ask (issue 1887 A8a)
2026-10-23 16:35:05 +02:00
jschoubben
76bc810bda
Test that an ask running when the watchman starts gets its pulse from the steps that stand (issue 1909)
2026-10-23 16:34:50 +02:00
jschoubben
e927469460
Pulse a build ask only from when a node takes it, and end the pulse with its step, so a waiting ask is a backlog and not a stuck row (issue 1908)
2026-10-23 16:34:39 +02:00
jschoubben
97b42e3f0d
Name in every composition, by machine, those that could run a moved or added module and are not assigned it and those whose grants alone the change alters, as not judged, as ADR 0537 clause 1 asks (issue 1297)
2026-10-23 16:29:57 +02:00
jschoubben
1b019f0353
Record the assigner's full requirements and mesh-sdk feat/r4g's checksums, so the new module builds without a workspace (R4g)
2026-10-23 16:27:05 +02:00
jschoubben
95f52afab2
Record the checksums of mesh-sdk feat/r4g 9205222a for the group's modules (R4g)
2026-10-23 16:26:11 +02:00
jschoubben
e4a40a1cb0
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
jschoubben
dd8e05142d
Merge branch 'feat/r4g-scripts' into feat/r4g
2026-10-23 16:20:17 +02:00
jschoubben
66be3dd0e4
Merge branch 'feat/r4g-view' into feat/r4g
2026-10-23 16:20:17 +02:00
jschoubben
527f87f94c
Merge branch 'feat/r4g-asks' into feat/r4g
...
# Conflicts:
# modules/mesh-delivery-checker/cmd/mesh-delivery-checker/judge.go
# modules/mesh-delivery-checker/manifest_test.go
# modules/mesh-delivery-checker/module.json
2026-10-23 16:20:17 +02:00
jschoubben
0463f21026
Merge branch 'feat/r4g-assigner' into feat/r4g
2026-10-23 16:19:45 +02:00
jschoubben
a4629bc649
Compute every module's fingerprint with no builder input and read no build-agent record for it, so a change of the builder rebuilds nothing (issue 1887 I1, ADR 0530 §1)
2026-10-23 16:14:19 +02:00
jschoubben
50836eb4d6
Format the watchman's integration test (issue 1887 A8b)
2026-10-23 16:14:03 +02:00
jschoubben
79ef768ea4
Show the backlog of build asks per language and kind: waiting, held by a node, and the oldest waiting ask's age (issue 1887 A8a)
2026-10-23 16:14:00 +02:00
jschoubben
a8ba5c2fd5
Mirror a waiting build ask as a pulse until a node writes its step, and drop the read of the controller's checks-running (issue 1887 A8b)
2026-10-23 16:12:43 +02:00
jschoubben
d0354574c6
Look the assigner's compositions bucket up at each check until it is there, so an assigner delivered after the checker started is read without a restart (issue 1297, review round 1 item 3)
2026-10-23 16:12:18 +02:00