jschoubben
d9ace64681
Mark mesh/check pending on every open pull request into a moved trunk, and carry the gate's heads hash in each verdict (issue 1302's checker part, lead decision L4; issue 1300)
...
The gate decides on mesh/check alone and matches an Approve's members by the heads hash over lowercase repositories
and heads. A success judged on an old trunk stood on the forge while the next check waited for a place or a delivery,
and a candidate whose repository the forge named in capitals carried a hash the gate never finds. A check that ends
after its trunk moved now owes pending, not its verdict.
2026-10-22 17:58:49 +02:00
jschoubben
f7d8622deb
Keep a core repository's passing package under a digest that covers its siblings' commits, so core checks keep verdicts (issue 1287, C3a/C3b, lead decision L5)
...
The checker took and kept nothing for a workspace given siblings, and every core repository has siblings, so the
kept store stayed empty. The digest step now folds the siblings' commits in and echoes them; a verdict is kept or
taken only when the echo equals the siblings the fetch was given, so a digest that misses one never poisons another
check (ADR 0444, issue 482).
2026-10-22 17:56:59 +02:00
jschoubben
d83156fb21
Add checker_previews and checker_status read tools so the live acceptance of issues 1680 and 1685 can be read (C1, C2)
2026-10-22 17:25:11 +02:00
jschoubben
16ca51dc1f
Bound builder_builds by key prefix, limit and read budget, list unreadable keys, refuse fp2 with commit, add candidate reads (issue 1827 V1-V3, 1818, 1681)
2026-10-22 17:23:46 +02:00
jschoubben
4a0c771059
Match the forge's 404 by its status, not by digits a path's sha may hold (issue 1845)
mesh/repo-check head 4a0c77105943 merged into trunk 2b635e2138ae — pass: its merge-check.sh passed
mesh/merge-gate head 4a0c77105943 merged into trunk 2b635e2138ae — pass: builds mesh-delivery-checker → novox; no bus step; every machine composes with the…
mesh/check pass 4a0c77105943 on 2b635e2138ae | unit 371 run 0 kept | int 410 run 0 kept | clone 13s unit 206ms int 14s+45s | composition not yet run
2026-10-22 15:09:25 +02:00
jschoubben
14c78e485f
Read a Go module's go.mod at the trunk when the head does not hold it, so a branch cut before the module was added passes the pin check (issue 1845)
2026-10-22 15:00:58 +02:00
mesh-tools
2b635e2138
Merge pull request 'Send image artifacts to mesh-build-image, one node, publishing only from the trunk (issue 1705)' ( #20 ) from feat/r4c9-image-build into main
2026-10-22 08:57:21 +00:00
jschoubben
db62e82e26
Write a failed publish of a merged image to the key; read mesh-build-image's captured steps (review r2)
mesh/repo-check head db62e82e26d7 merged into trunk 47ab8cd3cf45 beside mesh-catalog#435@7c5d11e5 — pass: its merge-check.sh passed
mesh/merge-gate head db62e82e26d7 merged into trunk 47ab8cd3cf45 — pass: group feat/r4c9-image-build composed: every machine composes with the change as it…
mesh/delivery-group group feat/r4c9-image-build delivered: every member is delivered
mesh/check pass db62e82e26d7 on 2b635e2138ae | unit 366 run 0 kept | int 405 run 0 kept | clone 9.2s unit 191ms int 6.7s+44s | composition not yet run
2026-10-22 10:37:21 +02:00
mesh-tools
47ab8cd3cf
Merge pull request 'The checker moves a step that no build node answers to another node (issue 1820)' ( #19 ) from fix/1820-checker-heard-nodes into main
2026-10-22 08:36:34 +00: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
bbb42d704c
The checker moves a step that no build node answers to another node and fails naming every node tried (issue 1820)
mesh/merge-gate head bbb42d704ce0 merged into trunk 5b09d1ccb52d — pass: builds mesh-delivery-checker → novox; no bus step; every machine composes with the…
mesh/repo-check head bbb42d704ce0 merged into trunk 5b09d1ccb52d — pass: its merge-check.sh passed
mesh/check pass bbb42d704ce0 on 5b09d1ccb52d | unit 354 run 0 kept | int 392 run 0 kept | clone 8.7s unit 199ms int 7.1s+44s | composition not yet run
2026-10-22 10:04:29 +02:00
jschoubben
f2379dfeea
Add builder_build and builder_builds read tools to the view, so the builder's keys can be checked live (issue 1723)
mesh/merge-gate head f2379dfeea2d merged into trunk 113f7aa93385 — pass: builds mesh-delivery-view → shanks; no bus step; every machine composes with the c…
mesh/repo-check head f2379dfeea2d merged into trunk 113f7aa93385 — pass: its merge-check.sh passed
mesh/check failed: g14: fetch of novox/mesh-delivery#18: build_go_fetch on g14: nats: no responders available for request | f2379dfeea2d on 113f7aa933…
2026-10-22 09:54:46 +02:00
jschoubben
b519c8dde2
Keep nothing for a workspace given siblings, place the siblings where the tests state them, decide the hold from the listed plan keys (review D1-D3)
mesh/repo-check head b519c8dde2da merged into trunk a5aa69a4e815 beside mesh-catalog#423@12ff1cfb +1 more — pass: its merge-check.sh passed
mesh/merge-gate head b519c8dde2da merged into trunk a5aa69a4e815 — pass: group feat/the-checker composed: every machine composes with the change as it did …
mesh/delivery-group group feat/the-checker delivered: every member is delivered
2026-10-21 21:52:41 +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
a20af30d54
A group's Go member naming a mesh-sdk commit that is neither on the trunk nor the group's head fails the check naming the member and the commit; a pin only a head carries names issue 1148 (issue 1624)
2026-10-21 21:34:35 +02:00
jschoubben
4cdba63b9b
Read tools for the checker's verdicts, a pull request's report and the kept verdicts (issue 1686)
2026-10-21 21:32:08 +02:00
jschoubben
ee994f57b9
Do not pin the integration test to one form of the line
2026-10-21 21:30:29 +02:00
jschoubben
fecabfca8b
Fit the status line in the forge's 140 characters by giving the times and counts in their compact form before dropping them (issue 1682)
2026-10-21 21:30:24 +02:00
jschoubben
4b063252e7
The checker's line says whether each candidate module's build is built, failed or waiting, read from the builder's keys (issue 1684)
2026-10-21 21:29:13 +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
7433b0d047
Start no check while a delivery builds: the checker reads the controller's bucket of the plans in their build phase, absent as empty (issue 1685)
2026-10-21 21:26:46 +02:00
jschoubben
a2a5167d72
Write a preview of the conflicts for a head that does not merge, and give the candidate's modules the reason; pin mesh-sdk to the R4c-5a head (issue 1445)
2026-10-21 21:25:45 +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
64599db3fa
Capture the fetch-with-base fixtures from mesh-catalog's code, and prove the checker whole against a real bus with fake build modules (issues 1679, 1287, 1288, 1289, 1678)
2026-10-21 21:23:22 +02:00
jschoubben
96ba6bd3dc
Say the verdict in a line of at most 140 characters and owe the status mesh/check in the checker's bucket, which the forge bridge performs once per revision; the checker's stream checks wakes the readers of its buckets (issues 1682, 1683)
2026-10-21 21:20:42 +02:00
jschoubben
4242fb5b0b
The indexer gives a candidate's touched module the fingerprint its merge preview gives it, and wakes on the checker's preview.written without a restart; pin mesh-sdk to the R4c-5a head (issues 1445, 1681)
2026-10-21 21:17:09 +02:00
jschoubben
e175343837
Write the merge preview of each head the checker fetched, for the indexer's fingerprints (issue 1680)
2026-10-21 21:12:48 +02:00
jschoubben
cfbd5b6d2d
Judge a head merged onto its trunk through the build modules: run only packages without a kept verdict, the change's own tests first, stop at the first failure (issues 1679, 1288, 1289)
2026-10-21 21:11:43 +02:00
jschoubben
27072a01b5
Add the checker module: it watches the candidates, claims a verdict once, owes the status mesh/check and ends a check past its bound (issue 1678)
2026-10-21 21:07:14 +02:00
jschoubben
a00df90c47
Keep a passing package's verdict once under its digest, so a second check can take it (issue 1287)
2026-10-21 21:02:54 +02:00
mesh-tools
a5aa69a4e8
Merge pull request 'The builder takes build-agent's newest trunk build as its builder input (issue 1727)' ( #16 ) from fix/1727-builder-input into main
2026-10-21 15:44:42 +00:00
jschoubben
61fea8314f
Compute from a build of build-agent only once a toolchain is read, so a restart drops no fingerprint; fixtures as live (issue 1727)
mesh/merge-gate head 61fea8314fe8 merged into trunk 318064ce206d — pass: builds mesh-delivery-indexer → novox; no bus step; every machine composes with the…
mesh/repo-check head 61fea8314fe8 merged into trunk 318064ce206d — pass: its merge-check.sh passed
2026-10-21 16:45:51 +02:00
jschoubben
037bf1ef36
Ask again at start a merge ask whose refusal the teller did not hear, since the router keeps no record of a refused ask (issue 1610, review round 1)
mesh/merge-gate head 037bf1ef361b merged into trunk b04ee764739a — pass: builds mesh-delivery-teller → novox; no bus step; every machine composes with the …
mesh/repo-check head 037bf1ef361b merged into trunk b04ee764739a — pass: its merge-check.sh passed
2026-10-21 16:45:31 +02:00
jschoubben
38116fe00a
Ask again a merge ask the router refused for want of room, once one of the teller's asks ends, so the operator is asked (issue 1610)
...
The router holds at most three open asks of one asker and refuses a fourth without keeping it; the teller only logged the refusal, so a merge ask in a burst never reached the operator while the gate read it as asked (issues 1610, 1620). Bounded at six refusals, then said as a condition.
2026-10-21 15:54:08 +02:00
jschoubben
5f9ed2b886
Take the builder's Builder input from build-agent's newest trunk build record, not its absent fingerprint, so modules get a new-form fingerprint (issue 1727)
2026-10-21 15:49:33 +02:00
mesh-tools
b04ee76473
Merge pull request 'Make the builder's build capacity a setting per node, hold a failed second-node build until the nodes change, and close keys left building for a vanished fingerprint (issues 1661, 1664, 1660)' ( #14 ) from fix/1661-builder-follow-ups into main
2026-10-21 12:26:03 +00:00
mesh-tools
2000c841bf
Merge pull request 'Read the indexer's modules keys as stored from the view's tools, so the new-form fingerprint, path and toolchains can be checked live (issue 1562)' ( #13 ) from fix/1562-indexer-reads into main
2026-10-21 12:04:07 +00: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
1239199b35
Name the view's tools binary as what its bundle loads, as the controller's module check requires of a bundle compiled to a binary (issue 1562)
mesh/merge-gate head 1239199b35dd merged into trunk d68d7ef3d9af — pass: builds mesh-delivery-view → shanks; no bus step; every machine composes with the c…
mesh/repo-check head 1239199b35dd merged into trunk d68d7ef3d9af — pass: its merge-check.sh passed
2026-10-21 13:43:26 +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
6c2b79acf1
Serve the indexer's read tools from the view, not the indexer (ADR 0437 4): indexer_module and indexer_modules read mesh-delivery-indexer.modules through the view's reads. Side effect: carrying the view's tools gives the tool runner read access to every bucket the view reads. (issue 1562)
mesh/merge-gate head 6c2b79acf106 merged into trunk d68d7ef3d9af — fail: builds mesh-delivery-view → shanks; no bus step; a manifest the change touches fai…
mesh/repo-check head 6c2b79acf106 merged into trunk d68d7ef3d9af — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
2026-10-21 13:24:10 +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
e6ce4be4b4
Read the indexer's modules keys with two read-only tools, so the new-form fingerprint and the reason for none can be checked live (issue 1562)
2026-10-21 13:06:05 +02:00
jschoubben
ebac167cd6
Move the indexer and builder to mesh-sdk main with the toolchains and root path (issue 1615)
2026-10-21 12:45:10 +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
3bd2a065f9
The indexer writes '.' for a root module's path and the toolchains each fingerprint was computed with (issue 1615)
2026-10-21 11:33:49 +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