jschoubben
03e5951dc5
Merge remote-tracking branch 'origin/main' into feat/r6
2026-10-24 17:41:53 +02:00
mesh-tools
4c1d36c9cd
Merge pull request 'A try accepts a mesh-sdk pin that is the head of mesh-sdk's branch of the same name, so a group's members can be tried before its pull requests (issue 1921)' ( #37 ) from fix/1921-try-same-branch-pin into main
2026-10-24 15:37:07 +00:00
jschoubben
37d0ebba7a
Let the view's manifest test read the emits key the delivered event adds
2026-10-24 16:47:33 +02:00
jschoubben
86fd0bbe96
The view says its event delivered once for each source revision whose wants and haves are all there (issue 1906 D9, for issue 1946)
2026-10-24 16:47:09 +02:00
jschoubben
37a5ab8f1c
A node that runs a module of policy record with no want yet is asked like any other, not treated as one that never ran it (issue 1906 D4)
2026-10-24 16:43:01 +02:00
jschoubben
55f19283f4
Do not wait twice at the cleanup for an assigner that ended on its own, which made the refused-start test take ten seconds a bucket
2026-10-24 16:42:28 +02:00
jschoubben
e7a3ff1e7e
The record policy is the one the controller holds beside the composition, the operator's own choice included; pin mesh-sdk 64a502d (issue 1906 D4, ADR 0539 §14)
2026-10-24 16:41:58 +02:00
jschoubben
991589fdd2
A try of a branch accepts a mesh-sdk pin at the head of mesh-sdk's branch of the same name, so a milestone's repositories can be tried before their pull requests (issue 1921)
mesh/check checking 991589fdd20a on 4c1d36c9cd7f
2026-10-24 16:41:39 +02:00
jschoubben
f947070b7b
The view shows the controller's judgement of the move beside each want (issue 1906 D7, ADR 0539 §14)
2026-10-24 16:38:24 +02:00
jschoubben
04c2c60f02
The assigner acts on answers: a release writes the held want again, a backup answer goes into the node's want, a record move waits for its yes, a restore answer sets a data module back (issue 1906 D4)
2026-10-24 16:37:37 +02:00
jschoubben
0df20b5d77
The assigner's seventh rule: a want names the digest of its composition and waits for it; a revision at the same fingerprint is a new want; the node's own want (issue 1906 D2, ADR 0539 §6)
2026-10-24 16:33:48 +02:00
jschoubben
806c8bf0e4
Pin the assigner, watchman and view to mesh-sdk's release 6 head (issue 1943 S3) and give their test wants a composition digest
2026-10-24 16:32:09 +02:00
jschoubben
12b01badb0
Prove the assigner replaced mid-pass resumes with nothing lost or written again (issue 1906 D8)
2026-10-24 16:27:34 +02:00
jschoubben
7b18696cd5
Give the data module's test manifest the directory and backup the catalogue asks of an irreplaceable item
2026-10-24 16:26:43 +02:00
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 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