jschoubben
b83af04f0c
Read an ask's stream at take-over by its name, as the broker grants it, and wait for the ask when that read fails rather than fail a key whose build may still finish (issue 1910)
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: novox: novox/mesh-catalog#464: checks/health/go.mod names mesh-sdk a9560890ee26, which is neither on mesh-sdk's trunk nor the group…
2026-10-23 16:59:37 +02:00
jschoubben
c7bddbbeab
Bound a running build step's pulse by the step's own bound from its start, since nothing rewrites the key while it runs (issue 1908)
2026-10-23 16:58:26 +02:00
jschoubben
d3561923aa
Say the unit level's gofmt and go vet time in the check's line, and pin the group's mesh-sdk head that carries it (issue 1887 D7-go, review round 2 item 5)
2026-10-23 16:51:55 +02:00
jschoubben
d32ec6b7f8
Say what the builder, the indexer and the watchman do since R4g in their comments: no build-agent is asked, no build record moves a fingerprint, no checks-running bucket is mirrored (issue 1887, review round 2 item 6)
2026-10-23 16:47:36 +02:00
jschoubben
52d8b9b753
Say in the checker's status that a check without a verdict waits in a build seat's stream, not behind a plan key or a capacity, as A5b left it (issue 1887, review round 2 item 4)
2026-10-23 16:47:20 +02:00
jschoubben
ce51457974
Prove on the real bus that a builder started again while its asks waited puts no second ask (issue 1887 AC3, review round 2 item 2)
2026-10-23 16:46:58 +02:00
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
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
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