Commit Graph

  • 787563358b Leave the engine's acts out of the bus tools' removals, so ace's tool runner, which carries the bundle on its own account, is no second writer and the grants part composes the bus's user list again (issue 774) jschoubben 2026-10-30 12:34:22 +01:00
  • 8f212e559a Merge pull request 'Design 47's last milestones: the keeper, self-check, healers, hand-acts, provisioner, vault, artifact sweep, disk readings, credential forms (issues 774, 1952, 1953, 1954, 1955)' (#560) from feat/774-l3-reland into main mesh-tools 2026-10-30 11:01:48 +00:00
  • 1aa22efb0d Merge pull request 'mesh-delivery-gate: an answer stands only for the ask it answers, so the approved release merges (issue 1730)' (#562) from fix/gate-answer-stands-for-its-ask into main mesh-tools 2026-10-30 11:01:15 +00:00
  • f074fb8df4 messenger: say each ask taken on the bus as operator-channel.asked.<asker>, so a session hears an approval request open fix/turn-handed-on-approve jschoubben 2026-10-30 11:44:22 +01:00
  • 10789ce9fd mesh-delivery-gate: an Approve is acted on or said within 60 s, on the bus and as an urgent condition jschoubben 2026-10-30 11:40:09 +01:00
  • d6a069ae49 mesh-delivery-gate: an answer stands only for the ask it answers, and a merge never handed says why jschoubben 2026-10-29 01:59:03 +01:00
  • cf51cc7dbf Say a failed test's whole output on the Go and Node build modules' own log streams, kept 14 days and 2 GiB, and read it with build_go_log and build_node_log, so a cut verdict's cause is read, not guessed fix/checker-full-failure jschoubben 2026-10-30 11:10:07 +01:00
  • f3a57dcc56 mesh-self-check: the whole-run integration test answers the setting probes with the probes it asserts, since the default list is D13 and D-fill jschoubben 2026-10-30 10:21:28 +01:00
  • 35ff67bda0 Design 47's last milestones: the keeper, self-check, healers, hand-acts, provisioner, vault, artifact sweep, disk readings, credential forms (issues 774, 1952, 1953, 1954, 1955) jschoubben 2026-10-30 02:21:51 +01:00
  • 12c2574c9d Merge pull request 'Let the forge's sshd take a burst of connections from one build machine, so a check's parallel fetch is not dropped (issue 774)' (#561) from fix/gitea-ssh-maxstartups into main mesh-tools 2026-10-30 00:54:02 +00:00
  • 8bf85863ce gitea: raise the forge's sshd MaxStartups to 100:30:200, so a burst of the mesh's machines fetching at once is not dropped jschoubben 2026-10-30 01:38:16 +01:00
  • f61265f7a0 Merge pull request 'Pin the parse-only mesh-sdk in the build modules, so they build design 47's manifests (issue 774)' (#559) from fix/774-new-words-first into main mesh-tools 2026-10-30 00:10:07 +00:00
  • 22ff0d1000 Pin the parse-only mesh-sdk 78c9ec8 in the build modules, which read each manifest they build, so the new words are read first (issue 774) jschoubben 2026-10-30 00:39:37 +01:00
  • 7d43574783 Pin mesh-sdk 6e4a301 in the build modules, which read each manifest they build, so the new words are read first (issue 774) jschoubben 2026-10-30 00:23:30 +01:00
  • 96b129e544 Merge pull request 'mesh-config: read config declarations from each placed module's own manifests on the bus, never from the controller (issue 1953)' (#558) from fix/1953-config-from-builds into main mesh-tools 2026-10-29 19:47:55 +00:00
  • 0d71d8b56c Move the head so the checker takes #558 again: a reopened pull request is not taken back as a candidate (recovery of de-spiegel, operator's yes 2026-10-29 17:56 CET) jschoubben 2026-10-29 18:10:27 +01:00
  • 96a37f58ca mesh-config: read declarations from each placed module's own manifests as built, and placement alone, so a module from its own repository resolves (issue 1953) jschoubben 2026-10-29 15:19:24 +01:00
  • 030f9ee4e7 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 mesh-tools 2026-10-29 08:59:53 +00:00
  • 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) revert/774-l3 jschoubben 2026-10-29 09:42:29 +01:00
  • 1555241393 Merge pull request 'L3: mesh-vault mints, retires and signs; nats makes its certificate; messenger asks each engine (issue 774, ADR 0561), rebased onto L2' (#556) from feat/774-vault-mints-l2 into main mesh-tools 2026-10-29 07:44:23 +00:00
  • add6f143ca mesh-delivery-gate: an answer stands only for the ask it answers, and a merge never handed says why jschoubben 2026-10-29 01:59:03 +01:00
  • b46089b698 Merge remote-tracking branch 'origin/main' into l3-mc-main jschoubben 2026-10-29 02:15:33 +01:00
  • 48a68b4b9e mesh-build-go: keep a check ask's cache layer beside its workspace, for the build cache alone fix/check-names-every-conflict jschoubben 2026-10-29 01:05:18 +01:00
  • dda14e0e22 mesh-build-go: give each ask a cache layer in its workspace, so what its digest and vet compile its tests find compiled jschoubben 2026-10-29 00:52:25 +01:00
  • 6fa42dd69f mesh-build-go: start the integration level's store and bus beside its compile, and compile the go.mod directories side by side jschoubben 2026-10-29 00:48:50 +01:00
  • 37fb9f01aa mesh-build-go: let a check's go vet warm the shared Go build cache with cgo off, and say each linted directory as it ends jschoubben 2026-10-29 00:46:19 +01:00
  • de2de44c98 mesh-build-go: give each ask a cache layer in its workspace, so what its digest and vet compile its tests find compiled fix/check-speed jschoubben 2026-10-29 00:52:25 +01:00
  • 1989dd7cf2 mesh-build-go: start the integration level's store and bus beside its compile, and compile the go.mod directories side by side jschoubben 2026-10-29 00:48:50 +01:00
  • 31c860bc92 mesh-build-go: let a check's go vet warm the shared Go build cache with cgo off, and say each linted directory as it ends jschoubben 2026-10-29 00:46:19 +01:00
  • 5dccf3820b Pin mesh-build-go and mesh-build-node to mesh-sdk 261f41a, so a merge-only check ask answers the merge and runs no tests jschoubben 2026-10-29 00:10:42 +01:00
  • 158348ede7 Merge pull request 'mesh-delivery-gate asks the operator's Approve on a verdict only: the one-hour fallback goes (issue 1733)' (#555) from fix/1733-no-hour into main mesh-tools 2026-10-28 21:29:52 +00:00
  • ff4c6c0435 Merge pull request 'The Go, Node and image build modules watch their settings file and say a capacity of 0 in their health' (#554) from fix/park-wakes into main mesh-tools 2026-10-28 21:03:17 +00:00
  • c193d2b389 Pin mesh-sdk 8eafc0c, the L3 group's head on mesh-sdk main with #120 and #121 (issue 774) jschoubben 2026-10-28 21:56:06 +01:00
  • 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) jschoubben 2026-10-28 20:50:29 +01:00
  • 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) jschoubben 2026-10-28 20:34:27 +01:00
  • 24fad2b92a mesh-vault: pin mesh-sdk 4e6e5cc, the L3 group's head rebased on L2 (issue 774) jschoubben 2026-10-28 20:34:27 +01:00
  • d3eb5cae80 mesh-vault: secret-ask answers the callers its manifest names, each named as the runtime proved it, within the same bounds; the controller's relay as before (issue 774, ADR 0563 §8) jschoubben 2026-10-28 10:00:47 +01:00
  • 2043200201 messenger: ask each machine's own engine whether it is root-free, the node seat node-engine's root-free, not the controller's (issue 774, ADR 0563 §6) jschoubben 2026-10-28 09:57:51 +01:00
  • ef618e8199 nats: the bus's certificate command moves here from mesh-controller with the same output, made once and checked, so the bus module makes its own certificate when a mesh is raised from nothing (issue 774, design 47 L3 s11) jschoubben 2026-10-28 09:36:21 +01:00
  • c00005c141 mesh-vault signs: its signing key and authority made once with their operator copies, the verb sign for a node's own certificate from bus state, the event signed, the state signers and the tools that read and reassert them (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:32:05 +01:00
  • 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) jschoubben 2026-10-28 09:28:01 +01:00
  • 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) jschoubben 2026-10-28 09:27:13 +01:00
  • e6b913cac7 mesh-vault: account_retire refuses while the controller holds the lease or before the wants are read whole, as the passes do (issue 774, review round 1) jschoubben 2026-10-27 23:00:54 +01:00
  • 411c1b8de8 mesh-vault: prove the vault whole on a real bus mints only from the lease write, and try a failed mint again at the pass; adopt the operator key before the watches open (issue 774, ADR 0561 §1-§4) jschoubben 2026-10-27 22:48:58 +01:00
  • 64e6688ec8 mesh-vault: tell where modules stand and which node holds the bus from the catalogue's placement first, so the vault does not depend on the controller's assignments for them (issue 774, ADR 0549 §3, §5) jschoubben 2026-10-27 22:45:18 +01:00
  • 2d57c9663a mesh-vault: serve issue-account, the hand path that mints one wanted account now, and record a rotation at most once per loaded list's revision; a covered account still never rotates in place (issue 774, ADR 0561 §4, §9) jschoubben 2026-10-27 22:42:57 +01:00
  • 5c1729523b mesh-vault: retire an account the grants part no longer wants only within ADR 0230's bounds, keeping its value, and re-enable it when wanted again; account_retire for a person past the bound (issue 774, ADR 0561 §2) jschoubben 2026-10-27 22:39:13 +01:00
  • 1628db6c80 mesh-vault: mint only while the controller's lease is handed away, read afresh before each mint, and say in vault_status what is held back and why (issue 774, ADR 0561 §3, §9) jschoubben 2026-10-27 22:35:08 +01:00
  • 0b9f19b612 mesh-vault: mint each account the grants part wants and the vault holds no value or adopted hash for, in the controller's shape, hashed before account-issued and secret-changed (issue 774, ADR 0561 §1, §2, §4) jschoubben 2026-10-27 22:33:44 +01:00
  • 39ce149f74 Merge pull request 'mesh-build-go's compose integration test gives its module one slot (issue 1126)' (#553) from fix/1126-capacity-transition into main mesh-tools 2026-10-28 20:24:49 +00:00
  • f37f93e812 Drop the unreachable 'before its check ends' caveat (issue 1733) jschoubben 2026-10-28 21:00:09 +01:00
  • cf4879eaa1 Ask the Approve when the check's verdict arrives, not after an hour (issue 1733) jschoubben 2026-10-28 20:59:46 +01:00
  • 1e377fe862 Go build module: the compose test gives its module a slot, since a node with no capacity set now pulls nothing (issue 1126, ADR 0567 §15) jschoubben 2026-10-28 20:23:42 +01:00
  • 5c6899e641 Build modules: pin mesh-sdk 9e5666b (fix/park-wakes) jschoubben 2026-10-28 20:08:55 +01:00
  • 848c0cbd03 Build modules: give the puller the settings file and say a capacity of 0 in health (needs the mesh-sdk fix/park-wakes pin) jschoubben 2026-10-28 20:02:30 +01:00
  • af89893d42 Merge pull request 'No repository names a node: placement files, particulars and per-node build defaults go (issue 1126, delivery 2 of 2)' (#552) from feat/1126-placement-seat into main mesh-tools 2026-10-28 18:33:00 +00:00
  • 105c4d628c Particulars check: skip the real-catalogue test when the checker hands no node names yet (ADR 0567 §16) jschoubben 2026-10-28 18:53:44 +01:00
  • 59cad7154a Pin mesh-sdk to the group's head 38dbe1d in the build modules, mesh-config, the gate and the vault; the vault's test answers by proposal (issue 1126) jschoubben 2026-10-28 18:52:29 +01:00
  • 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 jschoubben 2026-10-28 18:35:06 +01:00
  • e072abb35e Go build module: a package whose tests read MESH_NODE_NAMES has the node list in its digest, so a new node misses a kept verdict jschoubben 2026-10-28 18:16:34 +01:00
  • e389e770d9 Build modules: capacity and build hours are this node's own values, no default names a node; the Go test tool hands the check's node names to the tests jschoubben 2026-10-28 18:15:33 +01:00
  • 00613b438c gitea commit trees: drop the listed directories, which only the bridge's placement files used jschoubben 2026-10-28 18:12:13 +01:00
  • d1f42564e3 Node names come from the run, not a file of the repository: the particulars check reads MESH_NODE_NAMES and fails without it jschoubben 2026-10-28 18:11:23 +01:00
  • 5548e1030c mesh-config reads placement from the seat's state (held by the assigner), not the indexer's jschoubben 2026-10-28 18:10:58 +01:00
  • 7bb07ce349 New check: no placement directory and no manifest reading the indexer's placement, so the repository path cannot come back jschoubben 2026-10-28 17:58:53 +01:00
  • 4e3b140d43 Delivery gate: a placement change is no pull request path, so the ask drops its placement wording and case jschoubben 2026-10-28 17:58:22 +01:00
  • b5aa226649 Build capacity is an integer per node layer, default 0: no manifest names a node's share (manifest side; the reader follows mesh-sdk S6) jschoubben 2026-10-28 17:57:57 +01:00
  • 77b511a79a Delete the placement check: placement is bus state, no repository file holds it jschoubben 2026-10-28 17:57:15 +01:00
  • d836a31aa7 Merge pull request 'power: its loop and boot tests run on a fake clock, so a busy build node cannot fail them (issue 1126)' (#551) from fix/power-loop-flake into main mesh-tools 2026-10-28 16:26:05 +00:00
  • 683ce7e37f Merge pull request 'dnsmasq starts at boot: its drop-in no longer orders after a target the package orders it before (issue 1126)' (#550) from fix/dnsmasq-cycle into main mesh-tools 2026-10-28 16:26:01 +00:00
  • 3494548c88 power: the loop and run tests drive their own clock, so a loaded build node cannot starve their timing (flake in #549's check) jschoubben 2026-10-28 17:08:32 +01:00
  • 3feeefc70f Merge pull request 'gitea: set any field of a branch's protection or a repository's settings, saying whether each trunk stays protected (issue 1126, ADR 0566)' (#549) from feat/protect-as-trunk into main mesh-tools 2026-10-28 16:02:32 +00:00
  • 3f552a17f6 dnsmasq: the drop-in no longer orders after network-online.target and its address wait is 2 s at most (cycle dropped the start at boot, issue 1126) jschoubben 2026-10-28 16:55:25 +01:00
  • 16ea3824b5 gitea: gate and judge every trunk the gate's source names, not main alone jschoubben 2026-10-28 16:52:50 +01:00
  • fabb62da00 gitea: refuse a force-push onto a rule covering main until the module can ask the operator's Approve for it jschoubben 2026-10-28 16:48:55 +01:00
  • 8068cf74a7 gitea: read a repository's settings back in the forge's own form, and take the settings it was missing jschoubben 2026-10-28 16:44:11 +01:00
  • 6e97ba3867 gitea: fail a protection or settings write the forge answered and did not apply, and take every field gitea 1.27.3 edits jschoubben 2026-10-28 16:39:54 +01:00
  • d1692c6ade Probe placement seed-10 for issue 1126: the four placement files, not to be merged probe/1126-seed-10 jschoubben 2026-10-28 16:38:26 +01:00
  • 448310908c gitea: set any field of a branch protection rule through a tool, so a trunk's merge whitelist and override need no hand at the forge jschoubben 2026-10-28 16:25:16 +01:00
  • 58309a9729 Merge pull request 'power: every reboot, poweroff and halt is bounded at 10 minutes (group fix/shutdown-bound, issue 1126)' (#547) from fix/shutdown-bound into main mesh-tools 2026-10-28 15:05:06 +00:00
  • 6724dab0cf power: bound every shutdown at ten minutes, not systemd's thirty (issue 1126) jschoubben 2026-10-28 15:30:54 +01:00
  • 387ee59140 Merge pull request 'mesh-build-image: a node that cannot build here now stays healthy and says not eligible, so it never holds the delivery (issue 1126)' (#546) from fix/1126-ineligible-healthy into main mesh-tools 2026-10-28 14:20:40 +00:00
  • 85bbeb37e3 Merge pull request 'mesh-vault: own answers a node within its bound — assignments from a watched mirror, one read per module, one synced record per answer (issue 1126)' (#545) from fix/1126-vault-own into main mesh-tools 2026-10-28 14:20:35 +00:00
  • 363039f337 mesh-build-image README: a node without tun is healthy and not eligible, as the module now says (issue 1126) jschoubben 2026-10-28 15:01:42 +01:00
  • a9d96b30be mesh-vault: a watch of the assignments begun again keeps nothing an earlier attempt took, and a module the mirror lacks is read directly before a credential is refused (issue 1126, review round 1) jschoubben 2026-10-28 14:55:36 +01:00
  • 644a34cf49 mesh-build-image stays healthy on a node that cannot build here now (no tun) and says it is not eligible: the assigner read unhealthy as a failed delivery and held the build (issue 1126) jschoubben 2026-10-28 14:50:28 +01:00
  • 277a4d0060 mesh-vault answers own in one pass: assignments from its watch, each module's once, one synced record per answer (issue 1126) jschoubben 2026-10-28 14:47:20 +01:00
  • 4919a4e076 Probe: the placement files for seed-9 (issue 1126); not to be merged probe/1126-seed-9 jschoubben 2026-10-28 14:31:28 +01:00
  • 69056948bf Merge pull request 'The kernel module loads tun at boot and keeps the running kernel's modules across an upgrade; mesh-build-image takes no ask where it cannot build (group fix/ace-tun)' (#543) from fix/ace-tun into main mesh-tools 2026-10-28 13:07:42 +00:00
  • 9cdac09ad9 Merge pull request 'knowledge-base.progress takes since: what changed in the last hour; issue-tracker.changes says each issue's moves from what to what' (#541) from feat/progress-since into main mesh-tools 2026-10-28 11:56:32 +00:00
  • 86d37a14e7 mesh-build-image: pin mesh-sdk 1618837, the group's head (fix/ace-tun) jschoubben 2026-10-28 12:50:47 +01:00
  • 16f1bc1417 Probe: the placement files with every seat held once (issue 1126); not to be merged probe/1126-seed-8 jschoubben 2026-10-28 09:34:26 +01:00
  • d13f74df40 A node that cannot open /dev/net/tun takes no image build, and every node loads tun at boot and keeps its running kernel's modules jschoubben 2026-10-28 12:44:58 +01:00
  • dfe490d9e2 issue-tracker.changes reads each issue's moves over a window from the tracker's own log, so progress since says from what each issue moved, not only where it is jschoubben 2026-10-28 12:30:22 +01:00
  • 4f317201c9 knowledge-base.progress takes since: only what changed in a window, read from the tracker's and mesh-delivery's history, so a five-minute report says what moved (the operator, 2026-10-28) jschoubben 2026-10-28 12:21:05 +01:00
  • 25f6154564 Merge pull request 'Retire the spelling catalogue in the words check, and refuse a compiled program anywhere in the repository (group words/catalog)' (#540) from words/catalog into main mesh-tools 2026-10-28 11:31:37 +00:00
  • b8ba9dd966 Widen the no-binaries check to every tracked file: a program under checks/ is refused too jschoubben 2026-10-28 11:28:29 +01:00
  • 002a0e1a12 Keep the claude-code fixture equal to the renderer's catalog wording jschoubben 2026-10-28 11:19:06 +01:00
  • 9bb85a37f2 Retire the spelling catalogue: the words check lists it and skips module paths in imports jschoubben 2026-10-28 11:27:02 +01:00
  • 774fcdfa93 Merge pull request 'gitea announces from the forge's events, not a poll: an edited base and a close are announced at once, one pass at start (issue 1422)' (#539) from fix/1422-gitea-events into main mesh-tools 2026-10-28 11:16:46 +00:00