232ded26ea
Delete both merge-check scripts; the type check runs before npm test (issue 1295, S8; ADR 0529)
jschoubben2026-10-23 16:10:46 +02:00
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)
jschoubben2026-10-23 16:04:01 +02:00
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)
jschoubben2026-10-23 15:59:15 +02:00
c3915ffb11
Merge branch 'feat/r4g-assigner' into feat/r4g
jschoubben2026-10-23 15:58:11 +02:00
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)
jschoubben2026-10-23 15:44:57 +02:00
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
jschoubben2026-10-23 13:44:13 +00:00
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)
jschoubben2026-10-23 15:43:59 +02:00
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)
jschoubben2026-10-23 15:41:55 +02:00
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)
jschoubben2026-10-23 15:38:03 +02:00
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)
jschoubben2026-10-23 15:30:32 +02:00
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)
jschoubben2026-10-23 15:29:05 +02:00
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)
jschoubben2026-10-23 15:22:57 +02:00
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)
jschoubben2026-10-23 15:22:25 +02:00
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)
jschoubben2026-10-23 15:20:58 +02:00
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)
jschoubben2026-10-23 15:20:27 +02:00
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)
jschoubben2026-10-23 15:19:41 +02:00
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)
jschoubben2026-10-23 15:17:18 +02:00
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)
jschoubben2026-10-23 15:16:46 +02:00
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)
jschoubben2026-10-23 15:15:57 +02:00
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)
jschoubben2026-10-23 15:12:40 +02:00
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)
jschoubben2026-10-23 15:11:44 +02:00
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)
jschoubben2026-10-23 15:11:33 +02:00
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)
jschoubben2026-10-23 15:11:34 +02:00
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)
jschoubben2026-10-23 15:10:09 +02:00
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)
jschoubben2026-10-23 14:15:26 +02:00
780be2fae5
Fetch through a bare mirror with git alternates, so a check transfers only new objects (issue 890, ADR 0536 §2)
jschoubben2026-10-23 14:03:06 +02:00
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
jschoubben2026-10-23 11:28:31 +00:00
6147a20454
Refuse a build step under a free-space floor and release workspaces, so a build node's disk is never filled (issue 1839)
jschoubben2026-10-23 08:28:28 +02:00
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
mesh-tools2026-10-22 22:13:10 +00:00
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
fix/r4e-shelf
jschoubben2026-10-23 00:03:06 +02:00
6aa8e869a3
Name no paths in mesh-sdk's own manifest until R4e is delivered: today's controller judges R4e's group and refuses the word (issue 1758, ADR 0499 §7, ADR 0503 §4)
jschoubben2026-10-22 23:57:26 +02:00
259bfd0c2b
S1: keep no package.json or go.mod outside the named tree in a narrowed build
jschoubben2026-10-22 21:07:22 +02:00
875c680d98
Merge remote-tracking branch 'origin/main' into feat/r4e-sdk
jschoubben2026-10-22 20:37:49 +02:00
cdfc63cf10
Merge pull request 'Let a process watch, put, list and delete its own state's keys, as a tools bundle can (upgrade safety, issue 1840, ADR 0507 §8)' (#69) from feat/upgrade-safety into main
mesh-tools2026-10-22 18:34:24 +00:00
d1af87a83a
Leave a narrowed build only its named paths, manifest and locks, in one function for both build modules (issue 1758, ADR 0499 §4)
jschoubben2026-10-22 18:31:07 +02:00
e76a5a31a0
Read a manifest for its build's inputs without the published list of predefined keys (issue 1751, dev-r4e-builder's request)
jschoubben2026-10-22 18:18:55 +02:00
8892a11768
Merge remote-tracking branch 'origin/main' into feat/upgrade-safety
jschoubben2026-10-22 18:13:24 +02:00
4fac7810a1
Merge pull request 'Keep a machine that does not resolve on the private network and in the names, so it is refused alone (issue 1833)' (#68) from fix/1833-one-machine-alone into main
mesh-tools2026-10-22 16:10:23 +00:00
b07e741c41
Say in the controller seat's verbs what R4e removes and what the checker now does (R4e, dev-r4e-controller's request via the lead; ADR 0501 §5, ADR 0503 §3, ADR 0429 §18)
jschoubben2026-10-22 18:07:37 +02:00
72a477eb1c
Carry a candidate module's named paths, so the builder's fetch for a candidate names them (issue 1758, ADR 0499 §2, the builder lane's request)
jschoubben2026-10-22 18:06:49 +02:00
8c3bfad86b
Run the run step's isolation proof only where bubblewrap is, under its own tag (issue 1309, S19, the lead's decision)
jschoubben2026-10-22 18:06:10 +02:00
9cb4d59093
Keep each artifact's named paths in the modules value, so the checker needs no manifest to see a change touch them (issue 1758, ADR 0499, lead decision L8)
jschoubben2026-10-22 18:00:24 +02:00
fd2ae83431
Name the error of a fetch whose lock waits for an unpublished package (issue 1587, ADR 0500 §6)
jschoubben2026-10-22 18:00:02 +02:00
4dd967e62f
Let a module that builds no artifact have a done key that can be delivered (issue 1613, the lead's request for the builder lane)
jschoubben2026-10-22 17:59:55 +02:00
ab2ca6e3a7
Push a done build's bundle or archive to the artifact store from the build module, in one shared client (issue 1587, ADR 0498 §1-§2)
jschoubben2026-10-22 17:59:14 +02:00
a90f523edc
Name the TypeScript package's own files as lib's paths, so a Go-only change moves no TypeScript module (issue 1758, S6, ADR 0499 §6)
jschoubben2026-10-22 17:47:26 +02:00
fc7c4e97e6
Stop committing the Go dependencies, which go.sum already pins (issue 1304, S8)
jschoubben2026-10-22 17:47:06 +02:00
f7cd91e49d
Accept a modules value with the new fingerprint alone, and say mesh/check is the required status (issue 1851, S7 and S16, ADR 0453 §6, ADR 0503 §3 §5)
jschoubben2026-10-22 17:46:56 +02:00
3b3cabd2b0
Prove a run step reaches no key, login, name or socket and leaves the caches unchanged (issue 1309, S19, ADR 0448 check)
jschoubben2026-10-22 17:46:10 +02:00
f8b8f3a666
issue 1840/S2: take a narrowed watch's current values as a set, since the bus hands them in the order of their last revision
jschoubben2026-10-22 17:45:58 +02:00
1f4ff20488
Keep the shared caches unchanged by a candidate's step, under a throwaway writable layer (issue 1309, S18, ADR 0448)
jschoubben2026-10-22 17:45:35 +02:00
39a2144cd6
Run a step's command shut off in bubblewrap, so a change's code reaches no key, login or network (issue 1309, S17, ADR 0448)
jschoubben2026-10-22 17:45:21 +02:00
2aab86c5cb
Delete the copied list of the controller's readable states and the reads check built on it (issue 1790, S12, ADR 0495 §4-§5)
jschoubben2026-10-22 17:43:49 +02:00
33387ac3e5
Give every module the announcement test, on an exported test bus (issue 1790, S11, ADR 0495 §5)
jschoubben2026-10-22 17:43:07 +02:00
57d2f31f05
Let a module's code announce the states it keeps, in Go and TypeScript (issue 1790, S10, ADR 0495 §2 §5)
jschoubben2026-10-22 17:42:24 +02:00
bb8b3bb43b
Define how a module announces the states it keeps, so readers are granted from the owner's word (issue 1790, S9, ADR 0495 §2-§3)
jschoubben2026-10-22 17:34:35 +02:00
d13bc6ecc6
Let a key wait queued for a package version, so it is not failed before the package is published (issue 1587, S15, ADR 0500 §6)
jschoubben2026-10-22 17:31:42 +02:00
ad1f6e6ac2
Name the build errors in one place, and which are not built again until the source changes (issue 1587, S14, ADR 0498 §2 §4 §5)
jschoubben2026-10-22 17:31:40 +02:00
97895851f8
Check each done artifact's reference against its kind, and say when a key can be delivered (issue 1587, S13, ADR 0498 §1 §5 §6 §8)
jschoubben2026-10-22 17:31:40 +02:00
d14a6d301c
Prove on real git that a Go-only commit leaves mesh-sdk's package tree equal (issue 1758, S5, ADR 0499 §2 check)
jschoubben2026-10-22 17:30:25 +02:00
7cf73ed76b
Hand a build's fetch the named paths in a shared request, so no build module reads them from a manifest (issue 1758, ADR 0499 §4, ADR 0495 §1)
jschoubben2026-10-22 17:29:58 +02:00
d32743499c
Narrow the merge preview's tree of a module that names its paths (issue 1758, S4, ADR 0499 §2)
jschoubben2026-10-22 17:29:17 +02:00
8d65cb3016
Carry each named path's git object beside a module's other inputs (issue 1758, S3, ADR 0499 §2-§3)
jschoubben2026-10-22 17:27:58 +02:00
0c8d0f73fa
Compute a module's narrowed tree in one function, so every caller gives the merge's value (issue 1758, S2, ADR 0499 §2)
jschoubben2026-10-22 17:27:02 +02:00
dfc2c858d9
Share the launcher rule of a TypeScript bundle, so builder and controller name it alike (R4e, the lead's request for dev-r4e-controller)
jschoubben2026-10-22 17:25:21 +02:00
06fe1ee8b3
Read the manifest word paths, so a package names the files it is built from (issue 1758, S1, ADR 0499 §1)
jschoubben2026-10-22 17:25:02 +02:00
bd7731f358
Count a machine that does not resolve and holds a place as on the network for its name and the mesh's sources too (issue 1833)
jschoubben2026-10-22 15:26:48 +02:00
c154bdedd3
Keep a machine that does not resolve on the private network at its place, so one machine's modules refuse only its own declaration (issue 1833)
jschoubben2026-10-22 15:03:17 +02:00
5ea6c215a4
issue 1840/S1: let a process delete a key, as a tools bundle can
jschoubben2026-10-22 14:36:24 +02:00
2b8ada5eb9
Merge remote-tracking branch 'origin/main' into feat/upgrade-safety
jschoubben2026-10-22 14:24:43 +02:00
5652312f09
Merge pull request 'Make the route proxy's bus helpers public in mesh-sdk (issue 1633, ADR 0480 §4)' (#67) from feat/r4d into main
mesh-tools2026-10-22 12:19:16 +00:00
076e1f7947
issue 1840/S2: let a process watch a state, current values first then each change, as a tools bundle can
jschoubben2026-10-22 14:16:59 +02:00
26517ac00b
issue 1840/S1: let a process put a key whole and list a state's keys, as a tools bundle can
jschoubben2026-10-22 14:16:13 +02:00
637c33b7f8
issue 1840/S1c: name declared-packages among the controller's readable states, so a manifest may read it
jschoubben2026-10-22 14:15:33 +02:00
c61212eba7
Make the membership, its subject, stream, bare address and the pin public, so the route proxy leaves the controller's module (issue 1633)
jschoubben2026-10-22 09:51:01 +02:00
c6e669f71e
Merge pull request 'The checker runs beside today's check: the SDK part (layouts, shared build-run parts, merge and module trees)' (#66) from feat/the-checker into main
mesh-tools2026-10-21 21:46:39 +00:00
580da61a91
Name plans-building among the controller's readable states, for the checker's read (issue 1687, ADR 0483 clause 2)
jschoubben2026-10-21 22:44:52 +02:00
78364e318b
Put the module trees of a merge into go/buildstep for both fetch steps, and let a preview name the conflicts of a head that does not merge (issues 1675, 1676, 1445)
feat/r4c5-sdk
jschoubben2026-10-21 21:21:48 +02:00
afbe371003
Merge main (mesh-sdk #62, issue 1756) into feat/r4c5-sdk
jschoubben2026-10-21 20:59:47 +02:00
9aaa5c80ac
Accept the gate's recheck status mesh/repo-check among the owed contexts, so a pinned recheck is not refused (issue 1673)
jschoubben2026-10-21 19:35:14 +02:00
07a65927c3
Merge pull request 'Count an item's text as a placement of a config value (issue 1658)' (#62) from fix/1658-item-placement into main
mesh-tools2026-10-21 17:34:36 +00:00
92fdc8c86a
Parse the beside catalogue once per test binary, so mesh-sdk's unit level fits its bound (issue 1756)
jschoubben2026-10-21 19:26:30 +02:00
0730ef6092
Keep the unit level cheap: the merge's real-git tests start processes, so they are integration tests; the places tests wait 10 ms, not 50 (issue 895)
jschoubben2026-10-21 19:26:02 +02:00
4495a16608
Put the merge of a head onto a trunk commit into go/buildstep, so both build modules' fetch steps call one function and none copies the controller's (issue 1674)
jschoubben2026-10-21 19:22:33 +02:00
b944d07158
Add the checker's owed bucket, the mesh/check status context and the previews layout, and correct the checker header: the checker decides the status, the bridge sets it (issue 1673)
jschoubben2026-10-21 19:21:22 +02:00
6d0c2076a3
Give the checker's verdict a skipped count, a composition and the over-bound levels, so the line never hides skips or claims a composition not run (issue 1672)
jschoubben2026-10-21 19:19:14 +02:00
4375ed8b2c
Move the builder's shared build-run parts into go/delivery/buildrun, so the checker shares them and no module keeps a copy (issue 1671)
jschoubben2026-10-21 19:18:11 +02:00
c0bbff3b4b
Merge remote-tracking branch 'origin/main' into fix/1658-item-placement
jschoubben2026-10-21 19:17:26 +02:00
725590e06e
Merge pull request 'Give each node a declaration-files bucket of its own, so a grant names it and never needs a wildcard (issue 1694, ADR 0488)' (#64) from fix/1694-bucket-per-node into main
mesh-tools2026-10-21 15:39:08 +00:00
6f6327587d
Count an item's text as a placement of a config value, so a key only an item says is not refused (issue 1658)
jschoubben2026-10-21 12:54:08 +02:00
5792c3b959
Keep the unit level within its bound: the counter test counts 400 not 2000, the deadline test waits 50 ms not 1 s (issue 895)
jschoubben2026-10-21 16:57:31 +02:00
d4deecdb38
Merge pull request 'Add upload and download to node-files' verbs, so mesh-files may serve them (issue 1718)' (#63) from feat/files-through-the-store-files-verbs into main
mesh-tools2026-10-21 14:40:48 +00:00
216d2b4411
Check every mesh node's bucket and stream name, not only one (issue 1694, ADR 0488 §4)
jschoubben2026-10-21 16:03:55 +02:00
86f9a1a5c5
Cite ADR 0488 in the per-node bucket's doc comments (issue 1694)
jschoubben2026-10-21 15:48:22 +02:00
36d9eba51d
Each node has an object bucket of its own for files by digest (issue 1694, ADR 0486)
jschoubben2026-10-21 15:39:38 +02:00
90b20f5a3b
Add upload and download to node-files' verbs, as ADR 0468 §9 decides, so mesh-files may serve them (issue 1718)
jschoubben2026-10-21 15:21:16 +02:00
85b5a2687e
Merge pull request 'Hold a module whose container names groups off a node that does not report container-groups (issues 1637, 1638, R4d)' (#60) from feat/r4d-groups-capability into main
mesh-tools2026-10-21 13:09:58 +00:00
b5d8eb03ce
A module whose container names groups needs the container-groups capability, so it is held, naming it, on an engine that does not read them (issue 1638, ADR 0480 clause 7)
jschoubben2026-10-21 14:27:45 +02:00