jschoubben
51bc6a65b6
Merge remote-tracking branch 'origin/feat/r4g-finish-1935' into join/r4g-finish-sdk
2026-10-24 04:23:53 +02:00
jschoubben
66bf26c0d7
Let the composer read its request from a file, since a run step hands it no standard input (issue 1622)
2026-10-24 04:10:31 +02:00
jschoubben
4e0036cc95
Mark the packages whose tests read files outside their directory, so mesh-build-go never keeps their verdict (issue 1935)
2026-10-24 04:00:48 +02:00
jschoubben
4784762a70
Name every repository's siblings in beside's comment, mesh-controller beside mesh-host's tests, as the checker places them (issue 1295)
2026-10-24 03:51:35 +02:00
jschoubben
668fc2a722
Let the Go build seat carry a compose ask and its answer, so the assigner composes a group with its mesh-sdk head (issue 1622)
2026-10-24 03:51:35 +02:00
jschoubben
20d18eb4f5
Give mesh-sdk a composer command, so a program linking one mesh-sdk can have another commit's composition judged (issue 1621)
2026-10-24 03:51:35 +02:00
jschoubben
e1f393bbb1
Merge pull request 'Raise @novox/mesh-sdk to 0.1.17, and a unit test refuses a packed change that keeps its version (issue 1899, met twice)' ( #75 ) from fix/1899-version-guard into main
...
Reviewed-on: #75
2026-10-23 22:35:42 +00:00
jschoubben
35e86b00d3
Raise @novox/mesh-sdk to 0.1.17 and guard that a changed package carries a new version (issue 1899)
mesh/check checking 35e86b00d3f0 on e1f393bbb12e
2026-10-24 00:15:27 +02:00
jschoubben
53a1de2aaa
Merge pull request 'A level's digest is stored as a list, and an end the state refuses is said, so a check of a repository with a package named token ends (issue 1930, with mesh-catalog and mesh-delivery)' ( #74 ) from fix/1930-digest-shape into main
...
Reviewed-on: #74
2026-10-23 22:08:06 +00:00
jschoubben
403a5d72ab
Keep a level's digest as a list and say an end the state refuses, so a check of a repository with a package named token ends (issue 1930)
...
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792794944815912745 (novox/mesh-sdk at e1f393bb into main, don…
mesh/check pass 403a5d72ab93 on 1ff6d339780c | unit 4545 run, 2097 kept, 13 skipped | integration 4595 run, 2188 kept, 21 skipped | over bound: unit, …
mesh/delivery-group group fix/1930-digest-shape merged: every member is merged
A check ask's answer kept the digest's packages as a map keyed by Go import path;
the node runtime refuses a state value with a field ending in a credential word,
so the end of any check of mesh-controller (internal/token) was never written and
the ask was acked anyway. The level's digest is now delivery.LevelDigest, packages
a sorted list of {package, digest}, reading the old map form too. finish logs an
end refused every time, writes a small failed end naming the write's error, and
the puller gives the ask back instead of acking it when no end could be written.
2026-10-23 23:32:00 +02:00
jschoubben
1ff6d33978
Merge pull request 'R4g+R5 (mesh-sdk): asks on the build seats' streams, the assigner's layouts, mesh-pack (design 47, ADR 0524-0530, 0537)' ( #73 ) from feat/r4g into main
...
Reviewed-on: #73
2026-10-23 17:48:34 +00:00
jschoubben
a2c813a6b4
Stand in node-tools beside the toolchain modules in the composition test, as the catalogue's build modules require it since issue 1911, so the test judges the toolchain alone (issue 1887, group check of #73 )
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792794944815912745 (novox/mesh-sdk at e1f393bb into main, don…
mesh/check checking a2c813a6b468 on 07462c4caa12 | novox/mesh-sdk#73 in group feat/r4g
mesh/delivery-group group feat/r4g merged: every member is merged
2026-10-23 17:03:21 +02:00
jschoubben
a9560890ee
Name the unit level's lint time in a verdict's times, so the check's line can say what gofmt and go vet cost (issue 1887 D7-go, review round 2 item 5)
mesh/delivery-group group feat/r4g rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: g14: fetch of novox/mesh-catalog#464: build_go_fetch on g14: the step g14.mvl3o921790ccf failed: go mod verify in checks/config: ch…
2026-10-23 16:50:22 +02:00
jschoubben
bec9585d50
Run an ask no more once its stream delivered it past AskRuns, failing its step with why, so a run that kills its node is not offered to each build node in turn (issue 1907)
2026-10-23 16:41:12 +02:00
jschoubben
fc4f57c4b3
Restart an ask's bound at each run's start, also on the same node, so a step redelivered after its build module was replaced is not cut by the killed run's time (issue 1887, review: issue 734 path; ADR 0525 §6)
2026-10-23 16:36:46 +02:00
jschoubben
88fa74ce5e
Bound an ask's step from its start on the node that took it, not from its put, so an ask waiting in its stream during a large rebuild is never failed and asked twice (issue 1887, review round 2 item 1; ADR 0525 §3, §6)
2026-10-23 16:32:21 +02:00
jschoubben
9205222a98
Merge branch 'feat/r4g-fallback' into feat/r4g
2026-10-23 16:19:25 +02:00
jschoubben
285566eed1
Merge branch 'feat/r4g-scripts' into feat/r4g
2026-10-23 16:19:25 +02:00
jschoubben
51756ee9a4
Merge branch 'feat/r4g-asks' into feat/r4g
2026-10-23 16:19:24 +02:00
jschoubben
d7375c9811
Add mesh-pack: a hand build with the build module's recipe and mesh-sdk's own pack (F1)
2026-10-23 16:12:23 +02:00
jschoubben
232ded26ea
Delete both merge-check scripts; the type check runs before npm test (issue 1295, S8; ADR 0529)
...
gofmt and vet are the Go build module's, the unit bound the checker's.
2026-10-23 16:10:46 +02:00
jschoubben
691c97ec31
Ask a check's digest as the candidate under the runner and plan as any other when the installed module ignores it, as ADR 0535 §2 and §4 judge (issue 1887 A5a)
2026-10-23 16:04:01 +02:00
jschoubben
ba092d543f
Run the levels of one check in one ask after one fetch, keeping nothing under the candidate's runner or a digest without the siblings, as ADR 0525 §3 says a check ask is (issue 1887 A5a)
2026-10-23 15:59:15 +02:00
jschoubben
c3915ffb11
Merge branch 'feat/r4g-assigner' into feat/r4g
2026-10-23 15:58:11 +02:00
jschoubben
34338df950
Key a building key's asks by build seat language, so a builder taking it over knows whose steps to watch (issue 1887 A4b)
2026-10-23 15:44:57 +02:00
jschoubben
07462c4caa
Merge pull request 'Checks under 5 minutes (mesh-sdk): a kept mirror per repository for build steps' fetches, and @novox/mesh-sdk 0.1.16 (issues 890, 1899; ADR 0536)' ( #72 ) from feat/fastcheck into main
...
Reviewed-on: #72
2026-10-23 13:44:13 +00:00
jschoubben
6003da0a58
Put an ask on its build seat's stream and read its step, and name a building key's asks, so the builder and the checker ask no node and a restarted builder never asks twice (issue 1887 A4a, A4b)
2026-10-23 15:43:59 +02:00
jschoubben
3e5d4c30ff
Let a composition not run say why, the assigner not running among it, and name the indexer's words for a removed module, so a check never waits for a composition nobody makes (issue 1297, B3d)
2026-10-23 15:41:55 +02:00
jschoubben
1672f40233
Serve a build seat's current, pause and resume from the SDK, naming the asks running, so the three build modules hold their seats one way (issue 1887 A3node, A9a, ADR 0525 §10)
2026-10-23 15:38:03 +02:00
jschoubben
e1dca0a39f
Release an ask's workspace when its job ends, so a pulled build or check leaves nothing for the sweep (issue 1887 A3go, ADR 0509)
2026-10-23 15:30:32 +02:00
jschoubben
4b503f8d0d
Pull a build seat's ask through the bundle's runtime one at a time and settle it by id, so a tools bundle pulls by its capacity and order (issue 1887 A11)
2026-10-23 15:29:05 +02:00
jschoubben
8cd22892a3
Read a node's build capacity from the build module's own setting at every pull, defaulting to the builder's values, so the control-node pulls nothing (issue 1887 A7, ADR 0525 §5)
2026-10-23 15:23:03 +02:00
jschoubben
1f6fc027c0
Run a pulled ask's whole job with a build module's own step tools, kept verdicts taken after its digest, so both build modules run asks one way and their tools stay the hand path (issue 1887 A3, ADR 0525 §3, §8)
2026-10-23 15:22:25 +02:00
jschoubben
f625d98713
Lay out the assigner's ask value and name the asking a view answer is for, so a stale answer never fills a later asking of the same key (issue 1297 subtask B1c, for the view lane's B9 and B10)
2026-10-23 15:20:58 +02:00
jschoubben
c2967432e6
Refuse the build queue's verbs by name and drop the rows R4e removed, so a caller is told the backlog is the delivery view's and a pause the build seat's (issue 1887 A9b, ADR 0525 §9)
2026-10-23 15:20:27 +02:00
jschoubben
69041c5302
Retire the seat node-build-agent for one build seat per language, so a node's builds are pulled and paused at its build modules and a claim on the old seat names its replacement (issue 1887 A9a, ADR 0525 §2, §10)
2026-10-23 15:19:41 +02:00
jschoubben
792fb2ccfd
Keep a long ask alive with in-progress signals and leave a stopped holder's ask to the stream, so a node that dies hands its ask on (issue 1887 A2c, ADR 0525 §6)
2026-10-23 15:17:18 +02:00
jschoubben
89aa6fc17c
Pull nothing at capacity 0, take a new capacity at the next pull, and keep a node's pause on its pause key, so a paused node stays paused across a restart (issue 1887 A2b)
2026-10-23 15:16:46 +02:00
jschoubben
a1d73bdcf0
Pull a build seat's asks delivery first, at most the node's capacity, each ended on its own step key, so no part chooses a node or holds a check (issue 1887 A2a, ADR 0525 §4-§6)
2026-10-23 15:15:57 +02:00
jschoubben
d9384bcb23
Lay out the asks the view may answer and the view's answer key, refusing the merge's ask, so the view and the teller answer only what needs no proof (issue 1297 subtask B1c; ADR 0528 clause 6, ADR 0437 clause 10)
2026-10-23 15:12:40 +02:00
jschoubben
b9b9c5120c
Name an ask's step key <node>.<ask id> and its watch, so the asker learns which node took it and refuses other keys (issue 1887 A1b, ADR 0525 §6)
2026-10-23 15:11:44 +02:00
jschoubben
37eff6fe5c
Lay out the ask a build node pulls: its subjects, stream, workers and job, so builder, checker and build modules share one form (issue 1887 A1a, ADR 0525, ADR 0536 §4)
2026-10-23 15:11:39 +02:00
jschoubben
687d715e99
Lay out the controller's grants and the assigner's composition verdict under the checker's key, so the assigner's rule 6 and the checker's composition read one layout (issue 1297 subtask B1b, issue 1394; ADR 0528 clauses 2 and 5)
2026-10-23 15:11:34 +02:00
jschoubben
ec2bd3b990
Lay out the assigner's wants, holds and differences in mesh-sdk, so the assigner, the watchman and the view read one layout (issue 1297, subtask B1a; ADR 0528 clauses 1 and 4)
2026-10-23 15:10:09 +02:00
jschoubben
2248b985bf
Raise @novox/mesh-sdk to 0.1.16, so its package build is not refused as a second, different 0.1.15 (issue 1899)
mesh/check pass 2248b985bfac on 7aacbc162014 | unit 6632 run, 0 kept, 16 skipped | integration 6757 run, 0 kept, 24 skipped | over bound: unit, integr…
mesh/delivery-group group feat/fastcheck merged: every member is merged
2026-10-23 14:15:26 +02:00
jschoubben
780be2fae5
Fetch through a bare mirror with git alternates, so a check transfers only new objects (issue 890, ADR 0536 §2)
2026-10-23 14:03:06 +02:00
jschoubben
5ab7ccf47e
Merge pull request 'A build step is refused under a 20 GiB free-space floor, and a workspace is held, released and swept after 2 h (issue 1839, ADR 0532)' ( #71 ) from fix/1839-build-floor into main
...
Reviewed-on: #71
2026-10-23 11:28:31 +00:00
jschoubben
6147a20454
Refuse a build step under a free-space floor and release workspaces, so a build node's disk is never filled (issue 1839)
...
mesh/merge-gate head 6147a2045467 merged into trunk 7aacbc162014 — pass: builds mesh-sdk (+41 dependent(s)) → ace, g14, novox, shanks; no bus step; 9 wait(…
mesh/repo-check head 6147a2045467 merged into trunk 7aacbc162014 — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript)…
mesh/check failed: integration: meshbuildnode/cmd/mesh-build-node.TestAFixtureBundleBuiltTwiceHasOneDigest: build_integration_test.go:71: no toolchain…
mesh/delivery-group group fix/1839-build-floor merged: every member is merged
buildstep.Floor refuses a step, naming the node, what is free and the floor
(20 GiB, build-agent's), while the work or cache filesystem is under it.
buildstep.Workspaces holds a workspace while a step runs on it, removes it
when its caller releases it, and sweeps one left unheld past ADR 0509's
two-hour bound.
2026-10-23 08:28:28 +02:00
mesh-tools
7aacbc1620
Merge pull request 'R4e (mesh-sdk): the narrowed tree, the build modules' shared steps and layouts, ParseManifestForInputs, and the vendor directory's leaving' ( #70 ) from feat/r4e into main
2026-10-22 22:13:10 +00:00
jschoubben
22b70c82b0
Stand in the artifact store in the toolchain test's shelf: R4e's build modules require it (ADR 0513), and the group's composed check judges them at the catalogue's group head
mesh/repo-check head 22b70c82b0ab merged into trunk cdfc63cf102b beside mesh-catalog#457@896bd883 +1 more — pass: THE CHANGE ALTERS ITS OWN CHECK (go/merge…
mesh/merge-gate head 22b70c82b0ab merged into trunk cdfc63cf102b — pass: group feat/r4e composed: every machine composes with the change as it did without …
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792707174627079192 (novox/mesh-sdk at 7aacbc16 into main, done, …
mesh/delivery-group group feat/r4e closed: a member was closed before the group merged
mesh/check failed: unit: ..test: node:internal/modules/esm/resolve:989 | 22b70c82b0ab on 7aacbc162014 | unit 1675 run, 0 kept, 3 skipped | integration…
2026-10-23 00:03:06 +02:00