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
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
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
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
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
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
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
9f27e2b1f8
Build each build module's part of a fingerprint as one ask on its seat's stream, named in the key before it is put, so the builder chooses no node, holds no capacity and never asks twice (issue 1887 A4a, A4b, A4c, ADR 0525 §1-§6)
2026-10-23 15:57:03 +02:00
jschoubben
9fad90ee89
Say that the builder writes references only once each build module answered one (issue 1886, ADR 0522 review)
...
mesh/merge-gate head 9fad90ee890a merged into trunk b714eab995a5 — pass: builds mesh-delivery-builder → novox; no bus step; the change touches no module of…
mesh/repo-check head 9fad90ee890a merged into trunk b714eab995a5 — pass: its merge-check.sh passed
mesh/check failed: integration: github.com/novox/mesh-controller/internal/identity.TestACertificateChainsToTheMeshsOwnAuthority: authority_test.go:45:…
mesh/delivery-group group fix/1886-builder-says-references merged: every member is merged
The references come from the build modules' own pushes, so a new builder beside
an old build module writes none; saying it at start would send the controller
to keys that fail not stored.
2026-10-23 00:52:50 +02:00
jschoubben
4b8b1c047c
Say in the builder's own bucket of instances that it writes references (issue 1886)
...
The controller delivers from the builder's keys only while a running builder
says its done keys name references; a builder from before R4e says nothing,
so R4e's own delivery is asked of build-agent instead of waiting for ever.
The say is put once started and taken away when stopped.
2026-10-23 00:48:28 +02:00
jschoubben
12cf0cc1f5
Format the builder's integration test
2026-10-22 18:21:04 +02:00
jschoubben
7cc97cd6b6
Name a candidate's named paths in its fetch, and prove on a real bus that claude-code's manifest is built (issues 1758 and 1751)
2026-10-22 18:20:59 +02:00
jschoubben
b39090aab9
Read manifests with mesh-sdk's ParseManifestForInputs in the indexer and the builder, so claude-code, dunst and xterm are built too (issue 1751)
...
The indexer's own copy goes. Pins mesh-sdk feat/r4e-sdk e76a5a3 in every module of the group.
2026-10-22 18:20:37 +02:00
jschoubben
4bb04a47f9
Build each fingerprint on one node and drop the second-node retake, as ADR 0478 §4 has it from R4e (issue 1587, B9)
...
A key done on one node before R4e is not built again for a second; a key failed for differing digests stays as it is.
2026-10-22 18:18:59 +02:00
jschoubben
8b2e8895c2
Prove on a real bus that every done key names its references, a refused push is built again, and a pinned upstream is copied (issue 1587, B8, ADR 0498 checks)
2026-10-22 18:03:39 +02:00
jschoubben
12f61998c5
Publish a merged candidate's image once; a retaken key builds only what is missing (review r1)
2026-10-22 10:33:52 +02:00
jschoubben
bbc690539b
Build an image on one node through mesh-build-image; only a trunk key publishes (issue 1705)
2026-10-22 10:19:26 +02:00
jschoubben
7214bf4368
Fail a candidate's build when its fetch answers files in conflict or no merge, so the trunk's build is not stored under the candidate's fingerprint (review D4)
2026-10-21 21:50:30 +02:00
jschoubben
284f21c4e3
Key the builder's candidate test as the indexer keys a group
2026-10-21 21:35:53 +02:00
jschoubben
66908d9bbc
The builder builds the fingerprints a candidate carries, once each, from the head merged onto the trunk (issue 1684)
2026-10-21 21:28:38 +02:00
jschoubben
e554094b74
The builder uses mesh-sdk's buildrun package for the caller, the steps, the places, the presence, toolchain and have sets and the choice of nodes, so the checker shares them (issue 1671)
2026-10-21 21:25:00 +02:00
jschoubben
46702d1af3
Keep the builder off a node whose capacity setting is 0, and start the setting at shanks=3,ace=2,g14=0,novox=0 (issue 1661)
mesh/merge-gate head 46702d1af311 merged into trunk 2000c841bf70 — pass: builds mesh-delivery-builder, sent nowhere; no bus step; every machine composes wi…
mesh/repo-check head 46702d1af311 merged into trunk 2000c841bf70 — pass: its merge-check.sh passed
2026-10-21 13:46:14 +02:00
jschoubben
dcf62b0413
Make the builder's capacity a module setting, hold back a failed second-node build until the nodes change, and close at start a key left building for a fingerprint the module no longer has (issues 1661, 1664, 1660)
2026-10-21 13:34:39 +02:00
jschoubben
bfc64ac65e
Build an archive with no toolchain, mark digests that differ and a one-node key so each is handled, reserve a place when a node is chosen, choose only nodes whose build module is healthy, and take over any key found building (issue 1607, review round 4)
mesh/merge-gate head bfc64ac65ea1 merged into trunk 26de6bc62558 — pass: builds mesh-delivery-indexer, new: modules/mesh-delivery-builder → novox; no bus s…
mesh/repo-check head bfc64ac65ea1 merged into trunk 26de6bc62558 — pass: its merge-check.sh passed
2026-10-21 13:15:28 +02:00
jschoubben
27e4c3891f
Run at most a node's build capacity of build steps on it at once, and hold a step back for a place with no timer (issue 1607, round 3)
2026-10-21 12:41:42 +02:00
jschoubben
f555a05cfb
Build a key only with the toolchain its fingerprint names, accept '.' as a root module's path, and choose only online nodes (issues 1615, 1607 review)
2026-10-21 11:36:32 +02:00
jschoubben
0b0cfb6e37
Test the builder whole over the real bus with fake build modules, and look again at a value that arrives while its key is built (issue 1607, AC6, AC7)
2026-10-21 11:25:13 +02:00
jschoubben
46c9f33d64
Build each new-form fingerprint through the build modules on two nodes and write its key done or failed (issue 1607, AC7, AC8)
2026-10-21 11:23:39 +02:00
jschoubben
71bb5a5fb3
Watch the build modules' toolchains and steps and keep the toolchains by node, with no timer (issue 1607, AC6)
2026-10-21 11:21:46 +02:00
jschoubben
c3804b012f
Add the builder part: its manifest, its credential and its bus connection (issue 1607, AC1)
2026-10-21 11:18:30 +02:00