jschoubben
a14dc04b7b
Hold the build seat's checks while a delivery builds, and let one check that waited 30 minutes through
...
ADR 0483: the controller keeps a key per plan in its build phase; holders read it and
take no new check while one is there, but for the oldest check past 30 minutes, one
at a time by a let-through key. The queue says why checks wait.
2026-10-21 19:32:47 +02:00
mesh-tools
5ba2ffe8e6
Merge pull request 'Send a declaration's large files by reference through a bucket per node, and hold no check twice on the build seat' ( #425 ) from feat/1696-declaration-files into main
2026-10-21 16:51:05 +00:00
jschoubben
8fc0d135bb
Merge remote-tracking branch 'origin/main' into feat/1696-declaration-files
...
mesh/merge-gate head 8fc0d135bbe2 merged into trunk d568d76b9710 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 8fc0d135bbe2 merged into trunk d568d76b9710 — pass: its merge-check.sh passed
# Conflicts:
# go.mod
# go.sum
# testdata/beside/CAPTURED
# vendor/modules.txt
2026-10-21 18:32:56 +02:00
mesh-tools
d568d76b97
Merge pull request 'Take mesh-sdk 90b20f5, so node-files' contract names upload and download (issue 1718, design 60 F3 group)' ( #424 ) from feat/files-through-the-store into main
2026-10-21 16:31:27 +00:00
jschoubben
610d88e6bf
Merge commit '3217f097d38d9f1c4302ec827ad6b371fd8ba95b' into feat/1696-declaration-files
2026-10-21 18:21:37 +02:00
jschoubben
0b11b6c98d
Take mesh-sdk at its merge 725590e0 of the per-node bucket (issue 1694, ADR 0488)
2026-10-21 18:03:47 +02:00
jschoubben
92a5193e31
Merge remote-tracking branch 'origin/main' into feat/1696-declaration-files
2026-10-21 18:03:06 +02:00
jschoubben
550cf37d71
Merge remote-tracking branch 'origin/main' into feat/files-through-the-store-files-verbs
mesh/repo-check head 550cf37d7109 merged into trunk d96c9f56a3f1 beside mesh-catalog#417@aef2a1a9 — pass: its merge-check.sh passed
mesh/merge-gate head 550cf37d7109 merged into trunk d96c9f56a3f1 — pass: group feat/files-through-the-store composed: every machine composes with the chang…
mesh/delivery superseded: its walk was superseded and names no walk that took it over: a walk that took it over answers its merge, and it follows that wa…
mesh/delivery-group group feat/files-through-the-store stopped: superseded, not carried by a later delivery: novox/mesh-catalog@6cf51173d586, novox/mesh-contro…
2026-10-21 17:49:29 +02:00
jschoubben
3217f097d3
Make a fetch's pull request end before the fetch does, and drop the hand-back loop that could itself take asks (issue 1649)
2026-10-21 17:28:40 +02:00
mesh-tools
d96c9f56a3
Merge pull request 'Pin route-proxy to a mesh-sdk commit on main, so a fresh go mod download resolves it once the feature branch goes (issue 1669)' ( #419 ) from fix/1669-route-proxy-pin into main
2026-10-21 15:12:49 +00:00
jschoubben
650274d700
Read a pull's held asks with Fetch, hand them back all through a build, and drop a duplicate only while its builder's key is fresh (issue 1649)
2026-10-21 16:58:39 +02:00
jschoubben
678a517843
Tests first for issue 1649: a held ask really handed back, a stale running key no duplicate
2026-10-21 16:57:40 +02:00
jschoubben
bb31f6bc49
Take mesh-sdk d4deecdb, main's merge of node-files' upload and download, over main's container-groups pin (issue 1718)
mesh/delivery-group group feat/files-through-the-store checking: 0 of 2 member(s) ready
mesh/merge-gate building on g14 since 17:08
mesh/repo-check out of date: judged against trunk 12752911b644, the trunk is now d96c9f56a3f1; judged again on a recheck or when it is merged
mesh/delivery superseded: a newer head of the same pull request
2026-10-21 16:57:02 +02:00
jschoubben
516af253c6
Merge main into feat/1696-declaration-files, keeping mesh-sdk at 86f9a1a5, which holds main's pin 85b5a268
2026-10-21 16:46:21 +02:00
mesh-tools
12752911b6
Merge pull request 'Send a container's supplementary groups only to a node that reports container-groups, holding the module elsewhere (issue 1638, R4d)' ( #422 ) from feat/r4d-groups into main
2026-10-21 14:44:55 +00:00
jschoubben
5157ccc3a8
Hand back any ask a pull holds before a build starts, and drop a hand-out of a check another builder runs, so one check is never run twice (issue 1649)
2026-10-21 16:35:09 +02:00
jschoubben
087e9266d1
Test the capability gate, the sweep's mark re-read and the lock use of a send and of the sweep, each failing under its mutation (issues 1696, 1697; review round 2)
2026-10-21 16:28:24 +02:00
jschoubben
3ac1944168
Announce the pull request's head again, so its delivery is made with its base and asks the Approve (issue 1726; tree unchanged)
mesh/merge-gate head 3ac1944168e4 merged into trunk 12752911b644 — pass: builds route-proxy → ace, novox; no bus step; every machine composes with the chan…
mesh/repo-check head 3ac1944168e4 merged into trunk 12752911b644 — pass: its merge-check.sh passed
2026-10-21 16:17:00 +02:00
jschoubben
a3b4e0601d
Take mesh-sdk at 86f9a1a5 and name each node's bucket with its FileBucketFor, refusing a node name that could carry a wildcard (issues 1696, 1697; ADR 0488)
2026-10-21 16:05:24 +02:00
jschoubben
227c86ebb3
Take mesh-sdk 90b20f5, so node-files' contract names upload and download (issue 1718)
mesh/delivery-group group feat/files-through-the-store rejected: a member's own check failed
mesh/merge-gate head 227c86ebb388 merged into trunk 12752911b644 — fail: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 227c86ebb388 merged into trunk 12752911b644 — fail: head 227c86ebb388 does not merge cleanly into trunk 12752911b644: in conflict go.m…
mesh/delivery superseded: a newer head of the same pull request
2026-10-21 15:57:18 +02:00
jschoubben
da364c2730
Give each node a bucket of its own for the files that travel by digest, and keep the sweep from removing an object a send relies on (issues 1696, 1697; review of ADR 0486 step 3)
...
A literal * in a published subject matches the grant's *, so in one shared bucket a node could read every node's files. Each node now
has declaration-files-<node>, which its account reads by name and the controller writes; the sweep judges each bucket against that
node's latest declaration, under the node's lock with the send, and an object the sweep marked is put again by the next send. Putting
that fails send after send raises a condition.
2026-10-21 15:43:36 +02:00
mesh-tools
98ffcb667f
Merge pull request 'Keep a build's outcome off the controller's event loop when the plans are busy, so a slow send no longer leaves the controller deaf (issue 1708)' ( #421 ) from fix/1708-listening into main
2026-10-21 13:33:59 +00:00
jschoubben
2aa291f3b3
Pin mesh-sdk at its merge of the container-groups capability, on main (issue 1638)
mesh/repo-check head 2aa291f3b30b merged into trunk 98ffcb667fb2 — pass: its merge-check.sh passed
mesh/merge-gate head 2aa291f3b30b merged into trunk 98ffcb667fb2 — pass: group feat/r4d-groups composed: every machine composes with the change as it did w…
mesh/delivery-group group feat/r4d-groups delivered: every member is delivered
2026-10-21 15:16:47 +02:00
jschoubben
ceaa616d01
Send files over 64 KiB by digest through the bus's object bucket to nodes that read them, grant it, and warn at 75 percent (issues 1696, 1697, 1698; ADR 0486 step 3)
...
A node that reports file-references gets the digest and size of each file over 64 KiB that may travel so, and the content is put in
the bucket declaration-files before the declaration is sent; others get every content inline. The controller alone writes the
bucket and node-engines read an object by name (the four grants the node-engine's own fetch makes, no list, no write). An object
goes a day after no node's latest declaration names it. The near-limit condition warns at 75 percent, and a test holds the control
node's declaration, in the reference form, under half the bus's largest message.
2026-10-21 15:16:11 +02:00
jschoubben
fa5b5e1c11
Take mesh-sdk at 863a981e, which carries the file references of ADR 0486 (issue 1696)
2026-10-21 15:07:36 +02:00
jschoubben
6ef78580ce
Take the mesh-sdk that holds the container-groups capability rebased on main (issue 1638)
2026-10-21 15:04:37 +02:00
jschoubben
0e0c775bfa
Keep a refused registration left to the build records, in the store and the process, so the look fails the plan rather than settling it built; and forget a deleted module and say what was never sent when the records settle (issue 1708)
mesh/merge-gate head 0e0c775bfa5e merged into trunk f10fbda1f619 — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 0e0c775bfa5e merged into trunk f10fbda1f619 — pass: its merge-check.sh passed
2026-10-21 15:03:23 +02:00
jschoubben
61c8b56107
Leave moving the plans after a build's outcome to the look in the serving controller, so a release's retried send no longer runs on the event loop (issue 1708)
2026-10-21 14:39:17 +02:00
jschoubben
c24139a0fd
Take a build's outcome on the event loop without waiting for the plans, and leave it to the build records with a look asked, so a holder sending for minutes no longer stops the controller listening (issue 1708)
2026-10-21 14:33:09 +02:00
jschoubben
d8d6d196a4
The controller holds a module whose container names groups on a node that does not report container-groups, naming the capability (issue 1638, ADR 0480 clause 7)
2026-10-21 14:30:26 +02:00
jschoubben
a474762527
Pin route-proxy to a commit of mesh-sdk main, since the pinned one is on a feature branch only (issue 1669)
mesh/merge-gate head a47476252772 merged into trunk 98ffcb667fb2 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head a47476252772 merged into trunk 98ffcb667fb2 — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
2026-10-21 14:25:34 +02:00
mesh-tools
f10fbda1f6
Merge pull request 'Send the vault's export compact and measure every declaration against the bus's limit, raising a condition from 90%, so novox's declaration fits again and cannot fail silently (issue 1689)' ( #418 ) from fix/1689-declaration-room into main
2026-10-21 12:22:45 +00:00
jschoubben
09aa063a13
Measure a declaration against the bus's largest message, raise a condition near it, and send the vault's export compact (issue 1689)
...
mesh/merge-gate out of date: judged against trunk 5be1cfaed19b, the trunk is now f10fbda1f619; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk 5be1cfaed19b, the trunk is now f10fbda1f619; judged again on a recheck or when it is merged
A declaration is one bus message and the control node's passed the limit by 2 KB. The size is checked at every send
against the connection's own limit, with a condition from 90% and a message naming size and limit when over; the
export, 138 KB compact of 165 KB indented, is sent compact.
2026-10-21 13:54:11 +02:00
mesh-tools
5be1cfaed1
Merge pull request 'Ask a new module's first build when its merge is heard, not when its batch is cut, so it can be assigned right after its delivery (issue 1617)' ( #417 ) from fix/1617-register-new-modules into main
2026-10-21 11:45:56 +00:00
jschoubben
35829d5a9a
Keep the test's first batch assembling (issue 1617)
mesh/merge-gate head 35829d5a9a8e merged into trunk cada7e3c8374 — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
mesh/repo-check head 35829d5a9a8e merged into trunk cada7e3c8374 — pass: its merge-check.sh passed
2026-10-21 13:18:38 +02:00
jschoubben
57939d6dd4
Ask a new module's first build when its merge is heard, not when the batch is cut, and not twice (issue 1617)
2026-10-21 12:53:16 +02:00
mesh-tools
cada7e3c83
Merge pull request 'Take the mesh-sdk that knows shares on an s3-bucket requirement, and prove the controller composes and checks it (issue 1593)' ( #416 ) from feat/files-through-the-store into main
2026-10-21 10:42:04 +00:00
mesh-tools
ff42f21839
Merge pull request 'Refuse a build whose module directory, archive or bundle output leads out of the module through a link, so a repository cannot make build-agent pack files from the build node (issue 1609)' ( #415 ) from fix/1609-archive-symlink into main
2026-10-21 10:16:52 +00:00
jschoubben
64c1996a5e
Prove the controller composes and checks shares on an s3-bucket requirement (issue 1593)
mesh/merge-gate head 64c1996a5e9d merged into trunk ff42f2183900 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 64c1996a5e9d merged into trunk ff42f2183900 — pass: its merge-check.sh passed
2026-10-21 11:53:24 +02:00
jschoubben
8a1ef29e36
Take mesh-sdk at 465beb4, which carries shares on an s3-bucket requirement (issue 1593)
2026-10-21 11:51:38 +02:00
mesh-tools
0caa8c6844
Refuse a bundle whose output directory leads out of the module through a link, so a repository cannot make the build write into or pack files it does not hold (issue 1609)
mesh/merge-gate head 0caa8c6844d9 merged into trunk 0205b8f7080a — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 0caa8c6844d9 merged into trunk 0205b8f7080a — pass: its merge-check.sh passed
2026-10-21 09:46:00 +00:00
mesh-tools
fcca6ba9e0
Refuse an archive or a module directory that leads out of the repository through a link in the tree, so a repository cannot make the build pack files it does not hold (issue 1609)
2026-10-21 09:22:14 +00:00
mesh-tools
0205b8f708
Merge pull request 'Hold a merge for any failure to record it, so the bus hands it over again and no merge is lost (issue 1583)' ( #414 ) from fix/1583-merge-handed-over into main
2026-10-21 09:05:55 +00:00
mesh-tools
c8539bf35a
Merge pull request 'Do not ask the operator to stop a delivery that is already stopped; say what ends it (issue 1581)' ( #413 ) from fix/1581-stopped-alert into main
2026-10-21 08:52:14 +00:00
mesh-tools
5c94759cc0
Hold a merge for any failure to record it, so the bus handing it over again never loses it (issue 1583)
mesh/merge-gate head 5c94759cc0c2 merged into trunk c8539bf35a8d — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
mesh/repo-check head 5c94759cc0c2 merged into trunk c8539bf35a8d — pass: its merge-check.sh passed
2026-10-21 08:43:09 +00:00
mesh-tools
cddf150871
Spell the dash escape with one backslash, as the reviewed source has it (issue 1581)
mesh/merge-gate head cddf15087178 merged into trunk 0fee5404d95b — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
mesh/repo-check head cddf15087178 merged into trunk 0fee5404d95b — pass: its merge-check.sh passed
2026-10-21 08:30:27 +00:00
mesh-tools
ef29adbc1a
Spell the dash in stoppedNeeds as an escape, as the reviewed source has it (issue 1581)
2026-10-21 08:30:12 +00:00
mesh-tools
e962279f1d
Do not ask the operator to stop a delivery that is already stopped; say what ends it (issue 1581)
2026-10-21 08:29:57 +00:00
mesh-tools
0fee5404d9
Merge pull request 'Count only the controller's own consumers in the deaf look, not the check workers a builder holds (issues 1063, 1543)' ( #412 ) from fix/1063-deaf-counts-own-consumers into main
2026-10-20 23:46:00 +00:00
mesh-tools
54d8d139ad
Record the asked builds under a lock in the merge tests' helper, which the merge window's goroutine and the test call at once (issue 1543)
mesh/merge-gate head 54d8d139ad5b merged into trunk f4584e6fa285 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head 54d8d139ad5b merged into trunk f4584e6fa285 — pass: its merge-check.sh passed
2026-10-20 23:24:37 +00:00