jschoubben
7f9cc0e55c
Keep plan-moved and sent among the controller seat's events until the catalogue's main consumes them no more (issue 1943)
...
The controller's broker tests read the catalogue's main, whose gate and messenger still consume plan-moved; nothing
emits them (ADR 0539).
2026-10-24 20:38:24 +02:00
jschoubben
e45bdc0891
Drop plan-moved and sent from the controller seat's events (issue 1943; the review's notes on 1945)
...
No plan is kept or sent in release 6 (ADR 0539), and the messenger now hears the delivery view's events instead.
2026-10-24 20:20:48 +02:00
jschoubben
a523a8cbb0
Say beside a composition that it changes only the bus's user list (issue 1943; the review's A2, for issue 1906)
...
A revision that changes only the user list is written into the bus node's want at once, outside the record hold
(ADR 0539 clause 7), so the assigner must tell it apart from a move that recreates or moves data.
2026-10-24 18:15:32 +02:00
jschoubben
5da87a0dda
Let the controller say a bucket it deleted at its first start (issue 1943; for issue 1945, B13)
...
ADR 0539 clause 13 has the controller delete the plan-state buckets once and say each as its event.
2026-10-24 17:03:54 +02:00
jschoubben
e64486b0e6
Sign a composition through a signer that keeps its private half (issue 1943, S5)
...
The controller's identity store signs a message and never hands its key out, as it signed declarations.
2026-10-24 16:42:41 +02:00
jschoubben
64a502d16a
Carry the module's upgrade policy and its source beside a composition's judgement (issue 1943; for issue 1906)
...
The assigner holds a move of a module of policy record, and only the controller knows a person's own choice of
policy (ADR 0539 clause 14).
2026-10-24 16:40:45 +02:00
jschoubben
de5b33843f
Run the captured declarations' test per node in parallel, inside the unit level's bound (issue 1943)
2026-10-24 16:36:42 +02:00
jschoubben
d8da8f1d36
Sign a composition with a trusted key and compose one by hand with mesh-compose (issue 1943, S5)
...
The node-engine applies only a composition signed by the controller or the operator, and when the controller cannot
compose its own fix the operator composes, signs and writes one at the terminal (ADR 0539 clauses 3 and 10).
2026-10-24 16:36:14 +02:00
jschoubben
d506f2196a
Refuse the plan verbs by name on the controller and delivery seats (issue 1943, S4)
...
With no delivery plan nothing starts, stops, retries or reads one; each removed verb stays a row with no input so a
caller is told its replacement, optional on the delivery seat so the gate of before and of release 6 both hold it
(ADR 0539 clauses 15, 17 and 18).
2026-10-24 16:32:11 +02:00
jschoubben
d6cef5829b
Have a want name its composition and a backup answer; give the node its own want, the seventh rule, the held phase and the backup and record asks (issue 1943, S3)
...
The node agent applies only the composition its want names, and the assigner writes a want only once that
composition exists (ADR 0539 clauses 1, 6, 14 and 16).
2026-10-24 16:29:24 +02:00
jschoubben
826fd73cf2
Give a composition its value, its canonical digest and its files by digest; key a dotted module escaped (issue 1943, S2; issue 1150)
...
A node applies one module's composition at a time, so each carries only its own module's resources, checked
resource by resource as the node-engine reads them, and its digest follows its content alone (ADR 0539 clauses 1
and 4). The fixtures are the controller's plan answers for ace and g14, their sealed resources taken out.
2026-10-24 16:26:32 +02:00
jschoubben
aee971c198
Name a node's composition bucket, its keys, and the digest with the move's judgement beside it (issue 1943, S1)
...
The controller writes one module's composition per node and fingerprint, and the assigner reads its digest and
judgement before it writes a want (ADR 0539 clauses 1, 2 and 14).
2026-10-24 16:21:02 +02:00
jschoubben
8c6e18e822
Merge pull request 'Give the controller seat the verb held and the event artifacts-gone (issue 1937)' ( #76 ) from fix/1937-done-key-blobs into main
...
Reviewed-on: #76
2026-10-24 10:35:07 +00:00
jschoubben
34f210e5eb
Give the controller seat the verb held and the event artifacts-gone, so the builder rebuilds a done key whose blob the artifact store no longer holds (issue 1937)
...
mesh/delivery-group group fix/1937-done-key-blobs closed: a member was closed before the group merged
mesh/check pass 34f210e5eba1 on e1f393bbb12e | unit 202 run, 3523 kept | integration 2223 run, 2682 kept, 7 skipped | over bound: unit, integration (s…
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792875397682979170 (novox/mesh-sdk at 312878be into main, done, …
The store's nightly collector deletes every bare blob no manifest names, and a done key the controller never took in holds
nothing: node-tools, mesh-host and the forge bridge kept done keys naming blobs that answer 404. held lets the builder ask
before it reuses a key; artifacts-gone is said when a take-in finds a gone blob. delivery/held.go is the shared contract.
2026-10-24 04:07:22 +02:00
jschoubben
e1f393bbb1
Merge pull request 'Raise @novox/mesh-sdk to 0.1.17, and a unit test refuses a packed change that keeps its version (issue 1899, met twice)' ( #75 ) from fix/1899-version-guard into main
...
Reviewed-on: #75
2026-10-23 22:35:42 +00:00
jschoubben
35e86b00d3
Raise @novox/mesh-sdk to 0.1.17 and guard that a changed package carries a new version (issue 1899)
mesh/check checking 35e86b00d3f0 on e1f393bbb12e
2026-10-24 00:15:27 +02:00
jschoubben
53a1de2aaa
Merge pull request 'A level's digest is stored as a list, and an end the state refuses is said, so a check of a repository with a package named token ends (issue 1930, with mesh-catalog and mesh-delivery)' ( #74 ) from fix/1930-digest-shape into main
...
Reviewed-on: #74
2026-10-23 22:08:06 +00:00
jschoubben
403a5d72ab
Keep a level's digest as a list and say an end the state refuses, so a check of a repository with a package named token ends (issue 1930)
...
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792794944815912745 (novox/mesh-sdk at e1f393bb into main, don…
mesh/check pass 403a5d72ab93 on 1ff6d339780c | unit 4545 run, 2097 kept, 13 skipped | integration 4595 run, 2188 kept, 21 skipped | over bound: unit, …
mesh/delivery-group group fix/1930-digest-shape merged: every member is merged
A check ask's answer kept the digest's packages as a map keyed by Go import path;
the node runtime refuses a state value with a field ending in a credential word,
so the end of any check of mesh-controller (internal/token) was never written and
the ask was acked anyway. The level's digest is now delivery.LevelDigest, packages
a sorted list of {package, digest}, reading the old map form too. finish logs an
end refused every time, writes a small failed end naming the write's error, and
the puller gives the ask back instead of acking it when no end could be written.
2026-10-23 23:32:00 +02:00
jschoubben
1ff6d33978
Merge pull request 'R4g+R5 (mesh-sdk): asks on the build seats' streams, the assigner's layouts, mesh-pack (design 47, ADR 0524-0530, 0537)' ( #73 ) from feat/r4g into main
...
Reviewed-on: #73
2026-10-23 17:48:34 +00:00
jschoubben
a2c813a6b4
Stand in node-tools beside the toolchain modules in the composition test, as the catalogue's build modules require it since issue 1911, so the test judges the toolchain alone (issue 1887, group check of #73 )
mesh/delivery covered after its failure: a later walk that contains it was delivered: plan-1792794944815912745 (novox/mesh-sdk at e1f393bb into main, don…
mesh/delivery-group group feat/r4g merged: every member is merged
mesh/check checking a2c813a6b468 on 07462c4caa12 | novox/mesh-sdk#73 in group feat/r4g
2026-10-23 17:03:21 +02:00
jschoubben
a9560890ee
Name the unit level's lint time in a verdict's times, so the check's line can say what gofmt and go vet cost (issue 1887 D7-go, review round 2 item 5)
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: g14: fetch of novox/mesh-catalog#464: build_go_fetch on g14: the step g14.mvl3o921790ccf failed: go mod verify in checks/config: ch…
2026-10-23 16:50:22 +02:00
jschoubben
bec9585d50
Run an ask no more once its stream delivered it past AskRuns, failing its step with why, so a run that kills its node is not offered to each build node in turn (issue 1907)
2026-10-23 16:41:12 +02:00
jschoubben
fc4f57c4b3
Restart an ask's bound at each run's start, also on the same node, so a step redelivered after its build module was replaced is not cut by the killed run's time (issue 1887, review: issue 734 path; ADR 0525 §6)
2026-10-23 16:36:46 +02:00
jschoubben
88fa74ce5e
Bound an ask's step from its start on the node that took it, not from its put, so an ask waiting in its stream during a large rebuild is never failed and asked twice (issue 1887, review round 2 item 1; ADR 0525 §3, §6)
2026-10-23 16:32:21 +02:00
jschoubben
9205222a98
Merge branch 'feat/r4g-fallback' into feat/r4g
2026-10-23 16:19:25 +02:00
jschoubben
285566eed1
Merge branch 'feat/r4g-scripts' into feat/r4g
2026-10-23 16:19:25 +02:00
jschoubben
51756ee9a4
Merge branch 'feat/r4g-asks' into feat/r4g
2026-10-23 16:19:24 +02:00
jschoubben
d7375c9811
Add mesh-pack: a hand build with the build module's recipe and mesh-sdk's own pack (F1)
2026-10-23 16:12:23 +02:00
jschoubben
232ded26ea
Delete both merge-check scripts; the type check runs before npm test (issue 1295, S8; ADR 0529)
...
gofmt and vet are the Go build module's, the unit bound the checker's.
2026-10-23 16:10:46 +02:00
jschoubben
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)
2026-10-23 16:04:01 +02:00
jschoubben
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)
2026-10-23 15:59:15 +02:00
jschoubben
c3915ffb11
Merge branch 'feat/r4g-assigner' into feat/r4g
2026-10-23 15:58:11 +02:00
jschoubben
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)
2026-10-23 15:44:57 +02:00
jschoubben
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
...
Reviewed-on: #72
2026-10-23 13:44:13 +00:00
jschoubben
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)
2026-10-23 15:43:59 +02:00
jschoubben
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)
2026-10-23 15:41:55 +02:00
jschoubben
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)
2026-10-23 15:38:03 +02:00
jschoubben
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)
2026-10-23 15:30:32 +02:00
jschoubben
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)
2026-10-23 15:29:05 +02:00
jschoubben
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)
2026-10-23 15:23:03 +02:00
jschoubben
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)
2026-10-23 15:22:25 +02:00
jschoubben
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)
2026-10-23 15:20:58 +02:00
jschoubben
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)
2026-10-23 15:20:27 +02:00
jschoubben
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)
2026-10-23 15:19:41 +02:00
jschoubben
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)
2026-10-23 15:17:18 +02:00
jschoubben
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)
2026-10-23 15:16:46 +02:00
jschoubben
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)
2026-10-23 15:15:57 +02:00
jschoubben
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)
2026-10-23 15:12:40 +02:00
jschoubben
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)
2026-10-23 15:11:44 +02:00
jschoubben
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)
2026-10-23 15:11:39 +02:00