jschoubben
f89d870308
Keep builds in the builds bucket and move the build rows there at start (issue 1090)
...
Once chain_moved records the kind, RecordBuild and every build read go through the chain (reuse key and published added); before that the tables are read as before. The serving controller copies the rows at its start, holding the lease: idempotent per key, rows counted against keys, the largest value measured, a refusal (urgent condition, nothing switched) on a count that differs or a value over the bus's largest, and a re-read when the table took a row meanwhile. ForTest attaches the chain in memory with builds moved; ForTestBefore leaves it unmoved. Build requests, gates and the other kinds are still in their tables.
2026-10-18 02:49:51 +02:00
jschoubben
b6f8aef4d4
Keep a no-holder machine as ADR 0404 says; prove the cut takes the backups before its first tier (issue 1086, review round 1)
mesh/merge-gate head b6f8aef4d4f1 merged into trunk 47f9290b37aa — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
mesh/repo-check head b6f8aef4d4f1 merged into trunk 47f9290b37aa — pass: its merge-check.sh passed
2026-10-18 01:57:00 +02:00
jschoubben
7103e33294
A plan's cut takes the backups before asking its first tier, and a machine it cannot ask holds it (issue 1086)
...
The cut asked tier 0 itself, so the step before a first tier never ran and gitea was sent to novox with no restore point. A machine with no backup holder is now a failed backup that holds the plan.
2026-10-18 01:54:10 +02:00
jschoubben
08e000bb56
Read the backup holders of every machine, and the notes fixture's data at a resource (issues 1065, 1066)
mesh/merge-gate waits for its group's composed check
mesh/repo-check head 08e000bb56aa merged into trunk 7c9c187ca6e2 beside mesh-catalog#353@c898a937 — fail: its merge-check.sh failed: --- FAIL: TestADeliver…
mesh/delivery-group group feat/backup-before-send rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 23:04:52 +02:00
jschoubben
a39d6ce78d
Fail a backup whose holder cannot be asked at the bound, not retry forever (issue 1066)
mesh/merge-gate head a39d6ce78d19 merged into trunk 7c9c187ca6e2 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head a39d6ce78d19 merged into trunk 7c9c187ca6e2 — fail: its merge-check.sh failed: --- FAIL: TestADeliveryThatMovesABackedUpModuleWaitsFor…
mesh/delivery-group group feat/backup-before-send rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 22:53:59 +02:00
jschoubben
c531c78eb5
Hold a plan whose backup failed or stayed silent, say it, and ask again by a verb (issue 1066)
2026-10-17 22:48:28 +02:00
jschoubben
9a20547dbd
Ask the backup seats before the first tier (issue 1065)
2026-10-17 22:45:09 +02:00
jschoubben
64415f8984
Merge branch 'feat/one-group-one-plan' into g/977
2026-10-17 21:37:37 +02:00
jschoubben
07b050790e
Review of issue 977: keep the plan's own order for its gates, hold a group only for a composed mesh-delivery, keep mark-ready one release, compare with the batch's start, fail a lone cycle (issue 977)
2026-10-17 21:37:37 +02:00
jschoubben
66dc501fc4
Split the unit level from the integration level in cmd, builder, link, catalogue, inventory; cheap fixtures for the archive-entry bound, the registry waits and the catalogue copy (issue 895)
2026-10-17 21:32:23 +02:00
jschoubben
aac4bae5a4
A group member's own check runs its repository's check alone, a cycle fails the composed check, and mark-ready leaves the delivery seat (issue 977, part D, ADR 0403)
2026-10-17 21:22:55 +02:00
jschoubben
8b3a9163d0
Hold a group's batch open for its last member and keep both kinds of member in one batch and one plan (issue 977, part C, ADR 0418)
2026-10-17 21:06:33 +02:00
jschoubben
e43d52c1ea
Draw a plan's order per module from the graph and the manifests' change, and read no after: line (issue 977, part B, ADR 0419)
2026-10-17 20:57:30 +02:00
jschoubben
b752b1f1df
Remove the release-branch judge from the controller, the wire and the build seat (issue 977, part A, ADR 0401)
2026-10-17 20:43:06 +02:00
jschoubben
d977f64ec9
Read an empty source ref as the trunk and say a merge into another branch starts no delivery (issue 977, part A, issue 889)
2026-10-17 20:37:58 +02:00
mesh-tools
d5d5449835
Merge pull request 'build-agent and route-proxy live whole in mesh-controller (issue 1019, ADR 0420)' ( #370 ) from feat/whole-modules into main
2026-10-17 17:31:58 +00:00
mesh-tools
34197afa01
Judge machines with the node-engine that knows unknown and knows (issue 1024, ADR 0422)
...
mesh/merge-gate head 34197afa0181 merged into trunk c43772fd94eb — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 34197afa0181 merged into trunk c43772fd94eb — pass: its merge-check.sh passed
The gate composes every machine with the node-engine's own validator, vendored at mesh-host of 2026-10-15, which refuses the `unknown` and `knows` keys mesh-host #117 added; every catalogue manifest using them was refused on every machine (mesh-catalog #349 ). The pin moves to #117 's merge, 6469e8238443, delivered; only the declaration validator changes in vendor/. A test holds the gate to taking such a directory.
2026-10-17 16:43:49 +00:00
jschoubben
0125ccd7d2
A member's own merge gate sees a move through the core clones beside it (issue 1043)
mesh/merge-gate out of date: judged beside mesh-catalog#350 at c47d94925811, it is now at 795806efa7ad; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged beside mesh-catalog#350 at c47d94925811, it is now at 795806efa7ad; judged again on a recheck or when it is merged
mesh/delivery-group group feat/whole-modules checking: composed check out of date: novox/mesh-controller@0125ccd7d200 was judged against trunk c43772fd94eb, th…
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 18:40:34 +02:00
jschoubben
48f5a7d3a9
module check refuses an artifact context naming another repository (issue 1019)
mesh/delivery-group group feat/whole-modules rejected: its order contradicts itself: novox/mesh-catalog@c47d94925811 and novox/mesh-controller@48f5a7d3a99a: bu…
mesh/merge-gate head 48f5a7d3a99a merged into trunk c43772fd94eb beside mesh-catalog#350@c47d9492 — fail: builds mesh-controller, route-proxy, new: modules…
mesh/repo-check head 48f5a7d3a99a merged into trunk c43772fd94eb beside mesh-catalog#350@c47d9492 — fail: its merge-check.sh failed: --- FAIL: TestTheBuild…
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 18:18:22 +02:00
jschoubben
4864a43413
The merge gate refuses an artifact context naming another repository (issue 1019)
2026-10-17 18:17:10 +02:00
jschoubben
7ee2b42230
issue 1025: the nested-module check is a file of its own, and the gate test keeps the app module in its repository
mesh/merge-gate head 7ee2b42230dc merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head 7ee2b42230dc merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
mesh/delivery-group group feat/move-a-module delivered: every member is delivered
2026-10-17 17:27:46 +02:00
jschoubben
e42becb479
issue 1025: the bus test makes the controller's consumers before it publishes mesh-delivery's word
mesh/merge-gate head e42becb479a4 merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head e42becb479a4 merged into trunk b8c810a3499c beside mesh-catalog#348@40eed3a0 — fail: THE CHANGE ALTERS ITS OWN CHECK (merge-check.sh):…
mesh/delivery-group group feat/move-a-module rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 17:18:56 +02:00
jschoubben
43b59c5dff
issue 1025: the merge check vets and tests every nested Go module (ADR 0420 §5)
2026-10-17 15:58:46 +02:00
jschoubben
81715273d3
issue 1025: the operator's Approve of a reviewed group registers a moved module from its new repository (ADR 0420 §7)
2026-10-17 15:56:49 +02:00
jschoubben
085b661936
issue 1025: the merge gate judges a group's move of a module as a move (ADR 0420 §6)
2026-10-17 15:43:28 +02:00
jschoubben
21414307c8
issue 1025: a context naming the module's own repository is its own build source (ADR 0420 §4)
2026-10-17 15:41:35 +02:00
jschoubben
0f21fe7888
issue 974: review 2: a check stopped by its key says no verdict, an error judges nothing, and an unacknowledged check goes to a second builder
mesh/merge-gate head 0f21fe7888be merged into trunk 7d80155d1636 beside mesh-catalog#345@94f65ccc — pass: builds build-agent, mesh-controller, route-proxy …
mesh/repo-check head 0f21fe7888be merged into trunk 7d80155d1636 beside mesh-catalog#345@94f65ccc — pass: its merge-check.sh passed
mesh/delivery-group group feat/events-and-queues delivered: every member is delivered
2026-10-17 14:12:50 +02:00
jschoubben
a83b921af0
issue 974: acceptance 5: two merges within a minute leave each open pull request one queued check
2026-10-17 14:03:26 +02:00
jschoubben
3d09d5235f
issue 974: the checks are queued by pull request on two work-queue streams, taken after a delivery build, dropped when judged, stopped when their key moves; the reordering and the forge-asking end are gone
2026-10-17 14:01:33 +02:00
jschoubben
f883830975
issue 974: two work-queue streams for the checks of pull requests (CHECKS_READY, CHECKS_OTHER), their workers, grants and writer
2026-10-17 13:53:22 +02:00
jschoubben
96325c295c
issue 974: the serving controller follows its own plan-moved, so a plan moved from the terminal is looked at
2026-10-17 13:47:47 +02:00
jschoubben
9ca2c2bfb3
issue 974: review 1: a verb's end, a provisioner client's word and a failed key read each ask or retry a look; the silent bucket ages; the acceptance test starts the rollout through the serving wiring
2026-10-17 13:45:41 +02:00
jschoubben
20c8d9454a
issue 974: the step's acceptance test: a rollout advances on events with no ticker, a silent machine is named when its key expires, a replaced controller resumes
2026-10-17 13:33:49 +02:00
jschoubben
3d192a4857
issue 974: every plan is written through the one hook that says plan-moved, proven by reading the sources and by the moves a merge and a cut make
2026-10-17 13:30:27 +02:00
jschoubben
8af77c2c75
issue 974: a rollout advances on events (a look asked by each plan saved, report and expired silent key), the 30 s ticker goes, and each tier send is said as sent
2026-10-17 13:28:34 +02:00
jschoubben
fd522f4322
issue 974: a rollout's wait for a machine is a key on the bus that its report deletes and its expiry names silent
2026-10-17 13:18:27 +02:00
jschoubben
fbf5a3f909
The held-merges integration test waits for the batch's window to close, as a joined batch's window opens again (issue 921)
2026-10-17 12:42:30 +02:00
jschoubben
a79182e53b
Give the forge's merges a durable consumer of their own: no max-deliver, no reset, a growing delay while held (issue 973)
2026-10-17 12:28:27 +02:00
jschoubben
e3f22c737f
Round a merge window key's time to live up to a whole second, as the server rounds down (issue 973)
2026-10-17 12:20:24 +02:00
jschoubben
2b99d455fc
Integration test of the merge path on a test bus: a held merge is recorded and carried, a window closes by its key's expiry (issues 921, 973)
2026-10-17 12:14:43 +02:00
jschoubben
9e99f31c23
Remove the five-minute merge catch-up, its signal S5 and its watchdog: the event and its durable consumer keep every merge (issue 973)
2026-10-17 12:12:19 +02:00
jschoubben
df39a499ef
Close a batch's merge window by the expiry of a key on the bus, heard by a watcher, and drop the five-second cutter (issue 973)
2026-10-17 12:10:30 +02:00
jschoubben
379a52c2e8
Hold a merge the controller cannot record now, and hand it over again, instead of taking it (issue 921)
2026-10-17 12:03:00 +02:00
jschoubben
300d3c1bf4
Cut a closed batch beside the open walks it shares nothing with, queue a related one with the reason, fold only related waiting walks (issue 973)
mesh/merge-gate head 300d3c1bf466 merged into trunk 6a62a7e552ea — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 300d3c1bf466 merged into trunk 6a62a7e552ea — fail: its merge-check.sh failed: --- FAIL: TestSSHClientOwnsTheOperatorsSSHConfig (0.01s)
mesh/delivery superseded: a newer head of the same pull request
2026-10-17 00:49:53 +02:00
jschoubben
baf1501d81
A walk, a retry and a let-go wait only for a started walk they are related to (issue 973)
2026-10-17 00:46:27 +02:00
jschoubben
a5ba47e23c
Name the open walk a change is related to, own path related to all (issue 973)
2026-10-17 00:45:00 +02:00
fix-969
262b39ae09
Test the gate's handing end to end: snapshot, store, and the composition either side (issue 969)
2026-10-16 23:16:38 +02:00
fix-969
2f2a8bb57e
Compose each machine in the merge gate with its engine's contract, so moved modules are handed there as on the mesh (issue 969)
2026-10-16 23:12:16 +02:00
jschoubben
87410d79ed
Issue a verified sender again only over the membership that was read, so a newer push is not overwritten (issue 930)
mesh/merge-gate head 87410d79edd6 merged into trunk e231185572ba — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 87410d79edd6 merged into trunk e231185572ba — pass: its merge-check.sh passed
2026-10-16 17:46:18 +02:00
jschoubben
1c3c3edc7d
Prove on a real bus a lost verified sender is issued again once the judgement passes (issue 930)
2026-10-16 17:43:25 +02:00