jschoubben
204a59dab4
The assigner asks whether to restore a data module whose held fingerprint failed its health check, and raises the condition for a held fingerprint (issue 1906 D3)
2026-10-24 16:26:20 +02:00
jschoubben
f048e2b443
The view shows each want beside the have of its node, and a source revision's derived state, in place of the comparison with sends (issue 1906 D7)
2026-10-24 16:23:51 +02:00
jschoubben
9d2e9dc6c9
The watchman mirrors each want of the assigner as a pulse owed by the node's agent until the have names its fingerprint (issue 1906 D6)
2026-10-24 16:22:02 +02:00
jschoubben
024a3787da
End the assigner's comparison with the send: the controller sends nothing to compare with, so the differences bucket is kept read-only (issue 1906 D5, ADR 0539 §8)
2026-10-24 16:20:43 +02:00
jschoubben
4fd6b934c8
Read the assigner's wants, differences and the haves with tools, so the gap between wants and sends can be read live (issue 1906 D1)
2026-10-24 16:19:42 +02:00
mesh-tools
fa46e7df7d
Merge pull request 'The assigner reads a change's manifests as the indexer does, so a value falling back to a predefined key no longer fails every composition touching it' ( #36 ) from fix/assigner-predefined-fallback into main
2026-10-24 14:09:58 +00:00
jschoubben
18b522184f
Read a change's manifest as the indexer reads it, so a fallback to a predefined key is not unreadable for the catalogue's predefined.json the assigner never holds: a group touching pacman or xterm failed its composition on it (ADR 0348 §7, issue 1751)
mesh/check pass 18b522184f73 on fa46e7df7dd1 | unit 128 run, 375 kept | integration 138 run, 426 kept | composition passed on ace
2026-10-24 15:03:14 +02:00
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-group group fix/1937-done-key-blobs delivered: every member is delivered
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792840300970624489 (novox/mesh-delivery at 42d880f0 into main, d…
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 delivered: every member is delivered
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/delivery-group group fix/1901-rebased delivered: every member is delivered
mesh/check checking a697ee86d4af on 45ab99477701
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-group group feat/r4g failed: a member failed
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792777718506798022 (novox/mesh-delivery at fae4d48e into main…
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