jschoubben
23daa2c03c
Take a module's tree input from the paths its artifacts name, by mesh-sdk's NamedTree, and keep their objects and each artifact's paths, so a module outside them moves for no change there (issue 1758, I7 and the indexer's I8, ADR 0499 §2 §3)
...
A merged message or a preview without the objects gives the module none, naming the paths. Every other module keeps its
directory's tree. Module.ArtifactPaths is filled for the checker (the lead's interface).
2026-10-22 18:14:30 +02:00
jschoubben
8ab8c5d04a
Carry each named path's git object in the merged and pull messages of a module whose every artifact names its paths, read at its manifest's commit (issue 1758, I6, ADR 0499 §3)
...
Asks gitea_commit_trees with paths (the interface agreed with the lead); a forge that cannot say is a retry. Pins
mesh-sdk feat/r4e-sdk 9cb4d59.
2026-10-22 18:13:25 +02:00
jschoubben
e81ef8bb63
Read a manifest whose config value falls back to a predefined key, so claude-code, dunst and xterm get a new-form fingerprint (issue 1751, ADR 0348 §7)
...
The indexer holds no published list of predefined keys; each key a value names is taken as the value declares it.
No fingerprint input comes from the list: the gate and the controller still judge the value.
2026-10-22 18:11:21 +02:00
jschoubben
af4eaefb14
Read the controller's build records only for the builder's own input and to fill a key's missing directory once, so a key written before paths gets one with no merge (issue 1851 I3, issue 1614)
...
Both reads go in R4g with build-agent. A path a key names is never overwritten, and no fingerprint changes.
2026-10-22 18:09:56 +02:00
jschoubben
9f7e082688
List a repository's modules from the merged message's manifests and the indexer's own bucket, not the controller's build records, so a new module gets a value and a key with no build asked (issue 1851, I1 I2 I4, ADR 0501 §6, ADR 0453 §6)
...
I1: a merge writes each module its manifests name, at its directory. I2: a pull request's changed directory, a
preview's touched module and a source revision's modules come from the modules bucket (a module a pull request adds is
found in the preview by its manifest). I4: the value of today's form (fp, none) is no longer written, since it was
computed from the build records; mesh-sdk keeps it readable until R4g. One commit: the three share applyMerged and its
tests. Pins mesh-sdk feat/r4e-sdk 9cb4d59.
2026-10-22 18:08:48 +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
7651e47cc6
Write a module with no artifact a done key with no artifact, so the controller has a done key to register it from (issue 1613, ADR 0478 §1, ADR 0501 §1)
...
Moves the mesh-sdk pin to feat/r4e-sdk 9cb4d59, which accepts such a key and names delivery.WaitsFor; the builder's
package wait now uses that shared prefix (B7).
2026-10-22 18:03:02 +02:00
jschoubben
957afa6926
Ask the fetch with mesh-sdk's FetchRequest, naming a module's directory and the paths its kept inputs hold, so a module naming its paths is built from those alone (issue 1758, ADR 0499 §4; the lead's fetch interface)
2026-10-22 18:02:08 +02:00
jschoubben
2e567b9b30
Let a key whose lock names an unpublished package version wait queued, naming it, and build it once the builder's own done key publishes it (issue 1587, B7, ADR 0500 §6)
...
The prefix 'waits for: ' is kept in the builder until mesh-sdk's delivery.WaitsFor lands on feat/r4e-sdk.
2026-10-22 18:01:33 +02:00
jschoubben
851811a318
Build a candidate's done package key again once the trunk names it, so the package is published from the trunk (issue 1587, B6, ADR 0498 §6)
2026-10-22 18:00:19 +02:00
jschoubben
2399a4f4cc
Build a TypeScript package with the Node build module, published only for a trunk fingerprint; a version taken fails the key until the fingerprint changes (issue 1587, B5, ADR 0498 §5, ADR 0500 §4)
2026-10-22 17:59:43 +02:00
jschoubben
081f32d6c9
Copy a pinned upstream image with mesh-build-image's copy step, with no fetch, so its key names the registry's reference (issue 1587, B4, ADR 0498 §4)
2026-10-22 17:59:19 +02:00
jschoubben
c26f909152
Send a pinned upstream image to mesh-build-image's copy and fail an unpinned one 'not pinned:' until its fingerprint changes; refusals use mesh-sdk's RefusedKind (issue 1587, B3, ADR 0498 §4)
2026-10-22 17:58:33 +02:00
jschoubben
9871ed2d09
Build a key done before R4e again once, so every bundle and archive the controller delivers names its stored reference (issue 1587, B2, ADR 0498 §8)
2026-10-22 17:57:35 +02:00
jschoubben
f26ff8f8bb
Write a key done only when every bundle and archive names where it is stored, a candidate's too, so a merge builds nothing its check built (issue 1587, B1, ADR 0498 §1-§3)
...
Pins mesh-sdk feat/r4e-sdk a90f523 (R4e's group member). A trunk key's builds are asked to publish; a build answering
no reference fails the key 'not stored:', and a step's own 'not stored:', 'not pinned:', 'version taken:' or
'refused kind:' opens the key's error.
2026-10-22 17:57:01 +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/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
mesh/merge-gate head 4a0c77105943 merged into trunk 2b635e2138ae — pass: builds mesh-delivery-checker → novox; no bus step; every machine composes with the…
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/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
mesh/delivery-group group feat/r4c9-image-build delivered: every member is delivered
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/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
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
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/check failed: g14: fetch of novox/mesh-delivery#18: build_go_fetch on g14: nats: no responders available for request | f2379dfeea2d on 113f7aa933…
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
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