jschoubben
30ca8a22bc
List holds and let the operator release or keep one again from mesh-delivery-cli (issue 1906)
...
A hold answered keep on the phone could not be changed: its ask ended with the
answer, nothing listed it, and a kept hold is never lifted by itself. The view
lists every hold with its node, cause and answer (mesh-delivery-cli holds) and
answers the standing hold ask with hold-release or hold-keep through its one
write; the teller takes a later view answer that changes a hold's option into
the answer of that asking, never an older one.
2026-10-25 15:09:40 +01:00
mesh-tools
97e605edb0
Merge pull request 'Raise the assigner's asks on the operator channel, lift a hold once every node runs it healthy, and keep its cause (issue 1906)' ( #40 ) from fix/r6-hold-asks into main
2026-10-25 13:27:29 +00:00
jschoubben
7ef796b04b
Format the assigner's integration test (issue 1906)
mesh/check pass 7ef796b04b92 on 97e605edb0ad | unit 154 run, 404 kept | integration 164 run, 469 kept | composition passed on 2 machines
mesh/delivery merged: source.main moved to novox/mesh-delivery@97e605edb0ad
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
2268f94ef2
Merge pull request 'The view lists a node's own want among the assigner's wants (issue 1945)' ( #39 ) from fix/r6-node-composition into main
...
Reviewed-on: #39
2026-10-25 00:18:11 +00:00
jschoubben
48aaecf556
List a node's own want among the assigner's wants, never as unreadable (issue 1945)
mesh/check checking 48aaecf556c5 on 650a06ceab1d | novox/mesh-delivery#39 in group fix/r6-node-composition
mesh/delivery-group group fix/r6-node-composition held: a member is held: novox/mesh-sdk@10b6e202320f (merged without a passing check: only a person decides wh…
mesh/delivery held for a person: merged without a passing check: only a person decides what follows
2026-10-25 01:50:00 +02:00
jschoubben
650a06ceab
Merge pull request 'R6: the assigner writes wants by rule 7 with the composition digest; the watchman and the view follow wants and haves (issue 1906)' ( #38 ) from feat/r6 into main
...
Reviewed-on: #38
2026-10-24 23:17:46 +00: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
171bddacab
Merge pull request 'R4g finish: the composer as a job on node-build-go's check stream, merge-check.sh gone, reads-outside markers (issues 1295, 1621-1623, 1935)' ( #35 ) from feat/r4g-finish into main
...
Reviewed-on: #35
2026-10-24 20:57:15 +00:00
jschoubben
65496fc4f7
Merge main into feat/r4g-finish, keeping #37 's same-branch mesh-sdk pin rule beside the node-engine check's controller placing (issue 1295)
mesh/delivery-group group feat/r4g-finish merged: every member is merged
mesh/check checking 65496fc4f7a6 on 171bddacabe2 | novox/mesh-delivery#35 in group feat/r4g-finish
2026-10-24 21:54:46 +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
da31740f00
The view's motion events carry the time they are about and call a held or past-bound module stopped, as the messenger reads them (issue 1906 D10)
2026-10-24 18:31:29 +02:00
jschoubben
a3815051cc
The view says modules in motion: moving, settled and stuck, once for a node, a module and a composition (issue 1906 D10, for the messenger)
2026-10-24 18:27:01 +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
333e0cd07d
The checker reads a kept manifest as the indexer and the assigner do, so a value falling back to a predefined key is not logged unreadable (issue 1906, issues 1751 and 1921 class)
2026-10-24 17:42:24 +02:00
jschoubben
03e5951dc5
Merge remote-tracking branch 'origin/main' into feat/r6
2026-10-24 17:41:53 +02:00
mesh-tools
4c1d36c9cd
Merge pull request 'A try accepts a mesh-sdk pin that is the head of mesh-sdk's branch of the same name, so a group's members can be tried before its pull requests (issue 1921)' ( #37 ) from fix/1921-try-same-branch-pin into main
2026-10-24 15:37:07 +00:00
jschoubben
37d0ebba7a
Let the view's manifest test read the emits key the delivered event adds
2026-10-24 16:47:33 +02:00
jschoubben
86fd0bbe96
The view says its event delivered once for each source revision whose wants and haves are all there (issue 1906 D9, for issue 1946)
2026-10-24 16:47:09 +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
991589fdd2
A try of a branch accepts a mesh-sdk pin at the head of mesh-sdk's branch of the same name, so a milestone's repositories can be tried before their pull requests (issue 1921)
mesh/check checking 991589fdd20a on 4c1d36c9cd7f
2026-10-24 16:41:39 +02:00
jschoubben
f947070b7b
The view shows the controller's judgement of the move beside each want (issue 1906 D7, ADR 0539 §14)
2026-10-24 16:38:24 +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
f048e2b443
The view shows each want beside the have of its node, and a source revision's derived state, in place of the comparison with sends (issue 1906 D7)
2026-10-24 16:23:51 +02:00
jschoubben
9d2e9dc6c9
The watchman mirrors each want of the assigner as a pulse owed by the node's agent until the have names its fingerprint (issue 1906 D6)
2026-10-24 16:22:02 +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
4fd6b934c8
Read the assigner's wants, differences and the haves with tools, so the gap between wants and sends can be read live (issue 1906 D1)
2026-10-24 16:19:42 +02:00
mesh-tools
fa46e7df7d
Merge pull request 'The assigner reads a change's manifests as the indexer does, so a value falling back to a predefined key no longer fails every composition touching it' ( #36 ) from fix/assigner-predefined-fallback into main
2026-10-24 14:09:58 +00: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/check checking 1d4dcdf41a22 on 4c1d36c9cd7f | novox/mesh-delivery#35 in group feat/r4g-finish
mesh/delivery superseded: a newer head of the same pull request
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
ce7dcccb1d
Merge main into feat/r4g-finish ( #33 , #34 )
2026-10-24 13:26:24 +02:00
jschoubben
42d880f075
Merge pull request 'Count a node's toolchain report only while its build module is assigned there, so a removed node no longer makes builders disagree (issue 1940)' ( #34 ) from fix/1940-stale-toolchain into main
...
Reviewed-on: #34
2026-10-24 11:10:45 +00:00