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
mesh-tools
d68d7ef3d9
Merge pull request 'Add the builder that builds each fingerprint's bundles and archives on two build nodes beside build-agent, and have the indexer write a module's path and toolchains (R4c-4: issues 1606, 1607, 1615)' ( #12 ) from feat/r4c4-builder into main
2026-10-21 11:31:05 +00: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
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
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
3298ad58d3
Run a build module's long step: call it on its node, read the result at its steps key, bound the wait (issue 1607, AC5)
2026-10-21 11:21:14 +02:00
jschoubben
74d11f95a2
Choose build nodes by the agreed toolchain and fewest running steps, and agree the two nodes' digests (issue 1607, AC4)
2026-10-21 11:20:31 +02:00
jschoubben
1e6d00b4c7
Claim a build key by create and compare-and-set, never twice, retry a failed key except a refused kind (issue 1607, AC3)
2026-10-21 11:20:09 +02:00
jschoubben
87e550681f
Plan a manifest's artifacts for the build modules and refuse image, upstream and package by kind (issue 1607, AC2)
2026-10-21 11:19:38 +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
jschoubben
07a28b03c4
The indexer writes each module's directory into modules.<m> and keeps it (issue 1606, ADR 0478 clause 8)
2026-10-21 11:16:16 +02:00
mesh-tools
26de6bc625
Merge pull request 'The indexer reads the build modules' toolchains, and an artifact with no lock carried has no lock entry (design 47 R4c-3)' ( #11 ) from feat/r4c3-build-modules into main
2026-10-20 21:43:20 +00:00
mesh-tools
a5da6079de
Write each module once per merge and watch a build module's toolchains bucket on its toolchain.reported event, with no timer (issue 1444, review round 1)
mesh/repo-check head a5da6079de01 merged into trunk 340bf643883d beside mesh-catalog#389@bcee61ed — pass: its merge-check.sh passed
mesh/merge-gate head a5da6079de01 merged into trunk 340bf643883d — pass: group feat/r4c3-build-modules composed: every machine composes with the change as …
mesh/delivery-group group feat/r4c3-build-modules failed: a member failed
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792582266656254343 (novox/mesh-delivery at d68d7ef3 into main…
2026-10-20 21:02:44 +00:00
mesh-tools
127ac64cce
Leave an artifact without its lock file out of Locks (issue 1459) and read the build modules' toolchains (issue 1444), part 2 of 2
2026-10-20 20:48:30 +00:00
mesh-tools
74fef7dd5a
Recompute the new-form fingerprints when a build module reports its toolchain (issue 1444), part 1 of 2
2026-10-20 20:47:35 +00:00
mesh-tools
340bf64388
Merge pull request 'The bridge carries each module's manifest and lock hashes, and the indexer writes manifests by digest and each module's new-form inputs (design 47 R4c-2, issues 1448, 1449, 1450, 1444, 1451, 1458)' ( #10 ) from feat/r4c2-new-keys into main
2026-10-20 19:31:05 +00:00
mesh-tools
c9f742d5f2
Read a merge's manifests and lock files at most eight at once, so a catalogue merge stays inside the bridge's bound (issues 1448, 1458, design 47 R4c-2)
mesh/repo-check head c9f742d5f20e merged into trunk 2520cc4a88f7 — pass: its merge-check.sh passed
mesh/merge-gate head c9f742d5f20e merged into trunk 2520cc4a88f7 — pass: group feat/r4c2-new-keys composed: every machine composes with the change as it di…
mesh/delivery-group group feat/r4c2-new-keys delivered: every member is delivered
2026-10-20 19:06:03 +00:00
mesh-tools
f69a561a16
Test how a manifest and lock hashes become a module's new-form inputs (issue 1450, design 47 R4c-2)
2026-10-20 18:55:54 +00:00
mesh-tools
27bfd83fa0
Test the kept manifests, the new-form reasons and the candidate's manifests against real files (issues 1449, 1444, 1451, design 47 R4c-2)
2026-10-20 18:55:29 +00:00
mesh-tools
a75d9cc851
Keep manifests and say why no new-form fingerprint exists, so the group check can start from facts (issues 1449, 1450, 1444, 1451, design 47 R4c-2)
2026-10-20 18:54:28 +00:00
mesh-tools
ba7ce55887
Give the indexer a manifests bucket and the SDK that knows the new keys (issue 1449, design 47 R4c-2)
2026-10-20 18:53:40 +00:00
mesh-tools
3c1e7ad464
Test the bridge's manifest and lock file conversion (issue 1448, design 47 R4c-2)
2026-10-20 18:53:07 +00:00
mesh-tools
41225bf459
Test the forge bridge's file reads against the stand-in forge and the bus (issue 1448, design 47 R4c-2)
2026-10-20 18:52:27 +00:00
mesh-tools
543d91d626
Read each module's manifest and lock files in the forge bridge, so the indexer gets them (issue 1448, design 47 R4c-2)
2026-10-20 18:51:27 +00:00
mesh-tools
d650a41ba6
Copy the real manifests the indexer's new-form tests read (issues 1450, 1444)
...
Fixtures are copied from the writer, never written by hand: four catalogue manifests at mesh-catalog a67f0196 and build-agent's at mesh-controller f2d7bc94.
2026-10-20 18:48:08 +00:00
mesh-tools
2520cc4a88
Merge pull request 'The parts serve the gate: the bridge performs owed acts and merges, the teller carries asks, the indexer reads source.main, the view shows asks (design 47 R3e, issues 1341-1345)' ( #9 ) from feat/r3e-the-gate into main
2026-10-20 06:49:19 +00:00
mesh-tools
c93954e53c
Pin mesh-sdk to main's merge of #47 (88581d0a), the same tree as ba684e54 the review read
mesh/repo-check head c93954e53c8e merged into trunk 9c15112d935a beside mesh-catalog#380@cf5c0273 +1 more — pass: its merge-check.sh passed
mesh/merge-gate head c93954e53c8e merged into trunk 9c15112d935a — pass: group feat/r3e-the-gate composed: every machine composes with the change as it did…
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792478961597980735 (novox/mesh-delivery at 2520cc4a into main…
mesh/delivery-group group feat/r3e-the-gate delivered: every member is delivered
2026-10-20 06:33:01 +00:00
mesh-tools
bf59b5a27b
An answer to an earlier asking no longer blocks the next asking: the teller and the view tell the asking by the answer's warrant id (review round 2, R2-1)
2026-10-20 01:35:26 +00:00
mesh-tools
14e9d56a22
Ask under each asking's own router id, spell the heads in lower case as the gate does, show a removed have plainly; pin mesh-sdk ba684e5 (review round 1: G2, T1, issue 1370)
2026-10-20 01:30:54 +00:00
mesh-tools
34f585106f
Show the open asks in the delivery view: the gate's asks with no answer, in the table, the page and the command's JSON (issue 1345)
2026-10-20 00:34:28 +00:00
mesh-tools
05c180cf87
Add the indexer's source revision logic and its tests that the last commit named (issue 1344)
2026-10-20 00:31:19 +00:00
mesh-tools
409c41d4ae
Stamp the modules with the gate's source revision, read from source.main (issue 1344)
2026-10-20 00:30:52 +00:00
mesh-tools
5ba1da5b82
Carry the gate's merge asks to the router and write the operator's answer back, a warrant that does not hold said as a condition (issue 1343)
2026-10-20 00:28:36 +00:00
mesh-tools
8ee56dbb5c
Grant the bridge's test principal only a read of the gate's buckets, as the controller composes it (issues 1341, 1342)
2026-10-20 00:24:40 +00:00
mesh-tools
be5c1b371e
Merge the pull request a gate's merges key hands the bridge, with the Approve's heads, one pass stopping at a refusal (issue 1342)
2026-10-20 00:17:44 +00:00
mesh-tools
eeb5561a23
Perform the gate's owed acts once per revision from the bridge, a refusal written on FORGE (issue 1341)
2026-10-20 00:16:43 +00:00
mesh-tools
a0883a174b
Test the bridge's two state buckets, heads and performed (issue 1341)
2026-10-20 00:15:54 +00:00
mesh-tools
7686cfc55d
Turn an owed key into the forge call that performs it, and a refusal into a refused message (issue 1341)
2026-10-20 00:15:29 +00:00
mesh-tools
507fac41fe
Declare the bridge's performed bucket (issue 1341)
2026-10-20 00:14:42 +00:00
mesh-tools
9c15112d93
Merge pull request 'Take the SDK that counts a build outcome as the controller writes it, so modules get their fingerprints (issue 1281)' ( #8 ) from fix/1281-outcome-is-a-build into main
2026-10-19 23:02:00 +00:00
mesh-tools
3c655c5ab4
Write a failed build as the controller does, an outcome with failed set (issue 1281)
mesh/repo-check head 3c655c5ab449 merged into trunk 6a23627426c6 — pass: its merge-check.sh passed
mesh/merge-gate head 3c655c5ab449 merged into trunk 6a23627426c6 — pass: group fix/1281-outcome-is-a-build composed: every machine composes with the change…
mesh/delivery-group group fix/1281-outcome-is-a-build delivered: every member is delivered
2026-10-19 22:47:41 +00:00
mesh-tools
8ffcf02a9c
Take the SDK that counts a stateless build record as an outcome; fixtures in the controller's layout (issue 1281)
2026-10-19 22:44:21 +00:00
mesh-tools
6a23627426
Merge pull request 'Recognise a trunk build by repository identity and an empty ref in the indexer and the view (issue 1281)' ( #6 ) from fix/1281-trunk-builds-by-repository into main
2026-10-19 20:58:07 +00:00
jschoubben
4b8e71370c
Recognise a trunk build by repository identity and an empty ref in the indexer and the view (issue 1281)
...
mesh/repo-check head 4b8e71370cc2 merged into trunk fa4be27c1e40 — pass: its merge-check.sh passed
mesh/merge-gate head 4b8e71370cc2 merged into trunk fa4be27c1e40 — pass: group fix/1281-trunk-builds-by-repository composed: every machine composes with th…
mesh/delivery-group group fix/1281-trunk-builds-by-repository delivered: every member is delivered
Build records name their repository by clone URL and a plan-asked build has no ref, so no module fingerprint was ever written or compared; both now use the SDK's tests.
2026-10-19 22:39:51 +02:00
mesh-tools
fa4be27c1e
Merge pull request 'Say which pull requests are open and drop every other candidate (issue 1279, ADR 0443)' ( #7 ) from fix/1279-consumers-from-now into main
2026-10-19 20:22:44 +00:00