jschoubben
0e32f95492
Merge branch 'feat/774-l3-reland-leaves' into merge-leaves
2026-10-30 00:01:12 +01:00
jschoubben
4a329f0443
Providers read the seat's plans and retire only on the operator's yes, removing the credential
...
ADR 0570 clauses 2 and 5: gitea, keycloak, postgres and route-adapter read mesh-provisioner.plans and
.provisions instead of the controller's assignments. postgres hands the database to a keeper and drops the
login; keycloak replaces the client's secret and keeps the client, so the data stays (issue 1954, V4).
2026-10-30 00:00:00 +01:00
jschoubben
62b53c2eda
docker: ask the seat mesh-artifact-sweep for the images a machine's declarations name, as ADR 0121 names the seat (issue 1955)
2026-10-29 23:55:58 +01:00
jschoubben
86e1082fa0
restic: write each item's last good night when a night's files change, with no timer, on the sdk's layout; the night is judged by its unit and the awake process by the health tool (issue 1955)
2026-10-29 23:46:57 +01:00
jschoubben
9d0ebe556e
disk-load: compose the node's data items through the sdk's runtime reader, not a copy of it (issue 1955)
2026-10-29 23:46:57 +01:00
jschoubben
f149768f5d
disk-load: take the node's data items from the bus and the readings layout from the sdk, with no composed file (issue 1955, ADR 0571 clause 3)
2026-10-29 23:46:56 +01:00
jschoubben
bb18541469
The vault reads each plan from mesh-provisioner, says each credential's outcome in its own bound state, mints nothing for form none, and answers rotate and issued for any proven caller (issue 1954)
...
Each outcome names the value by the vault's own name and generation, never the value; held is provided, issued or given waits, an entry goes only on a retiring key's Approve. The vault no longer reads the controller's assignments, so it leaves the list of their readers. Pins mesh-sdk 6b8c694.
2026-10-29 22:58:53 +01:00
jschoubben
dd9b6a0485
checks/credentialform: a module that provides and keeps a bound state must be read by mesh-provisioner (issue 1952)
2026-10-29 22:50:06 +01:00
jschoubben
1f0ff6ed98
Every offer of twenty providers says its credential form; a check refuses one that does not; re-pin sdk 6b8c694 (issue 1952)
2026-10-29 22:49:41 +01:00
jschoubben
6bee0b6789
Never set a provision provided without its provider's outcome, read from the entry's state and why, and pin mesh-sdk 692dbf9 (issue 1954)
...
A provider that writes no outcome leaves its keys asked (ADR 0570 clause 3), so a provider that fails is never hidden.
2026-10-29 22:43:16 +01:00
jschoubben
799f03fc2a
Refuse a manifest that records into the controller's hand-act log, naming the recorders' fallbacks until the lease write (issue 1953)
...
ADR 0565 §11's catalog check: every recorder records through mesh-hand-acts. The fallbacks are listed with why, and the list only shrinks.
2026-10-29 22:41:29 +01:00
jschoubben
077135a7f3
Keep mesh-config's held values in mesh-sdk's KeptValue layout, which the checks read, and pin mesh-sdk 66ff33d (issue 1953)
...
The layout and its keys are unchanged, so no value moves.
2026-10-29 22:41:29 +01:00
jschoubben
4117ec3a57
Serve compare, take-over and hand-back as the mesh-config seat's verbs, beside the module's own tools; pin mesh-sdk 4204afd (issue 1953)
2026-10-29 22:29:48 +01:00
jschoubben
0842361f85
Keep the hand-act log's acts 400 days, as ADR 0565 §10 has it, now that a module log may say its age; pin mesh-sdk 2e5cc4f (issue 1953)
2026-10-29 22:18:59 +01:00
jschoubben
371abdaad1
Wait on keys that expire on the bus instead of in-process timers, so the healers' settles and S15's fortnight survive a restart (issue 1952)
...
A settle and the fortnight end are keys of wakes whose time to live is the wait, heard on expiry; attempts and would keep each key a week by its own time to live. Rearm stays only for a settle that expired while no instance watched. Pins mesh-sdk bc6c8a6.
2026-10-29 22:17:29 +01:00
jschoubben
b5fdcb88c8
Say checked, healer-acted and act-recorded on their seats' subjects, where their consumers hear them, and pin mesh-sdk fbd00c8 (issues 1952, 1953)
...
stdio.Emit put them on the module's subject, which no consumer of a seat's event hears. The manifests no longer list a seat's events as the module's own, which the SDK now refuses. mesh-hand-acts takes its act layout and names from mesh-sdk's handacts, and counts a repeated cause by its Repair rule.
2026-10-29 22:12:08 +01:00
jschoubben
885b7a3a8e
Pin checks/health to the group's mesh-sdk 69fcb6c, so it knows the health seats the new modules claim (issue 1952)
2026-10-29 21:49:46 +01:00
jschoubben
16378e0850
Take mesh-config off the assignments readers: since #558 (issue 1953) it reads placement and its modules' manifests alone (issue 774)
2026-10-29 21:08:02 +01:00
jschoubben
3dd7b734aa
Revert "Merge pull request 'Revert L3: its node-engine removed every held module on novox, the bus server among them (issue 774)' ( #557 ) from revert/774-l3 into main"
...
This reverts commit 030f9ee4e7 , reversing
changes made to 1555241393 .
2026-10-29 21:05:14 +01:00
jschoubben
c8240c38bb
Revert L3 (mesh-catalog, merge 15552413): its node-engine removed every held module on novox, the bus server among them, at 08:54 CET on 2026-10-29 (issue 774)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@030f9ee4e780
mesh/delivery-group group revert/774-l3 merged: every member is merged
mesh/check being carried to c8240c38bb89 on 030f9ee4e780 | from 1555241393fe | novox/mesh-catalog#557 in group revert/774-l3
L3 lands again with two fixes: a held module is never removed, and the grants cover L3's new subjects.
2026-10-29 09:42:30 +01:00
jschoubben
10447d8c1e
mesh-config reads the placement beside the controller's assignments while both stand, as L2 has it and the vault does, and is listed as a reader of them (issue 774, ADR 0549 §5; re-review)
2026-10-28 21:54:36 +01:00
jschoubben
5be6576117
Follow L2 under L3: the vault and mesh-config read the seat mesh-placement's placement, and the check that only listed modules read the controller's assignments moves into noplacement, as L2 deleted the placement check (issue 774, ADR 0567, ADR 0549 §3, §6)
2026-10-28 21:54:36 +01:00
jschoubben
24fad2b92a
mesh-vault: pin mesh-sdk 4e6e5cc, the L3 group's head rebased on L2 (issue 774)
2026-10-28 21:54:36 +01:00
jschoubben
bd5f170af0
The placement check's list of modules still reading the controller's assignments only shrinks against the trunk's copy (issue 774, ADR 0529 clause 2)
2026-10-28 21:54:36 +01:00
jschoubben
6bbb8329e4
mesh-config resolves for the modules the catalogue's placement puts on a node alone, and the placement check refuses any other module that reads the controller's assignments unless listed with why (issue 774, ADR 0549 §3, §6)
2026-10-28 21:54:36 +01:00
jschoubben
105c4d628c
Particulars check: skip the real-catalogue test when the checker hands no node names yet (ADR 0567 §16)
mesh/delivery merged: source.main moved to novox/mesh-catalog@af89893d4202
mesh/delivery-group group feat/1126-placement-seat merged: every member is merged
mesh/check failed: integration: meshbuildgo/cmd/mesh-build-go… | 105c4d628cbc on d836a31aa721 | judged by the candidate's mesh-build-go at 565c52f06c02
2026-10-28 18:53:44 +01:00
jschoubben
3b35e78733
build-hours takes one window and names no node, node names enter digests and checks by their clauses, and a leftover particulars file is refused
2026-10-28 18:35:06 +01:00
jschoubben
d1f42564e3
Node names come from the run, not a file of the repository: the particulars check reads MESH_NODE_NAMES and fails without it
2026-10-28 18:11:23 +01:00
jschoubben
7bb07ce349
New check: no placement directory and no manifest reading the indexer's placement, so the repository path cannot come back
2026-10-28 17:58:53 +01:00
jschoubben
77b511a79a
Delete the placement check: placement is bus state, no repository file holds it
2026-10-28 17:57:15 +01:00
jschoubben
b8ba9dd966
Widen the no-binaries check to every tracked file: a program under checks/ is refused too
mesh/delivery merged: source.main moved to novox/mesh-catalog@25f615456423
mesh/delivery-group group words/catalog merged: every member is merged
mesh/check being carried to b8ba9dd9669c on 25f615456423 | from 774fcdfa93ad, hq 8f8393fa9343 | novox/mesh-catalog#540 in group words/catalog
2026-10-28 12:17:21 +01:00
jschoubben
9bb85a37f2
Retire the spelling catalogue: the words check lists it and skips module paths in imports
2026-10-28 12:17:21 +01:00
mesh-tools
457c60972c
Merge pull request 'The placement check and the delivery gate read the group's mesh-sdk, so replicated seats pass and placement pull messages are read (issue 1126)' ( #519 ) from feat/1126-l2b into main
2026-10-27 07:21:09 +00:00
jschoubben
2ac511ce6b
Pin checks/placement and mesh-delivery-gate to mesh-sdk cadd7b1, the group's final head (issue 1126)
mesh/delivery merged: source.main moved to novox/mesh-catalog@457c60972c59
mesh/delivery-group group feat/1126-l2b merged: every member is merged
mesh/check checking 2ac511ce6b19 on 457c60972c59 | novox/mesh-catalog#519 in group feat/1126-l2b
2026-10-27 02:44:12 +01:00
jschoubben
454ac0fec7
Pin checks/placement to mesh-sdk 062c29c, the L2b group's head, so the catalogue's placement check judges with the replicated-seat rule the seed needs (issue 1126)
2026-10-27 02:30:16 +01:00
jochen
3d42988afa
Hold every build module to ending what a previous process left running (issue 1890)
...
A replaced mesh-build-go left a check ask's step running and its start
sweep spared it (issue 1890, note 21). mesh-build-go, mesh-build-node and
mesh-build-image pin mesh-sdk 981a35b5, whose steps name their owner and
whose sweep ends another owner's at once; each runs the sweep through one
method that main calls and that its test runs through the conformance
kit's left-running case. The failurekit check now refuses a build module
whose tests do not run that case, test step or not.
2026-10-27 01:22:13 +01:00
jschoubben
e8a953818c
Merge main into fix/1901-failure-contract: pin mesh-sdk a2759ec (the group's sdk head), the failure kit check's marker lists what it reads (issue 1936), and the registry test's password can no longer match a random workspace name (issue 1901)
mesh/delivery merged: source.main moved to novox/mesh-catalog@64530a8dcb08
mesh/delivery-group group fix/1901-failure-contract merged: every member is merged
mesh/check checking e8a953818c71 on 64530a8dcb08 | novox/mesh-catalog#516 in group fix/1901-failure-contract
2026-10-27 00:39:35 +01:00
mesh-tools
c17ab34a28
Merge pull request 'A reads-outside marker lists what its tests read, so its package's check is reused until one of those files changes (issue 1936)' ( #513 ) from fix/1936-declared-reads into main
2026-10-26 21:18:14 +00:00
jschoubben
488b7bfc58
checks/health: its marker names health-undeclared for what it counts (issue 1936)
mesh/delivery merged: source.main moved to novox/mesh-catalog@c17ab34a28cc
mesh/check checking 488b7bfc5816 on c17ab34a28cc
2026-10-26 22:13:14 +01:00
jschoubben
d58249d0d8
checks/health: its marker lists the predefined keys, the modules' templates and health-undeclared it reads (issue 1936)
...
ReadTreeManifest reads predefined.json and each templated module's templates (WithTemplatesFrom), and the test reads
the root's health-undeclared through Kept: none was listed, so a change to them reused a stale verdict. No other
marker's package reads manifests through ReadTreeManifest beyond what it lists. Review finding F1 on ba49a7f0 .
2026-10-26 22:13:01 +01:00
jschoubben
c085975146
Pin mesh-sdk 9796444 (l2-next: feat/1126-nodes-compose merged with sdk main #101 , the standing-test race fixes) (issue 1126)
mesh/delivery merged: source.main moved to novox/mesh-catalog@78d7ef71cc27
mesh/delivery-group group feat/1126-nodes-compose merged: every member is merged
mesh/check checking c0859751461a on 78d7ef71cc27 | novox/mesh-catalog#505 in group feat/1126-nodes-compose
2026-10-26 22:05:42 +01:00
jschoubben
ba49a7f0f9
mesh-build-go: a reads-outside marker lists what its tests read, so its package is kept until one of those files changes (issue 1936)
...
47 packages carried the marker and were never kept: about 2000 tests per level ran on every check, whatever it
changed. The marker now lists, as paths or globs from the repository's root (? before a path whose absence is read),
what the package's tests read outside it; the digest hashes those files with the package's own non-Go files. A marker
that lists nothing, names an unclean path, or a line that matches nothing keeps today's never-kept digest.
The 46 markers list their reads; checks/deps and checks/trunk lose theirs (their tests read only temporary
directories). Digest form 6.
Quick fix of issue 1936, chosen by the operator 2026-10-26 21:56; the thorough fix (the Go test log's files kept with
each verdict) stays on the issue.
2026-10-26 22:02:58 +01:00
jschoubben
be7e98d25c
Pin mesh-sdk 5f45175 (l2-next: feat/1126-nodes-compose merged with sdk main) after merging main (issue 1126)
2026-10-26 21:59:21 +01:00
jschoubben
1e6b157865
Pin mesh-sdk feat/1126-nodes-compose 03dce12, the group's head: the checker refuses a pin that is neither trunk nor the group's head (issue 1126)
mesh/delivery-group group feat/1126-nodes-compose checking: 4 of 6 member(s) ready
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 1e6b15786562 on eba4bab00aa7 | novox/mesh-catalog#505 in group feat/1126-nodes-compose
2026-10-26 20:35:47 +01:00
jschoubben
1faf317069
Review of L2: the vault's own fails closed: a pair credential's consumer is read standing, the shared value goes only to a holder its record names, and unread assignments refuse, never hand (C1, C2); the placement check pins mesh-sdk 3968849 (issue 1126, ADR 0550 §5)
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 1faf31706919 on 5b75233406fe | novox/mesh-catalog#505 in group feat/1126-nodes-compose
2026-10-26 20:12:21 +01:00
jschoubben
851e8782d5
Nodes compose: the catalogue's placement files and their check, mesh-config reading placement, the vault's own and pair credentials, the forge's commit trees (issue 1126)
...
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 851e8782d569 on da29f77b1081 | novox/mesh-catalog#505 in group feat/1126-nodes-compose
One commit for the branch feat/1126-nodes-compose of mesh-catalog: its 15 commits squashed so its history does not carry two compiled programs committed by mistake and removed later, mesh-config (5.5 MB) and checks/placement (6.2 MB) (issue 1577). The tree equals the former head 2db56067 . The operator allowed this rewrite of the feature branch on 2026-10-26.
2026-10-26 19:49:39 +01:00
jschoubben
175b2cd791
Build modules report failed tests through mesh-sdk's failure contract and run its conformance kit (issue 1901)
...
mesh-build-node kept the first fifteen lines of node --test's output, so a passing line of the first file stood for the
failure. Both build modules now parse through the SDK (go test -json, node --test's TAP report written to a file, the
type-check and go vet as console failures), name themselves in the result, and run the SDK's captured cases; the
catalogue check failurekit refuses a node-build-* module with a test step whose tests do not run the kit.
2026-10-26 19:48:39 +01:00
jschoubben
94dab68635
Refuse a compiled program under modules/, and untrack the two main held: build output reaches the catalogue only by a slip nothing caught (issue 1577)
mesh/delivery merged: source.main moved to novox/mesh-catalog@da29f77b1081
mesh/check being carried to 94dab6863523 on da29f77b1081 | from 5a4ac4991395
2026-10-26 18:43:46 +01:00
jschoubben
16d7b1898d
Mark the packages whose tests read files outside their directory, found by the review (issue 1935)
2026-10-24 04:38:49 +02:00
jschoubben
f04465537b
Say in realtree_test that a missing trunk fails, not skips (issue 1295)
2026-10-24 04:37:52 +02:00