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
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
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
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
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
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
jschoubben
ca667af562
Keep the head last written per pull request in a bucket of the bridge's own instead of scanning FORGE, and test the bridge under its composed permissions (issue 1279, ADR 0443)
mesh/repo-check head ca667af562b0 merged into trunk 1325c8b452c8 beside mesh-controller#400@a0c971ce — pass: its merge-check.sh passed
mesh/merge-gate head ca667af562b0 merged into trunk 1325c8b452c8 — pass: group fix/1279-consumers-from-now composed: every machine composes with the change…
mesh/delivery-group group fix/1279-consumers-from-now delivered: every member is delivered
2026-10-19 22:09:41 +02:00
jschoubben
677f94e901
Say which pull requests are open and drop every other candidate, so the candidates hold only open pull requests (issue 1279, ADR 0443)
mesh/delivery-group group fix/1279-consumers-from-now rejected: a member's own check failed
mesh/merge-gate waits for its group's composed check
mesh/repo-check head 677f94e9012b merged into trunk 1325c8b452c8 beside mesh-controller#400@a0c971ce — fail: its merge-check.sh failed: --- FAIL: TestBridg…
mesh/delivery superseded: a newer head of the same pull request
2026-10-19 21:56:42 +02:00
jschoubben
8e6a31bc6a
Fix the teller's integration test taking its result twice: it hung the merge check (issue 1240, review round 1)
mesh/delivery-group group feat/delivery-parts checking: 1 of 2 member(s) ready
mesh/repo-check head 8e6a31bc6ab4 merged into trunk 7f618177d677 beside mesh-catalog#374@75957fc3 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
mesh/merge-gate head 8e6a31bc6ab4 merged into trunk 7f618177d677 — pass: group feat/delivery-parts composed: every machine composes with the change as it d…
2026-10-19 17:39:44 +02:00
jschoubben
35ff628458
Commit no module's dependencies: fetch them in the check, the pinned SDK from beside it (issue 1235)
mesh/delivery-group group feat/delivery-parts rejected: a member's own check failed
mesh/merge-gate waits for its group's composed check
mesh/repo-check head 35ff62845811 merged into trunk 7f618177d677 beside mesh-catalog#374@75957fc3 — fail: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
2026-10-19 15:27:37 +02:00
jschoubben
9e9c2a7a57
Show the candidate groups and each module's fingerprint against its trunk build's in the delivery view (issue 1241)
2026-10-19 15:10:16 +02:00
jschoubben
a9c3980a2b
Add the teller module that waits for the gate's asks and writes nothing in release 3c (issue 1240)
2026-10-19 15:07:12 +02:00
jschoubben
c084a311a1
Write each module's source fingerprint at a trunk merge in the indexer (issues 1239, 1209)
2026-10-19 15:03:57 +02:00
jschoubben
4e87c4e485
Keep the candidate groups from the forge bridge's pull messages in a new indexer module (issue 1238)
2026-10-19 15:00:25 +02:00
jschoubben
1fdeef91ac
Say the forge's open pull requests on FORGE at start and at each reconnect (issue 1237)
2026-10-19 14:56:17 +02:00
jschoubben
455b902332
Say a trunk merge on FORGE with the merge commit's trees (issue 1236)
2026-10-19 14:53:09 +02:00
jschoubben
1f9606654c
Write the forge's pull requests as messages on FORGE in a new forge bridge module (issue 1235)
2026-10-19 14:50:13 +02:00
jschoubben
d309bb6cef
Put the view's socket in /var/lib/mesh-delivery-view-cli: the node-engine never places a module's directory below /run (issue 1134)
mesh/merge-gate head d309bb6cef45 merged into trunk 253f464a8155 — pass: builds mesh-delivery-view → shanks; no bus step; every machine composes with the c…
mesh/repo-check head d309bb6cef45 merged into trunk 253f464a8155 — pass: its merge-check.sh passed
2026-10-19 01:53:11 +02:00
jschoubben
954728b390
Show what the watchman says: offline presence, stuck keys and unreadable values, in the view and its command (issue 1168)
mesh/repo-check head 954728b39042 merged into trunk 8ae804fe6450 beside mesh-controller#388@ac79e293 — pass: its merge-check.sh passed
mesh/merge-gate head 954728b39042 merged into trunk 8ae804fe6450 — pass: group feat/delivery-watch composed: every machine composes with the change as it d…
mesh/delivery-group group feat/delivery-watch delivered: every member is delivered
2026-10-19 00:55:19 +02:00
jschoubben
f032b384c9
Pin the SDK at the commit that holds the stuck bucket's types (issue 1168)
2026-10-19 00:54:15 +02:00
jschoubben
f325f62334
Merge remote-tracking branch 'origin/main' into feat/delivery-watch
2026-10-19 00:50:51 +02:00
jschoubben
8a8cafd3db
Place the view's command as one file in /usr/local/bin, not the directory mesh-cli declares (issue 1134)
mesh/merge-gate head 8a8cafd3db98 merged into trunk 0177ea7a7914 — pass: builds new: modules/mesh-delivery-view, sent nowhere; no bus step; every machine c…
mesh/repo-check head 8a8cafd3db98 merged into trunk 0177ea7a7914 — pass: its merge-check.sh passed
2026-10-19 00:09:54 +02:00
jschoubben
e5fd3fcd7a
The watchman mirrors no builds in release 2; a check's pulse is renewed at every heartbeat of its key (issue 1135, review round 1)
2026-10-18 21:05:50 +02:00
jschoubben
431f3f023b
The watchman is not a moved module: it names no template (issue 1135)
2026-10-18 20:59:09 +02:00
jschoubben
1191a10be1
The watchman module: manifest, program on the bus, and its whole-process integration test (issue 1135)
2026-10-18 20:58:34 +02:00
jschoubben
bdb6fe7787
The watchman's logic: presence from the bus's events, pulses with a time to live, stuck keys on expiry (issue 1135)
2026-10-18 20:58:34 +02:00