mesh-tools
926444373d
Delete the second half of internal/catalogue's tests: mesh-sdk's go/catalogue holds them (issue 1381)
2026-10-20 08:30:25 +00:00
mesh-tools
e4364a1c86
Delete the first half of internal/catalogue's tests: mesh-sdk's go/catalogue holds them (issue 1381)
...
The tests that read this repository's own files (controller_is_a_process, genesis_image, genesis_registry and foundation_manifests' registry test) live on in internal/ownmanifest; engine_guard_test and the rest are in mesh-sdk (issue 1379).
2026-10-20 08:30:14 +00:00
mesh-tools
40350d82fa
Merge pull request 'Ask a failed delivery's Retry on the phone, tell a refused answer, and pass a seat to its only claimant (ADR 0449, ADR 0451)' ( #402 ) from feat/no-terminal into main
2026-10-19 22:44:07 +00:00
mesh-tools
23a209f3d0
Answer plans what-if as data, the document delivery-plan answers (issue 1324)
...
The gate reads a delivery's plan as data once delivery-plan goes (ADR 0450 §2). The data form is an explicit
switch, `data: true`, as plans wait asks for its data: a person still gets the text. Both verbs build their
document from one function, deliveryPlanDocument, so they cannot differ; delivery-plan is unchanged (ADR 0450 §8).
2026-10-19 21:40:26 +00:00
mesh-tools
666dcff79b
Pass a seat held once to its only claimant when its recorded holder is assigned nowhere (issue 1317, ADR 0449)
2026-10-19 21:21:32 +00:00
jschoubben
a0c971cea9
Make a module's consumer from now and refuse a start word in consumes, so no part replays a week at its first start (issue 1279, ADR 0443)
mesh/repo-check head a0c971cea92e merged into trunk 880207649956 — pass: its merge-check.sh passed
mesh/merge-gate head a0c971cea92e merged into trunk 880207649956 — pass: group fix/1279-consumers-from-now composed: every machine composes with the change…
mesh/delivery-group group fix/1279-consumers-from-now delivered: every member is delivered
2026-10-19 21:53:08 +02:00
mesh-tools
791b92c875
Merge pull request 'A module's process may hold a bus account of its own, and a module stream may be a work queue (ADR 0436, issues 1170, 1177-1181)' ( #390 ) from feat/mail-sender-controller into main
2026-10-19 02:07:51 +00:00
jochen
cfb6a8c531
Review round 1: assert the own secret's mode, not merely log it (issue 1170)
2026-10-19 03:18:22 +02:00
jochen
de651e0fd1
Give a work-queue stream its one consumer, drop-only dead letters (issue 1178)
2026-10-19 02:33:22 +02:00
jochen
97ee33e8f4
Let a process say what it does on the bus (issue 1179)
2026-10-19 02:17:39 +02:00
jschoubben
19e3eac746
The controller no longer subscribes to the alive message: HostBeats, its handler, the heartbeat-gap duration and a fixed silent bound (issue 1183, AC3, AC4, AC5)
mesh/merge-gate head 19e3eac74658 merged into trunk 89cfa9431d8f — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 19e3eac74658 merged into trunk 89cfa9431d8f — pass: its merge-check.sh passed
2026-10-19 02:16:21 +02:00
jochen
a069898c0c
Let a module stream declare work-queue retention (issue 1177)
2026-10-19 02:11:05 +02:00
jochen
ffad53aad2
Let an own secret name its owner (issue 1170)
2026-10-19 02:04:00 +02:00
jschoubben
0273609090
The checks running are readable through reads and carry when each started (issue 1155)
2026-10-18 20:55:18 +02:00
jschoubben
3b49d7044f
A state entry may say key-ttl and its bucket allows a time to live per key (issue 1154)
2026-10-18 20:53:42 +02:00
jschoubben
fc55785956
Add the chain package and its buckets: builds, rollouts and assignments with history 64 (issue 1089)
...
internal/chain holds typed Build, Rollout and Assignment and a Backend with no delete or purge, in memory and on the bus. The builds and rollouts buckets are asserted with history 64, no age and values up to just under a mebibyte; the assignments bucket gets the same, keeping its marker age because a stream cannot be made to disallow message ages. Migration 0104 makes the one-row chain_moved switch. The controller keeps no consolidated schema, so 0104 is the whole schema change. Nothing reads the buckets yet.
2026-10-18 02:39:11 +02:00
jschoubben
c531c78eb5
Hold a plan whose backup failed or stayed silent, say it, and ask again by a verb (issue 1066)
2026-10-17 22:48:28 +02:00
jschoubben
64415f8984
Merge branch 'feat/one-group-one-plan' into g/977
2026-10-17 21:37:37 +02:00
jschoubben
07b050790e
Review of issue 977: keep the plan's own order for its gates, hold a group only for a composed mesh-delivery, keep mark-ready one release, compare with the batch's start, fail a lone cycle (issue 977)
2026-10-17 21:37:37 +02:00
jschoubben
66dc501fc4
Split the unit level from the integration level in cmd, builder, link, catalogue, inventory; cheap fixtures for the archive-entry bound, the registry waits and the catalogue copy (issue 895)
2026-10-17 21:32:23 +02:00
jschoubben
aac4bae5a4
A group member's own check runs its repository's check alone, a cycle fails the composed check, and mark-ready leaves the delivery seat (issue 977, part D, ADR 0403)
2026-10-17 21:22:55 +02:00
jschoubben
e43d52c1ea
Draw a plan's order per module from the graph and the manifests' change, and read no after: line (issue 977, part B, ADR 0419)
2026-10-17 20:57:30 +02:00
jschoubben
fe5472bab4
Tests read build-agent and route-proxy from this repository when they live here (issue 1019)
2026-10-17 18:37:33 +02:00
jschoubben
3d09d5235f
issue 974: the checks are queued by pull request on two work-queue streams, taken after a delivery build, dropped when judged, stopped when their key moves; the reordering and the forge-asking end are gone
2026-10-17 14:01:33 +02:00
jschoubben
f883830975
issue 974: two work-queue streams for the checks of pull requests (CHECKS_READY, CHECKS_OTHER), their workers, grants and writer
2026-10-17 13:53:22 +02:00
jschoubben
8af77c2c75
issue 974: a rollout advances on events (a look asked by each plan saved, report and expired silent key), the 30 s ticker goes, and each tier send is said as sent
2026-10-17 13:28:34 +02:00
jschoubben
bafc31bf85
The ssh-client test offers every key ssh-client's files ask of forge-account, read from them (issue 985)
mesh/merge-gate head bafc31bf8568 merged into trunk b0d489a86c23 — pass: builds build-agent, mesh-controller, route-proxy → ace, g14, novox, shanks; no bus…
mesh/repo-check head bafc31bf8568 merged into trunk b0d489a86c23 — pass: its merge-check.sh passed
2026-10-17 12:43:21 +02:00
jschoubben
6355176fda
The ssh-client test offers the forge from another node, as the catalogue's ssh-client now requires forge-account (issue 985)
mesh/merge-gate head 6355176fdab0 merged into trunk 6a62a7e552ea — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head 6355176fdab0 merged into trunk 6a62a7e552ea — pass: its merge-check.sh passed
2026-10-17 01:00:40 +02:00
fix-969
262b39ae09
Test the gate's handing end to end: snapshot, store, and the composition either side (issue 969)
2026-10-16 23:16:38 +02:00
jschoubben
f614eeb445
Test the refusal of a jail whose pattern names the host twice
...
mesh/merge-gate head f614eeb445a1 merged into trunk 53a3c91f53ce — pass: the change touches no module of the mesh's graph
mesh/repo-check head f614eeb445a1 merged into trunk 53a3c91f53ce — pass: its merge-check.sh passed
Main refuses such a jail (fail2ban would refuse its whole configuration and
keep no bans), but no test held it: the only one sat untracked in an old
worktree. Issue 959.
2026-10-16 22:04:36 +02:00
fix-ctl-pas
df5f01bfa1
Name the credential tool of a software-issued offer in the plan (issue 928)
mesh/merge-gate head df5f01bfa1ee merged into trunk c7cb9f0a2cd3 beside mesh-catalog#337@d2992f81 — pass: builds build-agent, mesh-controller → ace, g14, n…
mesh/repo-check head df5f01bfa1ee merged into trunk c7cb9f0a2cd3 beside mesh-catalog#337@d2992f81 — pass: its merge-check.sh passed
mesh/delivery-group group feat/providers-after-switch-on delivered: every member is delivered
2026-10-16 19:35:56 +02:00
jschoubben
f4ddddd59d
Merge remote-tracking branch 'origin/main' into feat/900-node-files
mesh/merge-gate head f4ddddd59d9a merged into trunk f45b4cb21301 beside mesh-catalog#332@d4a92608 — pass: builds build-agent, mesh-controller → ace, g14, n…
mesh/repo-check head f4ddddd59d9a merged into trunk f45b4cb21301 beside mesh-catalog#332@d4a92608 — pass: its merge-check.sh passed
mesh/delivery-group group feat/900-node-files delivered: every member is delivered
2026-10-16 16:15:44 +02:00
jschoubben
407dc86a74
Merge pull request 'The delivery seat promises mark-ready: a reviewer marks a head ready through one audited verb (issue 913)' ( #357 ) from feat/913-mark-ready into main
...
Reviewed-on: #357
2026-10-16 13:47:28 +00:00
jschoubben
210f7cf5e6
Merge remote-tracking branch 'origin/main' into feat/900-node-files
mesh/delivery-group group feat/900-node-files checking: composed check out of date: novox/mesh-controller@210f7cf5e64b was judged against trunk 611e2275cf7c, t…
mesh/merge-gate out of date: judged beside mesh-catalog#332 merged onto 3db85a0dde83, its main is now 8b53a3663244; judged again on a recheck or when it is…
mesh/repo-check out of date: judged beside mesh-catalog#332 merged onto 3db85a0dde83, its main is now 8b53a3663244; judged again on a recheck or when it is…
mesh/delivery superseded: a newer head of the same pull request
2026-10-16 15:10:03 +02:00
jschoubben
c860426c55
Narrow the bar test to what the controller owns for a moved bar; rendering is issue 915 (issue 914)
mesh/merge-gate head c860426c555a merged into trunk a20680dfe769 — pass: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; every …
mesh/repo-check head c860426c555a merged into trunk a20680dfe769 — pass: its merge-check.sh passed
2026-10-16 14:52:13 +02:00
jschoubben
65f24cd45d
Judge catalogue tests as the check does: the predefined list and templates read from the tree (issue 914)
2026-10-16 14:50:40 +02:00
jschoubben
9cb08299b3
Merge remote-tracking branch 'origin/main' into feat/900-node-files
...
# Conflicts:
# internal/catalogue/seats_test.go
2026-10-16 14:49:29 +02:00
jschoubben
114c99e02a
The delivery seat promises mark-ready: a reviewer marks a head ready through one audited verb (issue 913)
mesh/merge-gate head 114c99e02a52 merged into trunk 611e2275cf7c beside mesh-catalog#331@2d1b2036 — pass: builds build-agent, mesh-controller → ace, g14, n…
mesh/repo-check head 114c99e02a52 merged into trunk 611e2275cf7c beside mesh-catalog#331@2d1b2036 — pass: its merge-check.sh passed
mesh/delivery-group group feat/913-mark-ready delivered: every member is delivered
2026-10-16 14:31:04 +02:00
jschoubben
5fa523f608
issue 900: restore takes a reason and an override; owned paths cite ADR 0394 section 5
2026-10-16 11:30:59 +02:00
jschoubben
9a5c02bd60
issue 900: gofmt files.go
2026-10-16 11:25:40 +02:00
jschoubben
9ce77e4e7b
issue 900: node-files descriptions follow ADR 0394 (operator account, writes do not refuse secret places, overwrite keeps trash)
2026-10-16 11:25:34 +02:00
jschoubben
470c97654b
issue 900: add the seat node-files beside node-reads, with its verbs, holder rule and owned-paths word
2026-10-16 11:16:44 +02:00
mesh-tools
8c381172e7
Restore the blank last line the patch route dropped from seven golden files, so the branch holds the reviewed tree (issue 875)
mesh/merge-gate head 8c381172e7ea merged into trunk d70bb1f38867 beside mesh-host#116@bff1ac14 — pass: builds build-agent, mesh-controller, route-proxy → a…
mesh/repo-check head 8c381172e7ea merged into trunk d70bb1f38867 beside mesh-host#116@bff1ac14 — pass: its merge-check.sh passed
mesh/delivery-group group release/57-config-and-provisioning delivered: every member is delivered
2026-10-16 08:29:21 +00:00
mesh-tools
d984816844
Feature 57 (config and provisioning): release mesh-controller, the reviewed release branch merged with main, on top of main
2026-10-16 08:28:38 +00:00
mesh-tools and Claude
e42d72a80a
Compose the forge in its manifest tests with the operator's account, as the mesh does (issue 869)
...
mesh/merge-gate head e42d72a80a62 merged into trunk 7543f64911c5 — pass: the change touches no module of the mesh's graph
mesh/repo-check head e42d72a80a62 merged into trunk 7543f64911c5 — pass: its merge-check.sh passed
The gitea manifest names its patch spool's owner ${machine:account} since mesh-catalog d4b8b247 (issue 852); these tests gave the machine no account, so main failed its own merge check.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-10-15 23:36:30 +00:00
jochen
b5a441a978
Let a module-declared seat carry needs, so mail-notifier can need node-notifier (issue 802)
...
ADR 0220's dependency mechanism served compiled seats only and retired its one user with
node-resolver-config (commit f68521da ). ADR 0378 S8 revives it for module-declared seats:
SeatDeclaration gains Needs, judged by the catalogue check (node scope only, a name that
resolves to a node seat somewhere in the catalogue, never itself), and DependsOn now takes
the catalogue so a claimed seat's needs are found wherever they are declared.
2026-10-15 17:18:23 +02:00
jochen
ab74bbb56b
Merge branch 'feat/mail-hardening' into mh-789-r1
2026-10-15 15:27:13 +02:00
jochen
320dde41d9
Count an own secret's prompt by character and refuse {member} on a single secret (issue 789)
2026-10-15 15:27:06 +02:00
jochen
867a3f81a9
Hold a record-policy move that changes a non-file/directory resource (issue 785)
...
ADR 0377 §3's allowlist names only tools bundles, files no container mounts
and holds no data, and manifest fields that recreate nothing. Holds only
checked containers, files, directories and processes/services; any other
resource type (archive, package, user, network, ...) fell through unheld.
Add a default case that holds and names the resource type and id.
2026-10-15 14:59:06 +02:00
jochen
ce77a2caaa
Merge branch 'feat/mail-hardening' into mh-785
2026-10-15 14:27:37 +02:00