jschoubben
bac82bb91e
Count the asks the builder puts and read their kind in its integration test, so 1887/AC1 is proven on the real bus (issue 1887, review round 2 item 3)
2026-10-23 16:46:57 +02:00
jschoubben
357e28f31d
Merge remote-tracking branch 'origin/feat/r4g' into feat/r4g
...
# Conflicts:
# modules/mesh-delivery-builder/internal/build/run_test.go
2026-10-23 16:46:05 +02:00
jschoubben
5ddc221833
Bound a build or check ask's step from its start, and drop the checker's whole-check bound, so asks waiting in the streams during a large rebuild are never failed and asked twice (issue 1887, review round 2 item 1; ADR 0525 §3, §6)
2026-10-23 16:45:35 +02:00
jschoubben
37860d46a0
Stop watching the node-engine's have in the checker: a check's asks wait in the build seats' streams, which redeliver a lost node's ask, so no check fails for want of a node; presence stays for an unheard forge and the assigner's presence (issue 1912)
2026-10-23 16:41:34 +02:00
jschoubben
84b2c92ccf
Put again, under its own id, an ask a build key names that neither its stream holds nor any node ran, so a builder that stopped between naming and putting it leaves no key waiting for an ask nobody put (issue 1910)
2026-10-23 16:39:56 +02:00
jschoubben
c0f24f56b5
Drop the view's use of the build seats: it reads their workers and publishes no ask (issue 1887 A8a)
2026-10-23 16:35:05 +02:00
jschoubben
76bc810bda
Test that an ask running when the watchman starts gets its pulse from the steps that stand (issue 1909)
2026-10-23 16:34:50 +02:00
jschoubben
e927469460
Pulse a build ask only from when a node takes it, and end the pulse with its step, so a waiting ask is a backlog and not a stuck row (issue 1908)
2026-10-23 16:34:39 +02:00
jschoubben
97b42e3f0d
Name in every composition, by machine, those that could run a moved or added module and are not assigned it and those whose grants alone the change alters, as not judged, as ADR 0537 clause 1 asks (issue 1297)
2026-10-23 16:29:57 +02:00
jschoubben
1b019f0353
Record the assigner's full requirements and mesh-sdk feat/r4g's checksums, so the new module builds without a workspace (R4g)
2026-10-23 16:27:05 +02:00
jschoubben
95f52afab2
Record the checksums of mesh-sdk feat/r4g 9205222a for the group's modules (R4g)
2026-10-23 16:26:11 +02:00
jschoubben
e4a40a1cb0
Pin mesh-sdk at feat/r4g's head 9205222a, the merge of lanes A, B, S8 and F1, so every module r4g touches builds against one SDK
...
go.sum gains its lines from go mod tidy once mesh-sdk feat/r4g is pushed.
2026-10-23 16:22:02 +02:00
jschoubben
dd8e05142d
Merge branch 'feat/r4g-scripts' into feat/r4g
2026-10-23 16:20:17 +02:00
jschoubben
66be3dd0e4
Merge branch 'feat/r4g-view' into feat/r4g
2026-10-23 16:20:17 +02:00
jschoubben
527f87f94c
Merge branch 'feat/r4g-asks' into feat/r4g
...
# Conflicts:
# modules/mesh-delivery-checker/cmd/mesh-delivery-checker/judge.go
# modules/mesh-delivery-checker/manifest_test.go
# modules/mesh-delivery-checker/module.json
2026-10-23 16:20:17 +02:00
jschoubben
0463f21026
Merge branch 'feat/r4g-assigner' into feat/r4g
2026-10-23 16:19:45 +02:00
jschoubben
a4629bc649
Compute every module's fingerprint with no builder input and read no build-agent record for it, so a change of the builder rebuilds nothing (issue 1887 I1, ADR 0530 §1)
2026-10-23 16:14:19 +02:00
jschoubben
50836eb4d6
Format the watchman's integration test (issue 1887 A8b)
2026-10-23 16:14:03 +02:00
jschoubben
79ef768ea4
Show the backlog of build asks per language and kind: waiting, held by a node, and the oldest waiting ask's age (issue 1887 A8a)
2026-10-23 16:14:00 +02:00
jschoubben
a8ba5c2fd5
Mirror a waiting build ask as a pulse until a node writes its step, and drop the read of the controller's checks-running (issue 1887 A8b)
2026-10-23 16:12:43 +02:00
jschoubben
d0354574c6
Look the assigner's compositions bucket up at each check until it is there, so an assigner delivered after the checker started is read without a restart (issue 1297, review round 1 item 3)
2026-10-23 16:12:18 +02:00
jschoubben
69577f739d
Judge hq as any repository, so its pull requests get a verdict and mesh/check from its Go tests and no script judges it (issue 1887 A10, ADR 0527 §2)
2026-10-23 16:11:43 +02:00
jschoubben
d4977d9c9d
Start the checker whole with the assigner's verdict on the bus and read its line, the level 1297/AC3 asks (issue 1297, review round 1 item 2)
2026-10-23 16:11:31 +02:00
jschoubben
179664898a
Merge feat/r4g-asks into the view lane, keeping the checker's assigner compositions
2026-10-23 16:11:15 +02:00
jschoubben
77af82cfa2
Keep the asks state and write the ask about a held fingerprint, so the view's and the teller's read of mesh-delivery-assigner.asks is granted and has something to answer (issue 1297, review round 1 item 1; ADR 0528 clause 6)
2026-10-23 16:11:07 +02:00
jschoubben
f37e5d5fa1
Delete merge-check.sh; the checker's levels and the build module's fetch beside run what it ran (issue 1295, S8; ADR 0529)
2026-10-23 16:10:46 +02:00
jschoubben
d9d1e57e3a
Delete the checker's hold, its own capacity and places, its node moves and its read of the controller's plans-building, so a check waits only in the build seats' streams (issue 1887 A5b, closes 1685; ADR 0525 §4, §7)
2026-10-23 16:09:34 +02:00
jschoubben
e4b639c6de
Judge each pull request's check as one ask on the build seats' check stream, a re-judge on recheck, so the checker chooses no node and a lost node's check is redelivered, not moved (issue 1887 A5a, ADR 0525 §1, §3, ADR 0536 §4)
2026-10-23 16:05:55 +02:00
jschoubben
271d1ca759
Pin mesh-sdk at feat/r4g's head c3915ffb, the merge of lane B's layouts, so every r4g module builds against one SDK
...
go.sum gains its lines from go mod tidy once mesh-sdk feat/r4g is pushed.
2026-10-23 16:01:15 +02:00
jschoubben
2227e7a81f
Merge branch 'feat/r4g-view' into feat/r4g
2026-10-23 15:59:55 +02:00
jschoubben
173178df86
Merge branch 'feat/r4g-assigner' into feat/r4g
2026-10-23 15:59:55 +02:00
jschoubben
9f27e2b1f8
Build each build module's part of a fingerprint as one ask on its seat's stream, named in the key before it is put, so the builder chooses no node, holds no capacity and never asks twice (issue 1887 A4a, A4b, A4c, ADR 0525 §1-§6)
2026-10-23 15:57:03 +02:00
jschoubben
d5868c178f
Take the words of a module the change removes from mesh-sdk in the indexer and the assigner, so the assigner's reading of a removal cannot drift from what the indexer writes (issue 1297, B3b)
2026-10-23 15:44:00 +02:00
jschoubben
7cbb1c4207
Wait for the assigner's composition only while the assigner is online, say at once that it is not judged when it is not, and take it in when the assigner writes it later, so no check waits its bound for a composition nobody makes (issue 1297, B3d)
2026-10-23 15:44:00 +02:00
jschoubben
4c98841d2a
Judge a repository the mesh knows no module of with both build modules, so mesh-lab's nested Go modules and its npm test both run (issue 1887 A12)
2026-10-23 15:41:57 +02:00
jschoubben
c9ee92a4ab
Pin the assigner and the checker to the SDK commit that holds the assigner's ask value, so both build on the layouts the view reads (issue 1297, subtask B1c)
2026-10-23 15:39:49 +02:00
jschoubben
0f7091e4ac
Place the change's own repository beside it at its trunk, so a shrink-only list test compares with the trunk's copy at $MESH_CHECK_BESIDE/<name> (issue 1887 A12, ADR 0529 §2)
2026-10-23 15:35:37 +02:00
jschoubben
ed98a7519e
Write every difference between a want and what the controller sends, and delete one that ended, so the view and acceptance test 17 read them on the bus (issue 1297, subtask B5b; ADR 0528 clause 4)
2026-10-23 15:31:11 +02:00
jschoubben
d7ba5aa91e
Compare each node's want with the fingerprint of the build the controller sends it, explaining a difference by the rule that holds the want back or saying it unexplained (issue 1297, subtask B5a; ADR 0528 clause 4)
2026-10-23 15:30:31 +02:00
jschoubben
016385751d
Write each node's want by the six rules, the canary the first online node by name, and hold a fingerprint whose health failed with its nodes set back, so R5's wants can be compared with what the controller sends (issue 1297, subtasks B4a-B4b; ADR 0429 §6, ADR 0528 clauses 1 and 3, ADR 0435 §3)
2026-10-23 15:29:57 +02:00
jschoubben
5091cab652
Read the assigner's composition into the checker's verdict in place of 'not yet run', failing a check whose composition failed, naming its machine (issue 1297, subtask B3d; ADR 0528 clause 5)
2026-10-23 15:27:59 +02:00
jschoubben
d8599855e1
Compose the machines a change touches, from the trunk's and the change's manifests and the controller's assignments on the bus, and write the verdict under the checker's key; what needs the facts snapshot is said as not judged (issue 1297, subtasks B3a-B3c; ADR 0446 clauses 1-3, ADR 0528 clause 5, ADR 0482 clause 3 as R4g delivers it)
2026-10-23 15:25:22 +02:00
jschoubben
57258b6fa4
Take the assigner's ask in the SDK's layout and name the asking in the view's answer, so a stale answer never fills a later asking (issue 1297 B9 and B10)
2026-10-23 15:22:32 +02:00
jschoubben
c2b7b8867e
Start the assigner whole on an embedded bus in an integration test: it says its three states and refuses to start without a bucket it reads (issue 1297, subtask B2b)
2026-10-23 15:19:49 +02:00
jschoubben
a48279b31a
Fill an assigner ask's answer from the view's answer under its view key, once and never for an ask that needs proof (issue 1297 B10)
2026-10-23 15:19:37 +02:00
jschoubben
034a6de9a7
Make the module mesh-delivery-assigner: its manifest's reads and states, its own credential and the states it announces, so the controller grants it what R5 reads (issue 1297, subtask B2a; ADR 0528, ADR 0429 §1)
2026-10-23 15:19:06 +02:00
jschoubben
e7ed48b81a
Give the command an answer verb, so the operator answers a hold or restore ask from a terminal as in the page (issue 1297 B9b)
2026-10-23 15:18:04 +02:00
jschoubben
f7dd4ab586
Let the view answer the assigner's asks that need no proof, under the ask's view key, and refuse the merge's Approve on the phone's behalf (issue 1297 B9a)
2026-10-23 15:17:40 +02:00
jschoubben
57b0030258
Show every difference between the assigner's wants and the controller's sends with its rule, so the operator sees what holds a node back (issue 1297 B8)
2026-10-23 15:15:32 +02:00
jschoubben
4ffe5f4d52
Start a never-judged head's check before the re-judges a trunk move asks, oldest first (issue 1897 S1)
...
mesh/delivery-group group feat/fastcheck delivered: every member is delivered
mesh/check checking 4ffe5f4d5243 on 85aca46348a0 | novox/mesh-delivery#25 in group feat/fastcheck
A new pull request waited 25 to 45 minutes behind every open pull request's re-judge after a
merge. The semaphore becomes a ranked admission (ADR 0536 §4); checker_status names the
waiting checks by kind.
2026-10-23 14:09:42 +02:00