jschoubben
7ef796b04b
Format the assigner's integration test (issue 1906)
mesh/delivery merged: source.main moved to novox/mesh-delivery@97e605edb0ad
mesh/check pass 7ef796b04b92 on 97e605edb0ad | unit 154 run, 404 kept | integration 164 run, 469 kept | composition passed on 2 machines
2026-10-25 14:16:58 +01:00
jschoubben
ec93585736
Ask a hold again after a restart, leave a merge ask room, take an answer only for its asking (issue 1906, review)
...
A hold written again after a lift and a restart reused its first ask id, which
the router drops; the hold's time is now its asking. Seven holds could take the
router's three places for the teller and keep a merge Approve from being asked;
the teller keeps at most two assigner asks open. A release or keep answered for
one hold carried over to a later hold of the same fingerprint; an answer now
counts only for the asking its warrant names.
2026-10-25 14:15:44 +01:00
jschoubben
6b63f13da6
Raise the assigner's asks on the operator channel, lift a hold once every node runs it healthy, keep the hold's cause (issue 1906)
...
Seven modules stayed held on every machine and the operator was never asked:
the teller only filled assigner asks from the view, a single failed check held
a fingerprint for good, and the held record kept no cause. The teller now asks
every assigner ask as it asks merge asks and writes the phone's answer under
the ask's key; the assigner lifts a hold whose fingerprint runs healthy on
every node that runs the module, says so once and takes its ask back; the held
record names health, phase, when and the node's words.
2026-10-25 14:06:58 +01:00
jschoubben
3e863884fd
gofmt the passer's fields after main's merge
mesh/delivery-group group feat/r6 merged: every member is merged
mesh/delivery delivering: 0 machine step(s) passed
mesh/check checking 3e863884fda8 on 650a06ceab1d | novox/mesh-delivery#38 in group feat/r6
2026-10-24 23:33:59 +02:00
jschoubben
c21bed20a3
Pin mesh-sdk to feat/r6 748c564, which carries main's composer (issue 1943)
2026-10-24 23:06:02 +02:00
jschoubben
aa31e85665
Merge main into feat/r6: keep R4g's composer at a group's mesh-sdk head beside R6's wants and asks
...
The assigner reads mesh-controller.builds again (the composer's runningCommits reads the build record of every open
assignment), puts its compose asks on node-build-go and says its conditions on operator-channel.
2026-10-24 23:03:42 +02:00
jschoubben
36a1fd197f
The switch exception skips the record hold only for a composition the controller judges unchanged; pin mesh-sdk d7a9b96 (issue 1906, ADR 0540 §9)
2026-10-24 21:18:48 +02:00
jschoubben
9a5b3d4881
Pin the assigner, watchman and view to mesh-sdk feat/r6 7f9cc0e (issue 1943)
2026-10-24 20:43:46 +02:00
jschoubben
e263049551
Right after the switch a node running F with a have that names no composition is given its want at F with no record hold, the bus included (issue 1906, review round 2 N1)
2026-10-24 20:35:17 +02:00
jschoubben
0f7bc9f531
Pin the assigner, watchman and view to mesh-sdk feat/r6 e45bdc0 (issue 1943)
2026-10-24 20:21:57 +02:00
jschoubben
8280506cee
Start the world's change counter, which the pass of a held backup reads (issue 1906, review round 1)
2026-10-24 18:22:22 +02:00
jschoubben
3b00f3890d
Review round 1: a user-list-only revision of the bus is written at once at the fingerprint it runs, before the record hold; pin mesh-sdk a523a8c (issue 1906)
2026-10-24 18:17:25 +02:00
jschoubben
fcac03a4f2
Review round 1: the bus with no want is compared with its have; a backup ask is bound to its composition and number and each answer is a distinct want value; the view reads wants and haves, with dotted module names (issue 1906)
2026-10-24 18:15:13 +02:00
jschoubben
14c20b21ee
Pin the assigner, watchman and view to the head of mesh-sdk feat/r6 (issue 1943)
2026-10-24 17:52:44 +02:00
jschoubben
37a5ab8f1c
A node that runs a module of policy record with no want yet is asked like any other, not treated as one that never ran it (issue 1906 D4)
2026-10-24 16:43:01 +02:00
jschoubben
55f19283f4
Do not wait twice at the cleanup for an assigner that ended on its own, which made the refused-start test take ten seconds a bucket
2026-10-24 16:42:28 +02:00
jschoubben
e7a3ff1e7e
The record policy is the one the controller holds beside the composition, the operator's own choice included; pin mesh-sdk 64a502d (issue 1906 D4, ADR 0539 §14)
2026-10-24 16:41:58 +02:00
jschoubben
04c2c60f02
The assigner acts on answers: a release writes the held want again, a backup answer goes into the node's want, a record move waits for its yes, a restore answer sets a data module back (issue 1906 D4)
2026-10-24 16:37:37 +02:00
jschoubben
0df20b5d77
The assigner's seventh rule: a want names the digest of its composition and waits for it; a revision at the same fingerprint is a new want; the node's own want (issue 1906 D2, ADR 0539 §6)
2026-10-24 16:33:48 +02:00
jschoubben
806c8bf0e4
Pin the assigner, watchman and view to mesh-sdk's release 6 head (issue 1943 S3) and give their test wants a composition digest
2026-10-24 16:32:09 +02:00
jschoubben
12b01badb0
Prove the assigner replaced mid-pass resumes with nothing lost or written again (issue 1906 D8)
2026-10-24 16:27:34 +02:00
jschoubben
7b18696cd5
Give the data module's test manifest the directory and backup the catalogue asks of an irreplaceable item
2026-10-24 16:26:43 +02:00
jschoubben
204a59dab4
The assigner asks whether to restore a data module whose held fingerprint failed its health check, and raises the condition for a held fingerprint (issue 1906 D3)
2026-10-24 16:26:20 +02:00
jschoubben
024a3787da
End the assigner's comparison with the send: the controller sends nothing to compare with, so the differences bucket is kept read-only (issue 1906 D5, ADR 0539 §8)
2026-10-24 16:20:43 +02:00
jschoubben
18b522184f
Read a change's manifest as the indexer reads it, so a fallback to a predefined key is not unreadable for the catalogue's predefined.json the assigner never holds: a group touching pacman or xterm failed its composition on it (ADR 0348 §7, issue 1751)
mesh/check pass 18b522184f73 on fa46e7df7dd1 | unit 128 run, 375 kept | integration 138 run, 426 kept | composition passed on ace
2026-10-24 15:03:14 +02:00
jschoubben
1d4dcdf41a
Read a change's manifest as the indexer reads it, so a fallback to a predefined key is not unreadable for the catalogue's predefined.json the assigner never holds (ADR 0348 §7, issue 1751); pin mesh-sdk bfc3883a
mesh/delivery-group group feat/r4g-finish rejected: composed together: the checker's verdict at the members' heads (171a15384fa1): shanks
mesh/delivery superseded: a newer head of the same pull request
mesh/check checking 1d4dcdf41a22 on 4c1d36c9cd7f | novox/mesh-delivery#35 in group feat/r4g-finish
2026-10-24 14:57:36 +02:00
jschoubben
f5fd74380c
Pin to the group's new mesh-sdk head 19c1d359, whose composer names the reader's pinned SDK instead of a bare (devel) (ADR 0482 clause 5)
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: shanks: novox/mesh-delivery#35: modules/mesh-delivery-assigner/go.mod names mesh-sdk 19c1d35939bc, which is neither on mesh-sdk's t…
2026-10-24 14:12:10 +02:00
jschoubben
e78bbfbdee
Pin the assigner to the group's mesh-sdk head after main's merge, so it composes with the SDK the group delivers
mesh/delivery-group group feat/r4g-finish rejected: a member's own check failed
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: shanks: novox/mesh-delivery#35: modules/mesh-delivery-assigner/go.mod names mesh-sdk bc0c25e51052, which is neither on mesh-sdk's t…
2026-10-24 13:28:42 +02:00
jschoubben
4702c6bd77
Pin to the finish group's mesh-sdk head dd0d156b, so every member names one SDK (issue 1622)
2026-10-24 04:28:15 +02:00
jschoubben
c256d732f4
Pin the assigner to mesh-sdk's head that reads a composer request from a file (issue 1622)
2026-10-24 04:14:33 +02:00
jschoubben
93427c08e7
Ask the Go build seat for the composer at a group's mesh-sdk head and at its readers' mesh-sdk, and follow each step (issues 1622, 1623)
2026-10-24 03:57:51 +02:00
jschoubben
c58342786f
Judge a group with a mesh-sdk member from the composer at its head, and fail a field its readers cannot read (issues 1622, 1623)
2026-10-24 03:57:51 +02:00
jschoubben
a31bd7d4a5
Give the assigner test's candidate the SDK's fingerprint set, which the SDK refuses without (issue 1927)
2026-10-23 22:57:05 +02:00
jschoubben
fad96ae67b
Pin mesh-sdk at feat/r4g's head a2c813a6, its test fixture fix, with go.sum tidied
mesh/delivery superseded: a newer head of the same pull request
mesh/check failed: unit: git.novox.be/novox/mesh-catalog/checks/config.TestTheUnmovedListHoldsNoModuleTheTrunksDoesNot: realtree_test.go:14: mesh-cata…
2026-10-23 17:06:09 +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
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
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
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
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
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
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
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
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
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
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
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