fd023f7473
Merge pull request 'Milestone 47 G: mesh-host's part of the one release' (#228) from feat/47-G-join12 into main
main
mesh-tools2026-11-13 13:09:29 +00:00
d63aae1d55
Merge main into feat/47-G-join11: the node-engine's if-config, config-lines, config-json and stop at a failure (issue 1979)
jschoubben2026-11-13 09:10:44 +01:00
f8acfaeed7
Merge pull request 'The node-engine stops a module's apply at its first failed resource, and reads if-config, config-lines and config-json (issue 1979)' (#227) from feature/1979-zfs-owns-zfs into main
mesh-tools2026-11-13 08:00:43 +00:00
0a9d1efe89
Merge main into feat/47-G-join11 (G takes in main before its push)
jschoubben2026-11-13 02:16:56 +01:00
96a8690639
Fix 1979: mib-bytes writes the bytes as a whole number for every size
jschoubben2026-11-13 01:32:36 +01:00
7868c9f365
Fix 1979: ${config-json} writes only the keys the module declares under config
jschoubben2026-11-13 01:32:27 +01:00
225f2abb1f
H5 engine-integration: the node-engine whole applies if-config, config-lines and a module's stop at a failure
jschoubben2026-11-13 00:24:20 +01:00
61806a7a92
H4 engine-states: the node record states the new words and forms
jschoubben2026-11-13 00:22:48 +01:00
61c42f9fbc
H3 engine-config-lines, H3b engine-config-json: a template writes lines from a config value and the config as JSON
jschoubben2026-11-13 00:22:22 +01:00
86048f0ed9
H2b engine-found-handed: the found state of a unit passes to the record that stays
jschoubben2026-11-13 00:20:59 +01:00
039415cdd9
H2 engine-if-config: a resource is declared only while a config value holds
jschoubben2026-11-13 00:19:17 +01:00
fb492da7e7
H1 engine-stop-at-failure: a module's apply stops at its first failed resource
jschoubben2026-11-13 00:17:11 +01:00
a12417fc13
Remove the real sleep from the recovery integration test
jschoubben2026-11-12 23:44:02 +01:00
8656e57eb9
Test 36: the recovery wiring is driven through the node agent by a revert want of db
jschoubben2026-11-12 23:39:39 +01:00
650910dc9e
R3-3: the node's own composer has no path without an entry call; its tests compose from the catalog half
jschoubben2026-11-12 23:33:31 +01:00
321a0744d8
H9 test: entry-again takes a shadow's not-found entry in
jschoubben2026-11-12 23:13:57 +01:00
860ccd7e30
H9: an entry asked again by hand is asked again in the shadow's cache too, so a candidate waits no longer on a not-found it holds
jschoubben2026-11-12 23:12:41 +01:00
23799a30ed
R3-1, R3-2, R3-3: the node-engine reads no build of the builder; the shadow builds from the entry it holds
jschoubben2026-11-12 23:05:06 +01:00
e558510a54
H5 (review r2, A-308, A-312): the shadow watches no indexer modules; it reads the entries its wants name and asks the verb module for a module a candidate adds
jschoubben2026-11-12 22:28:15 +01:00
1d409cd852
H3 (review r2): the entries test waits on the refusal the composer says until the ghost's reason is entry-missing
jschoubben2026-11-12 22:24:38 +01:00
302dcc098f
H4 (review r2, A-307): the node-engine's manifest names no uses; its invoke of seat:mesh-grants.withheld is the edge
jschoubben2026-11-12 22:16:40 +01:00
3167f0104f
H1 (review r2): the foundation host is the entry that claims the seat node-engine, not a module named mesh-host
jschoubben2026-11-12 22:16:27 +01:00
0193949efe
Merge pull request 'The own resolver's test reads the options from the catalog's template (issue 1748, ADR 0678)' (#225) from fix/1748-resolver-wait into main
mesh-tools2026-11-12 17:52:54 +00:00
8dc186944e
fix-1748-host-test: the own resolver's test reads the options from the catalogue's template
jschoubben2026-11-12 18:10:28 +01:00
905265a56b
J25 A-293: a placed module's failed newest build said as refused in by-entries mode, on the builder's build-ended event
jschoubben2026-11-12 17:20:30 +01:00
4ef07521eb
Merge origin/main into the join: a placed module's failed build said as refused
jschoubben2026-11-12 17:00:32 +01:00
a9b9709911
J23 A-292: a node seat event the bus did not take is said again on the same link
jschoubben2026-11-12 16:57:36 +01:00
df1412081b
Merge pull request 'The node-engine says a placed module's failed build as refused, so the provisioner stops waiting on it (issue 1966)' (#224) from fix/1966-unpublished-placed-module into main
mesh-tools2026-11-12 15:34:23 +00:00
8e993c759a
H1 refused-at-failed-build: a placed module whose newest build failed is published as a refusal
jschoubben2026-11-12 15:53:48 +01:00
0c37ac378c
Join 11: the node seat's discovery test names the engine's own module, not a fixed one
jschoubben2026-11-12 14:13:34 +01:00
d18bf8b3fd
The node-engine's seat reader reads invokes in both forms and refuses a form it cannot read
jschoubben2026-11-12 11:07:38 +01:00
bef467febe
H-revert: the node agent starts a held revert on the live data when its want says revert live
jschoubben2026-11-12 09:42:32 +01:00
a1a328c43e
Merge commit 'a3fea910' into feat/47-G-fix11-hrevert
jschoubben2026-11-12 09:39:24 +01:00
77e6e48ecd
AM-H1: the node-engine's composition names the withheld subjects, read through mesh-grants' withheld
jschoubben2026-11-12 06:26:10 +01:00
8734d5ee1a
AM-D3 path: the node-engine takes the runner's reading and fingerprint into the node's record
jschoubben2026-11-12 06:06:16 +01:00
a3fea9106a
H-find: the findings keep the keys the watchman raised them under
jschoubben2026-11-12 06:02:07 +01:00
4b215ba6ae
H-find: the node-engine raises what only it knows of itself as its own findings
jschoubben2026-11-12 06:00:42 +01:00
4021de1d42
HRUN: mesh-compose reads its pipeline input from MESH_RUN_INPUT
jschoubben2026-11-12 05:44:53 +01:00
9afb287b9d
Merge branch 'feat/47-G-fix11-a1' into feat/47-G-fix11-hrun
jschoubben2026-11-12 05:43:50 +01:00
c2710f52dd
MV1: move contracts and sdk under modules/, importers follow
jschoubben2026-11-12 05:09:56 +01:00
a3b646b3c9
H-24: the node-engine's hold tests are one test of cases, below main's count
jschoubben2026-11-12 05:01:00 +01:00
732def66b0
H-21: the manifest invokes revision (none-yet) and withheld, and config view-waits-minutes
jschoubben2026-11-12 05:00:14 +01:00
ac3422f914
H-17: the node-engine's own name is read from its applied record or first composing
jschoubben2026-11-12 04:58:28 +01:00
4d656fe4e1
H-20: a tools bundle's words hold its module's want fingerprint
jschoubben2026-11-12 04:55:33 +01:00
94f6c3dba4
H-18: running carries healthy and is said again when it changes
jschoubben2026-11-12 04:54:19 +01:00
7d06ef7997
Join 10: the composer command may import the catalog key codec where A-144 moved it
jschoubben2026-11-12 02:51:10 +01:00
efee30e243
Fix 10: the compositions read the catalog key codec from mesh-delivery's sdk
jschoubben2026-11-12 02:26:55 +01:00
e8bff57b55
Join 9: the node-engine's link names no seat list verb in its operatorask contract (A-126)
jschoubben2026-11-12 01:51:54 +01:00
c6df8fa20f
G §683: a start composes the modules whose kept want and entry it holds before its other inputs are read
jschoubben2026-11-12 01:12:06 +01:00
054ca5a6b3
G §614: the node-engine writes the finding entry-not-found for a fingerprint the catalog half holds none of
jschoubben2026-11-12 01:07:53 +01:00
b3b13f2ae1
G §560: a cancelled recovery act holds the move with the hand act's why
jschoubben2026-11-12 01:06:39 +01:00
0f108fd8ac
internal/apply: a test of the places a module is placed in follows no link on the machine it runs on
jschoubben2026-11-12 01:03:54 +01:00
0dd32d9722
A-101: the node-engine reads the router's record through mesh-sdk's operatorask, the bucket from the seat list
jschoubben2026-11-12 01:03:22 +01:00
31697e696d
A-113: a revert whose restore fails starts the newer build again; a form change not known waits; holds say wait-held
jschoubben2026-11-12 01:01:44 +01:00
5694f6c39b
Merge branch 'feat/47-G-recover-host' into feat/47-G-join8
jschoubben2026-11-12 00:27:57 +01:00
ece79788a3
A-112: the node-engine reads recovery-wait-minutes from a file its manifest declares, 90 when missing
jschoubben2026-11-12 00:21:10 +01:00
dc1aee51d9
W13.5: the node agent asks mesh-recovery for a restore point before a form change and restores it at a revert
jschoubben2026-11-12 00:16:31 +01:00
cf378f9a25
G §421, §683: the node-engine reads the entry its want names by fingerprint and keeps its entries and wants
jschoubben2026-11-11 23:27:28 +01:00
2b916ac043
G A-98: the node agent gains Env.Stop, which stops a module's units and containers and removes nothing
jschoubben2026-11-11 23:51:09 +01:00
7c7b5e2d68
G A-92: the node-engine's manifest declares the state bounds, a lifetime per key, in its old section
jschoubben2026-11-11 23:48:16 +01:00
5173f2a31c
W13.8: the node-engine fetches a kept build through the build node's kept-artifact, the node taken from the want's kept-on
jschoubben2026-11-11 23:39:36 +01:00
97d3df3e59
G §422, §698: the node-engine serves first-views, first-view-again and entry-again, and its manifest names the verbs it serves
jschoubben2026-11-11 23:27:28 +01:00
7703162c95
G §421, §683: the node-engine reads the entry its want names by fingerprint and keeps its entries and wants
jschoubben2026-11-11 23:27:28 +01:00
38e13ef030
H-13: the node-engine's seat-list and held-module findings go through mesh-sdk's held writer
jschoubben2026-11-11 22:37:21 +01:00
189ed10c36
The node-engine's compositions use the catalog key's codec meshcatalogkey, as meshcatalogclient's wrappers go
jschoubben2026-11-11 21:18:40 +01:00
75f5c64646
The node-engine says no capabilities-changed: manifest-reads-changed alone says a node's capabilities, as the contracts' K6 has the seat
jschoubben2026-11-11 21:13:24 +01:00
5d3b446988
H-8: a want's parts are checked by the digests the composition fetches
jschoubben2026-11-11 15:47:04 +01:00
ce01ec1f68
H-13: the node-engine's findings are written and said by mesh-sdk's finding writer
jschoubben2026-11-11 14:15:16 +01:00
602ed830e9
H-15: the apply guard and the yields read the node-engine's module from the entry claiming its seat
jschoubben2026-11-11 14:05:43 +01:00
a073a001c5
H-7: the node record states the capability want-parts
jschoubben2026-11-11 14:00:21 +01:00
45e2b946c7
H-5: the seats a node passes on are decided from what every node said it runs, by SeatsToPassOn's new input
jschoubben2026-11-11 13:58:33 +01:00
b41a0d59b6
H-14: a module held for its claim is the finding module-held until it is composed or no longer wanted
jschoubben2026-11-11 12:12:55 +01:00
f3813a279e
H-6: the seat verb process-builds reads the build each process was started with; the engine keeps no callers table
jschoubben2026-11-11 12:09:56 +01:00
420087ab14
H-4: running says stopped, with no fingerprint, once the have no longer holds the module
jschoubben2026-11-11 12:06:10 +01:00
26581d87ed
H-3: the node-engine says composed, running and capabilities-changed on the seat's subjects
jschoubben2026-11-11 12:05:18 +01:00
730860b274
H-2: every service and container is started with MESH_FINGERPRINT, the fingerprint of the want it applies
jschoubben2026-11-11 12:03:47 +01:00
decbce4c54
H-1: the node-engine claims its seat, says its findings on its own stream and hears running
jschoubben2026-11-11 12:03:13 +01:00
14c22b4a45
Merge pull request 'The seat-list finding is read from the node's own state, so a restart clears it (issue 1966)' (#223) from fix/1966-seat-list-finding-from-the-bus into main
mesh-tools2026-11-11 01:34:11 +00:00
e64c8ad0ca
The node's golden grant reads its own findings, as the grants part composes it (issue 1966)
jschoubben2026-11-11 02:23:10 +01:00
6304332ad5
The seat-list finding is read from the node's own state, not kept in memory (issue 1966)
jschoubben2026-11-11 02:20:42 +01:00
783a2d2207
Merge pull request 'The node-engine says its events once through a transport fault, and an unsaid one at the next link (ADR 0668; issue 1966; group fix/1966-call-made-once)' (#222) from fix/1966-call-made-once into main
mesh-tools2026-11-10 07:20:32 +00:00
d581acdeda
H4: the builder machine of the toolchain tests has the tool runner's seat-settle-delay (issue 1966; mesh-catalog's issue 1748, ADR 0664 §5)
jschoubben2026-11-10 05:57:04 +01:00
9cd03a7430
H3: the row of sayOnce feeds the old JetStream client's own no responders, nats.ErrNoStreamResponse (issue 1966, ADR 0668 §1; review round 1, finding 2)
jschoubben2026-11-10 04:12:04 +01:00
5aa6d39a98
H2: an engine event not said is kept and said at the next link's opening (issue 1966, ADR 0668 §4)
jschoubben2026-11-10 02:57:34 +01:00
4685610c19
H1: the node-engine publishes its seat's events again through a transport fault, under one message id (issue 1966, ADR 0668)
jschoubben2026-11-10 02:57:34 +01:00
f50442ac7a
Merge pull request 'An unread seat list holds what is new, says so, and is read again by the operator's sessions (issue 1966; group fix/1966-seat-list-unread)' (#221) from fix/1966-seat-list-unread into main
mesh-tools2026-11-10 00:44:44 +00:00
5c353cfc7b
S3: the read seat-list answers the operator's sessions and the healers, as its seat says
jschoubben2026-11-10 01:16:05 +01:00
a484d5f960
S5: the whole node reads its seat list after a holder that re-served
jschoubben2026-11-10 00:48:14 +01:00
4af6c274b8
S4: an unread seat list holds a module before its build is read
jschoubben2026-11-10 00:40:53 +01:00
7bf7e29a32
S3: the seat-list verbs answer a proved operator's session
jschoubben2026-11-10 00:32:44 +01:00
81bc0cc388
S1: keep the bus's "no responders" beside ErrNotAsked on an ask
jschoubben2026-11-10 00:29:54 +01:00
9d8647aa0f
Merge pull request 'The node-engine leaves an unchanged unit running across its own replacement, and says what changed when it restarts one (issue 1966)' (#220) from fix/1966-engine-restarts-unchanged into main
mesh-tools2026-11-09 22:09:40 +00:00
aa649d85a0
The restart line names no part of a value; the new rows join existing tests (issue 1966, review round 1)
jschoubben2026-11-09 22:56:42 +01:00
bcd815a6bb
A tool runner is no longer restarted by a build of the engine: owned paths name the directory of every build, and a restart names its cause (issue 1966)
jschoubben2026-11-09 22:49:20 +01:00
6e461bd24a
Merge pull request 'A claim problem or a refused credential holds its module, not the whole pass (issue 1966, recovery)' (#219) from fix/1966-s1-partial-pass into main
mesh-tools2026-11-09 17:54:55 +00:00
ef41fa2e27
The node-engine's live path holds a module whose claim or credential fails (issue 1966, review round 1)
jschoubben2026-11-09 13:04:55 +01:00
868ee6beb0
A claim problem or a refused credential holds its module, not the whole pass (issue 1966, S1 and S5)
jschoubben2026-11-09 12:52:54 +01:00
7c483da93a
Merge pull request 'The filter keeps the openings of a module left out of the declaration that still runs (issue 1966, recovery)' (#218) from fix/1966-filter-keeps-openings into main
mesh-tools2026-11-09 09:49:15 +00:00