jschoubben
f9014452d3
List register and switch in the help, and none of the removed commands (issue 1851 A11a, A11b)
...
The help still offered build, rebuild and replay --register, each now
refused as removed, and did not name the terminal's register.
2026-10-22 21:10:20 +02:00
jschoubben
61449249a8
Name build-agent's own as the builder's module, build-agent and mesh-tools (ADR 0520 §1, issue 1851)
...
ADR 0520 narrowed after its review: mesh-tools-go builds from its own
directory on a pinned base and has its key from mesh-build-image, and
mesh-tools-python is no module, so the set is named, not derived from
the toolchain bases.
2026-10-22 21:08:47 +02:00
jschoubben
61f7e89ad5
Ask a repository check whenever the trunk requires it, beside mesh/check (issue 1299 C1, ADR 0513 §4)
...
A trunk requiring both contexts (hq) matched mesh/check first and had
its own merge-check.sh never asked.
2026-10-22 21:07:55 +02:00
jschoubben
9713ceb84d
Ask build-agent for itself and its toolchain images, never a builder key (ADR 0520, issue 1851)
...
The builder writes no key of build-agent or of the toolchain bases its
builds stand on, so a walk moving one would hold its tier for ever.
Until R4g they are build-agent's own, as the builder's module is; the
bases are read from the toolchains, not copied.
2026-10-22 21:06:33 +02:00
jschoubben
93fc2f48a1
Name a retry's modules still waiting for the bus, read as the plan it resumes (issue 1851 A11a, issue 1403)
...
With the hand rebuild gone, a retry of a plan failed past the bus's bound
read the waiting modules while the plan still said failed, named none,
and answered "asked" with nothing after it.
2026-10-22 21:05:01 +02:00
jschoubben
d5d53893a4
Send the bus its user list before a starting controller writes (issue 1800)
...
A new controller's grants reached the bus only after its gate, so the
buckets it newly writes were refused until then. At start it now sends
the bus's machine the user list alone, every build there kept.
2026-10-22 20:51:08 +02:00
jschoubben
a0b2d98002
Merge main (upgrade safety's declared packages, issue 1840) and pin the R4e mesh-sdk member's final head 875c680d, re-vendored here and in modules/route-proxy; the controller announces declared-packages readable (issue 1790, D1; E)
2026-10-22 20:44:59 +02:00
jschoubben
bc80683b9e
Count the work the take-ins start in the background, so a test's mesh closes only once that work has ended (issue 1851, A5-A7; issue 1790, D3)
2026-10-22 20:41:30 +02:00
mesh-tools
96441ea28a
Merge pull request 'Keep each node's declared packages in a state the pacman module reads (upgrade safety, issue 1840, ADR 0507 §5)' ( #439 ) from feat/upgrade-safety into main
2026-10-22 18:34:19 +00:00
jschoubben
420ae3d0e7
Test the group check's answer without swapping standard output, and wait for a take-in to forget a new module's wait (issue 1299, C2; issue 1851, A5)
2026-10-22 20:19:57 +02:00
jschoubben
7c0e1d223f
Serve a removed verb as its refusal, not as a verb this build is behind on, and fit the tests of the verbs and the stopped checks (issue 1851, A11a; issue 1299, C1; issue 1318, C3)
2026-10-22 19:38:02 +02:00
jschoubben
a10ef8995b
Vendor what go.mod pins after the rebase on main (issue 1790; the SDK's 1833 fix returns with E's re-pin)
2026-10-22 19:05:21 +02:00
jschoubben
dfc2f2aa98
Take a walk's key in again when it was recorded at an earlier merge, so the module is registered at the commit the walk carries before it is built (issue 1851, A6)
2026-10-22 19:05:05 +02:00
jschoubben
ab33f015ec
Say again what the controller keeps at every push, so a word refused before its grant is kept once a push carries it (issue 1790, D1)
2026-10-22 19:05:05 +02:00
jschoubben
791c2a3d48
Refuse a removed verb by name before reading its arguments, as the SDK member's table now offers none (issue 1851, A11a; issue 1318, C3)
2026-10-22 19:05:05 +02:00
jschoubben
d36e0ea278
Announce the controller's states, keep every module's word, and grant a read only where its owner announced the state readable; the copied list of the controller's mirrors goes (issue 1790, D1-D4, ADR 0495, ADR 0513 §3)
2026-10-22 19:05:04 +02:00
jschoubben
b6ed18197b
Vendor the R4e mesh-sdk member's head with the states announcement (issue 1790; re-pinned to the final head in E)
2026-10-22 19:05:04 +02:00
jschoubben
45d091778c
Refuse delivery-plan and forget-checks by name and take a merge's warrant from the teller alone, no longer mesh-delivery's (issue 1318, C3, ADR 0450 §8)
2026-10-22 19:05:04 +02:00
jschoubben
3a1937914e
Ask build-agent no composed check of a delivery group, and answer that the checker judges it (issue 1299, C2, ADR 0503 §3)
2026-10-22 19:05:04 +02:00
jschoubben
25fdf9920e
Read a commit as the same as itself however short, and fit the pending assignments' tests to a mesh that asks no build (issue 1851, A9, A10)
2026-10-22 19:05:04 +02:00
jschoubben
323e1270cc
Ask no pull request check of build-agent but the own merge-check.sh of a repository whose trunk requires mesh/repo-check alone, and say every verdict with no gate layer (issue 1299, C1, ADR 0503 §3, §5)
2026-10-22 19:05:04 +02:00
jschoubben
e7e23c57cc
Read a module whose every artifact names its paths from those paths and its manifest alone, so a change elsewhere in its directory moves nothing (issue 1758, B1, ADR 0499 §5)
2026-10-22 19:05:04 +02:00
jschoubben
a8387ebad8
Name, before the switch, which modules it moves: the held build's digests against the builder's done key, images and packages said as what cannot be compared (issue 1851, A13)
2026-10-22 19:05:04 +02:00
jschoubben
1963d84a7a
Refuse, in the one function every ask goes through, an ask of build-agent for any module but the builder's own (issue 1851, A12, ADR 0453 §5)
2026-10-22 19:05:04 +02:00
jschoubben
b71425867f
Register a module from a repository the catalogue does not build at the controller's terminal alone, from its done trunk key, naming exactly its repository and path (issue 1851, A11b, ADR 0501 §4)
2026-10-22 19:05:04 +02:00
jschoubben
c7039d81e1
Refuse build, rebuild and replay --register by name, naming what replaced them, and delete the hand builds (issue 1851, A11a, ADR 0501 §5)
2026-10-22 19:05:04 +02:00
jschoubben
f76da2ce9c
Ask the checker for a try of a branch head, not build-agent, and read its word in today's answer (issue 1851, A11, ADR 0501 §5)
2026-10-22 19:05:04 +02:00
jschoubben
7f6d418205
Mark the walks the integration tests drive around the one ask left as the builder's own, and expect no ask of a moved module (issue 1851, A5, A6)
2026-10-22 19:05:04 +02:00
jschoubben
0aec975d19
Keep an assignment of a module whose key is coming pending on that key and ask no build; nothing asks a request again at start (issue 1851, A10)
2026-10-22 19:05:04 +02:00
jschoubben
9da79ef8c3
Move no module whose fingerprint is unchanged, and let a key's build stand on the held build-agent build of the same digests at the switch (issue 1851, A9)
2026-10-22 19:05:04 +02:00
jschoubben
7743bd0d4b
Delete the walk's reuse of a check's build: a walk takes keys and asks build-agent only for the builder's own module (issue 1851, A8)
2026-10-22 19:05:04 +02:00
jschoubben
62268cf43d
Take a walk's modules from the builder's done keys and ask no build but the builder's own: a key building or unreferenced holds the tier and says so, a failed key fails the walk in its words (issue 1851, A6, A7)
2026-10-22 19:05:04 +02:00
jschoubben
ea3c8ad7f6
Register a new module from the builder's first done key and ask no first build; its condition reads the key and names a manifest word this controller does not read (issue 1851, A5a, A5b)
2026-10-22 19:05:04 +02:00
jschoubben
d984f0a55d
Take a module in from the builder's done key of its trunk fingerprint: one record of the key's artifacts, its manifest judged against the catalogue trunk's predefined keys (issue 1851, A3, A4b, A4c)
2026-10-22 19:05:04 +02:00
jschoubben
f00b6aff8b
Judge a recorded build, not build-agent's outcome, and read a registration's warrant from the merge a key names, so a done key registers under the same rules (issue 1851, A4a)
2026-10-22 19:05:04 +02:00
jschoubben
eff0d5cbf4
Vendor the R4e mesh-sdk member's head for its shared launcher rule and the manifest word paths (issue 1851; re-pinned to the final head in E)
2026-10-22 19:05:04 +02:00
jschoubben
1ed7e34155
Read the builder's keys, the indexer's values by commit and its manifests, so the controller can take a module from a done key (issue 1851, A1, A2)
2026-10-22 19:05:04 +02:00
jschoubben
abe356a262
Merge main and take the SDK at the milestone's mesh-sdk head 8892a117, which holds main's SDK and the milestone's (issue 1840)
mesh/merge-gate head abe356a262e8 merged into trunk 41c96287578e — pass: group feat/upgrade-safety composed: every machine composes with the change as it d…
mesh/repo-check head abe356a262e8 merged into trunk 41c96287578e beside mesh-catalog#450@86ba54b0 — pass: its merge-check.sh passed
mesh/check failed: unit: ..test: node:internal/modules/esm/resolve:241 | abe356a262e8 on 41c96287578e | unit 3372 run, 0 kept, 7 skipped | integration…
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792694058124013462 (novox/mesh-controller at 96441ea2 into ma…
mesh/delivery-group group feat/upgrade-safety delivered: every member is delivered
2026-10-22 18:14:14 +02:00
mesh-tools
41c9628757
Merge pull request 'Pin mesh-sdk at the fix that refuses an unresolvable machine alone (issue 1833)' ( #437 ) from fix/1833-one-machine-alone into main
2026-10-22 16:10:20 +00:00
jschoubben
3e3400f510
Take the SDK at the milestone's mesh-sdk head f8b8f3a6, which the delivery group's members must pin exactly (issue 1840)
2026-10-22 18:07:38 +02:00
jschoubben
e022a3fd6f
issue 1840/S3: look the declared packages up by name in the mirror's integration test, since every node also runs the mesh's own modules and their packages
2026-10-22 17:52:40 +02:00
jschoubben
684a8783e5
Merge remote-tracking branch 'origin/main' into feat/upgrade-safety
2026-10-22 17:40:00 +02:00
mesh-tools
11e364bd43
Merge pull request 'Hold a first merge whose new module the running build-agent refuses for an unknown manifest word, name it, and ask it again when build-agent is delivered (issue 1173)' ( #438 ) from fix/1173-held-first-build into main
2026-10-22 15:28:11 +00:00
jschoubben
1e9b87e03a
Hold every refused module of a first merge and ask each again by its own path (issue 1173)
...
mesh/check failed: integration: github.com/novox/mesh-controller/internal/identity.TestACertificateChainsToTheMeshsOwnAuthority: authority_test.go:45:…
mesh/merge-gate head 1e9b87e03acd merged into trunk b8f77577fed2 — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 1e9b87e03acd merged into trunk b8f77577fed2 — pass: its merge-check.sh passed
A held merge was asked again by the rule of a first merge, which finds nothing once a sibling module of the
same merge registered, so it stayed held forever; and a second refusal in a merge already held fell through to
a failed build. The hold now keeps a list of module, path and word, a refusal in a held waiting merge joins it,
and the delivery of build-agent asks each held path again on the merge's Approve warrant.
2026-10-22 16:50:06 +02:00
jschoubben
45a09f90e3
Carry a held merge's new announcement into its record (issue 1173)
...
HoldMerge replaced the event on the flag only; the record kept the old one.
2026-10-22 16:33:28 +02:00
jschoubben
4538d05732
Ask a held first build again when a delivery of build-agent ends (issue 1173)
...
ADR 0482 section 5: the build waiting for a build-agent that reads its manifest is asked once the plan delivering it ends.
2026-10-22 16:19:45 +02:00
jschoubben
980d396d40
Keep a first merge whose manifest word the running build-agent does not read, and name it (issue 1173)
...
ADR 0482 section 5: a merged manifest the running reader refuses waits for the newer reader, never failed.
2026-10-22 16:18:39 +02:00
mesh-tools
b8f77577fe
Merge pull request 'Say a delivery's start and end with the machines its merges declare, and word a needed new head as its author's (ADR 0505)' ( #436 ) from feat/quiet-deliveries into main
2026-10-22 14:01:22 +00:00
jschoubben
28a278c146
Take mesh-sdk at bd7731f: a machine that does not resolve keeps its name and its address in the mesh as well as its tunnel (issue 1833)
mesh/check failed: unit: ..test: node:internal/modules/esm/resolve:241 | 28a278c1462a on b8f77577fed2 | unit 3353 run, 0 kept, 7 skipped | integration…
mesh/repo-check head 28a278c1462a merged into trunk 11e364bd439f — pass: its merge-check.sh passed
mesh/merge-gate head 28a278c1462a merged into trunk 11e364bd439f — pass: group fix/1833-one-machine-alone composed: every machine composes with the change …
mesh/delivery-group group fix/1833-one-machine-alone delivered: every member is delivered
2026-10-22 15:27:27 +02:00
jschoubben
c34ab0e43a
Take mesh-sdk at c154bde: a machine that does not resolve keeps its place on the private network, so it alone is refused (issue 1833)
...
One machine whose modules could not be resolved left the private network uncomposable when it was the hub, and every
send to every machine was held. The SDK now keeps a refused machine at the place the controller already holds for it.
2026-10-22 15:04:47 +02:00