Commit Graph

  • 2d2eb5dffb mesh-provisioner: make every plan from the node-engine's published compositions jschoubben 2026-11-02 18:20:39 +01:00
  • 831f34e59a mesh-build-go: the real-go integration tests expect the tests to run after a failed gofmt or vet (ADR 0591) fix/check-every-failure jschoubben 2026-11-02 17:00:30 +01:00
  • 86be014907 mesh-build-go, mesh-build-node: Pin mesh-sdk at 43788bb, the group's head: a check ask runs every level after a failure jschoubben 2026-11-02 16:33:12 +01:00
  • 06358f94bd mesh-build-go: a unit level whose gofmt or vet fails still runs its tests, so one check names every failure jschoubben 2026-11-02 16:17:41 +01:00
  • c52afdf88b Merge pull request 'The vault makes the first credential of every new consumer, as the controller did (issue 1126)' (#595) from fix/1126-provision-credentials into main mesh-tools 2026-11-02 15:31:37 +00:00
  • 019614aedc mesh-vault: make a new consumer's first credential whether or not it is handed jschoubben 2026-11-02 15:37:23 +01:00
  • fe7c5ccb64 Merge pull request 'Modules without the controller: vault judges each sensitive caller, nox records its hand acts, provisioner binds ahead of the want (issue 1126 group B)' (#594) from feat/1126-removal into main mesh-tools 2026-11-02 13:40:53 +00:00
  • fa6dc3a48b Retake a pin whose forge listing failed, naming the forge's cause jschoubben 2026-11-02 12:52:10 +01:00
  • 7c5df1d7aa Decide a pin on a pull request head from the forge, not from go's words jschoubben 2026-11-02 12:49:38 +01:00
  • 7f8701637f Pin mesh-sdk to the group head of issue 1126 jschoubben 2026-11-02 12:27:34 +01:00
  • 067f2f4d61 Record no hand act for a cleanup that deletes nothing jschoubben 2026-11-02 12:24:41 +01:00
  • 0ef81d85b3 Count nox's warrant acts for a vault verb as the operator's decisions jschoubben 2026-11-02 12:23:02 +01:00
  • 04379702e5 Pin mesh-sdk to the group head of issue 1126 jschoubben 2026-11-02 12:20:14 +01:00
  • 9a3ead8fcd Carry the plan entry only on a key no plan names jschoubben 2026-11-02 12:18:38 +01:00
  • fda81c129e Key each provision with the plan entry it is composed from jschoubben 2026-11-02 12:17:27 +01:00
  • ecc7621274 Privilege no caller named controller in the vault; match a hand act's verb exactly jschoubben 2026-11-02 12:13:00 +01:00
  • 3ed3266dde End healers H3 and H4 and the bus-health probe's consumer half with the controller jschoubben 2026-11-02 12:07:26 +01:00
  • 9e9877e6ec Let one hand act warrant a retirement of several consumers jschoubben 2026-11-02 12:05:27 +01:00
  • 0f0ec66e9a nox records the hand act a sensitive vault verb is warranted by jschoubben 2026-11-02 12:05:09 +01:00
  • 344fc6f6bf End the self-check's bus-consumer probe, whose consumers were the controller's jschoubben 2026-11-02 12:04:30 +01:00
  • 70396caeab Pin mesh-sdk to the group head of issue 1126 jschoubben 2026-11-02 11:56:55 +01:00
  • 4aa24ba013 Drop mesh-conditions' use of operator-channel, since nothing in it asks the operator jschoubben 2026-11-02 11:55:54 +01:00
  • 067117b8b8 Point the nats README's bus upgrade at the assigner's put and mesh-wants, since the controller's bus verb ended jschoubben 2026-11-02 11:55:54 +01:00
  • e7b3fd470b Prove the bus tools' removals on the grant mesh-sdk composes jschoubben 2026-11-02 11:52:51 +01:00
  • f8e4c1b0ae Stop serving the vault's move-asks, which only the controller called jschoubben 2026-11-02 11:49:55 +01:00
  • a73b02ea30 Drop the keeper's and config's take-over verbs with the controller's sources jschoubben 2026-11-02 11:47:44 +01:00
  • f83e6e4713 Make each sensitive vault verb judge its own caller jschoubben 2026-11-02 11:42:37 +01:00
  • f723d4372f Let claude-code read its tools and machines from the bus, not the controller jschoubben 2026-11-02 11:37:53 +01:00
  • b44e600e87 Drop artifact-store-tools' controller client; the provisioner client reads placement jschoubben 2026-11-02 11:33:31 +01:00
  • ab610ffed4 Read a go download failure as a pin on a pull request head only when go does not know the revision, so a network failure is retaken and says its own cause jschoubben 2026-11-02 01:48:48 +01:00
  • c4a6452f21 Give mesh-mail-reader's two acceptance tests a due date a week from now, so they do not expire jschoubben 2026-11-02 02:54:35 +01:00
  • e009088150 Point messenger, mesh-watcher, restic and mesh-issues away from the controller jschoubben 2026-11-02 11:26:29 +01:00
  • 40c4fabff6 Let the bus tools remove the controller's leftovers by one word jschoubben 2026-11-02 11:23:41 +01:00
  • 0bfc72d230 Make the controller checks strict: nothing names the placed-nowhere controller jschoubben 2026-11-02 11:21:51 +01:00
  • 32c4c52261 Merge pull request 'nox works without the controller: each command calls the seat or tool that owns its job (issue 1126)' (#593) from fix/1126-nox into main mesh-tools 2026-11-02 10:56:31 +00:00
  • d2de18fd6b Merge pull request 'Without the controller: the vault retires and rotates, the healers act, the artifact store is swept, config and conditions stand alone (issue 1126)' (#592) from fix/1126-gates-catalog into main mesh-tools 2026-11-02 10:36:34 +00:00
  • 63de1f7e0d nox cleanup delete confirms with the holder's name, as the vault asks jschoubben 2026-11-02 10:47:56 +01:00
  • 9523050a98 nox nodes reads placement with the console's answered-by line after it jschoubben 2026-11-02 10:44:43 +01:00
  • 326897d877 mesh-config and mesh-conditions without the controller's lease jschoubben 2026-11-02 10:43:52 +01:00
  • a3e9f2cc0f mesh-cli requires the console's endpoint and writes its address jschoubben 2026-11-02 10:42:03 +01:00
  • 5cdf8295f3 nox calls the seats that own each job, not the unassigned controller jschoubben 2026-11-02 10:40:52 +01:00
  • 0e6c358623 mesh-healers act and artifact-store-tools sweeps without the controller's lease jschoubben 2026-11-02 10:38:58 +01:00
  • fe7d4504bf mesh-vault: retire and rotate without the controller's lease jschoubben 2026-11-02 10:35:59 +01:00
  • db104bdb08 Merge pull request 'The vault mints a joining node's token, account and certificate, and rotates a node's login over two; nox enrol open (issue 774)' (#591) from feat/l3-enrol into main mesh-tools 2026-11-02 07:56:27 +00:00
  • c84dfb5e0b Pin mesh-sdk at dff0ce2, the enrolment group's rebased head, so every member builds the same contract (issue 774) jschoubben 2026-11-02 01:44:05 +01:00
  • 67e4d4b062 Name the vault's enrolment wire test by its acceptance criteria alone, not by a review round (issue 774) jschoubben 2026-11-02 01:42:29 +01:00
  • f41a5a8df1 Vault: keep a rotation's hand acts in mesh-sdk's NodeLogin.Acts, and test a tunnel without its key or range jschoubben 2026-11-02 01:10:39 +01:00
  • 09824b4839 Vault: answer the enrolment verbs in mesh-sdk's wire shapes, certify the serving key presented, record each rotation's hand act jschoubben 2026-11-02 01:03:19 +01:00
  • 272eff8b39 Vault: take the node-logins key and the enrolment token from mesh-sdk's contract jschoubben 2026-11-02 00:29:28 +01:00
  • 9249ca7b57 mesh-cli: nox enrol open opens a sealed enrolment token locally with the operator's private key jschoubben 2026-11-02 00:27:02 +01:00
  • 049bd176c3 Vault: enrolment token and node account, signing for enrolment, a node's two logins and their rotation, own hand-out of a login jschoubben 2026-11-02 00:26:21 +01:00
  • 98e08c0dd0 Merge pull request 'Modules stop depending on the controller before the lease write (issue 774)' (#590) from feat/l3-removal into main mesh-tools 2026-11-02 00:35:23 +00:00
  • 2c5e9c9a98 Pin mesh-sdk at c21d8fd, the removal group's head, so every member builds the same contract (issue 774) jschoubben 2026-11-02 00:53:42 +01:00
  • e4382d016e mesh-conditions answers hand-back as gone and writes nothing: nothing reads the take-over key any more (ADR 0564 clause 9) jschoubben 2026-11-02 00:51:55 +01:00
  • 2877b87f29 A catalogue test refuses a manifest that still depends on the controller at the lease write (ADR 0571 §13) jschoubben 2026-11-02 00:21:13 +01:00
  • a8c1c275dd messenger hears and asks the condition keeper alone, never the controller (ADR 0564 clause 9) jschoubben 2026-11-02 00:19:58 +01:00
  • 204a02240c mesh-watcher stops consuming the controller's doctor-heartbeat (ADR 0564 clause 9) jschoubben 2026-11-02 00:18:29 +01:00
  • 432de55186 mesh-hand-acts and mesh-healers stop reading the controller's hand-act log (ADR 0571 §13) jschoubben 2026-11-02 00:17:52 +01:00
  • 2f52f91b5c mesh-config stops reading the controller's predefined list and declared-config mirror (ADR 0565 §4) jschoubben 2026-11-02 00:15:43 +01:00
  • c1a32b4385 The condition keeper stops watching the controller's conditions (ADR 0564 clause 9) jschoubben 2026-11-02 00:13:19 +01:00
  • 4497f26257 pacman reads a node's declared packages from the node-engine alone (ADR 0565 clause 6) jschoubben 2026-11-02 00:12:53 +01:00
  • fc5b849d85 The bus module sets and restores a key-value bucket's expiry (ADR 0582) jschoubben 2026-11-02 00:12:14 +01:00
  • ce3bedd584 Merge pull request 'pacman's mirror list keeps a fallback tail; a failed check leads the merge ask's headline (ADR 0586, issues 1876, 1166)' (#589) from fix/mirror-tail-headline into main mesh-tools 2026-11-01 18:04:05 +00:00
  • 90f7f87c2a Say a failed check first in the merge ask's headline, since a merge is not gated on the check and the headline is the phone's only warning (issue 1166) jschoubben 2026-11-01 18:06:27 +01:00
  • 68b5febee7 Keep the freshest mirrors first and a tail of four more in pacman's shared list, so a node has a fallback (ADR 0586, issue 1876) jschoubben 2026-11-01 18:05:26 +01:00
  • 3483f603ae Merge pull request 'pacman keeps one mirror list for the mesh and reads each node's own packages; the provisioner composes once (ADR 0585, ADR 0565 §6, ADR 0570; issues 1876, 1953, 1954)' (#588) from feat/node-packages into main mesh-tools 2026-11-01 17:02:26 +00:00
  • 5ccce4967a Keep three timeout tests' upper bounds well under the production timeouts, so a timeout that falls back to production still fails (issue 1814, review round 3) jschoubben 2026-11-01 17:26:58 +01:00
  • b3fcf408f2 Make tests that wait for concurrent work wait on the event or a condition with a long deadline (issue 1814) jschoubben 2026-11-01 17:24:19 +01:00
  • 3d1a450406 pacman starts a round's run only once the node's file holds the round's mirror list, and a refresh never writes after a round opened (ADR 0585 §2, §4; review round 1) jschoubben 2026-11-01 16:32:05 +01:00
  • 7375d613b4 Pin pacman and mesh-provisioner to the group's mesh-sdk head b2a27ed5 (issues 1953, 1876, 1954) jschoubben 2026-11-01 16:24:04 +01:00
  • 0471b2e105 Merge remote-tracking branch 'origin/main' into feat/node-packages jschoubben 2026-11-01 16:20:59 +01:00
  • 2f8cb338ff Merge branch 'feat/compose-once' of /home/jochen/projects/novox/mesh-catalog-compose into feat/node-packages jschoubben 2026-11-01 16:19:54 +01:00
  • a6c2f7b31a mesh-provisioner: compose a node once and read its own states from the copy (issue 1954) jschoubben 2026-11-01 16:19:13 +01:00
  • 2b495c4818 pacman keeps one mirror list for the mesh, ranked in the write that opens each round and written by every node (ADR 0585, issue 1876) jschoubben 2026-11-01 16:18:22 +01:00
  • 37613ec6a9 pacman reads the node-engine's packages as mesh-host.packages, the bucket each engine writes (ADR 0565 clause 6, issue 1953) jschoubben 2026-11-01 16:09:50 +01:00
  • cff7588797 Merge pull request 'Agree a toolchain by strict majority; a node on another version sits out (ADR 0584, issue 1578)' (#587) from fix/toolchain-majority into main mesh-tools 2026-11-01 15:04:11 +00:00
  • f06335cf7e Pin the Go and TypeScript build modules to mesh-sdk 67354f8: a check ask for another toolchain is declined too (ADR 0584, issue 1578) jschoubben 2026-11-01 15:38:27 +01:00
  • c414d27c42 Pin the Go and TypeScript build modules to mesh-sdk 71be15f so a node off the agreed toolchain declines the ask (ADR 0584, issue 1578) jschoubben 2026-11-01 15:28:57 +01:00
  • fc300e3d72 Merge pull request 'Readers leave the controller: hand acts, packages, compare, provisioner on the watched reader (design 47 L5-L7)' (#586) from feat/l5-l7-main into main mesh-tools 2026-11-01 13:53:20 +00:00
  • 2002b08505 gitea: the check-owed test reads a missing consumes list as empty, since group A removed gitea's last consume jschoubben 2026-11-01 10:39:03 +01:00
  • 6de5c6680e Pin group A's mesh-sdk head on main jschoubben 2026-11-01 09:57:46 +01:00
  • 4a6395feae pacman falls back to the controller's mirror for every node when the engine's state cannot be read, and says the engine's error (ADR 0565 clause 6, review round 2) jschoubben 2026-11-01 03:55:20 +01:00
  • 1db0181920 pacman reads the node-engine's packages first and the controller's mirror per node until the lease write; compare counts only an indexer that was read, and a forge not heard is said in the row (review round 1) jschoubben 2026-11-01 03:52:43 +01:00
  • 8c07d2ef67 claude-code records its warrant through the hand-act seat, and the group's modules pin mesh-sdk at 8311ecb jschoubben 2026-11-01 03:36:56 +01:00
  • a673fc52a7 mesh-config compare: leave out merged or closed pull requests' candidates and a module with no manifest and no mirrored keys, so compare can come out empty (issue 1953 L5d, L5e) jschoubben 2026-11-01 03:20:48 +01:00
  • b0dc7e08de mesh-provisioner recomposes a node when one of its haves changes, and pins mesh-sdk at 8311ecb jschoubben 2026-11-01 03:33:48 +01:00
  • aa4a4253ad mesh-provisioner composes from one watched copy of its reads, not key by key jschoubben 2026-11-01 03:31:17 +01:00
  • cd7582a0f2 mesh-config and mesh-healers record into the hand-act seat alone, and gitea consumes no event of the controller (ADR 0565 clause 11, ADR 0571 clause 13, issues 1953 and 1955) jschoubben 2026-11-01 03:29:48 +01:00
  • 1d3e2b8aca pacman reads the node-engine's packages, not the controller's declared-packages mirror (ADR 0565 clause 6, issue 1953) jschoubben 2026-11-01 03:22:13 +01:00
  • 462bcfe451 Merge pull request 'Catalog readers decode instead of judging; mesh-build-go builds against the asked package versions (ADR 0578, 0573 §2)' (#585) from feat/judge-once into main mesh-tools 2026-11-01 07:54:14 +00:00
  • 7f5631b61d pacman falls back to the controller's mirror for every node when the engine's state cannot be read, and says the engine's error (ADR 0565 clause 6, review round 2) feat/l5-l7 jschoubben 2026-11-01 03:55:20 +01:00
  • 07284d5a42 pacman reads the node-engine's packages first and the controller's mirror per node until the lease write; compare counts only an indexer that was read, and a forge not heard is said in the row (review round 1) jschoubben 2026-11-01 03:52:43 +01:00
  • ac9380262d mesh-provisioner pins mesh-sdk at c77d17f: a follower joining a watched state loses no change jschoubben 2026-11-01 03:52:17 +01:00
  • 432326264f artifact-store-tools: date the sweep test's builder log on the real clock jschoubben 2026-11-01 03:20:00 +01:00
  • 816cf74764 claude-code records its warrant through the hand-act seat, and the group's modules pin mesh-sdk at 8311ecb jschoubben 2026-11-01 03:36:56 +01:00
  • ca37ee8faf mesh-config compare: leave out merged or closed pull requests' candidates and a module with no manifest and no mirrored keys, so compare can come out empty (issue 1953 L5d, L5e) jschoubben 2026-11-01 03:20:48 +01:00
  • 48b1711bd1 mesh-provisioner recomposes a node when one of its haves changes, and pins mesh-sdk at 8311ecb jschoubben 2026-11-01 03:33:48 +01:00
  • bfa6aedb35 mesh-provisioner composes from one watched copy of its reads, not key by key jschoubben 2026-11-01 03:31:17 +01:00
  • 3e08301b27 Pin every module to the group's mesh-sdk head after the gofmt fix jschoubben 2026-11-01 03:30:59 +01:00
  • 41beb29777 mesh-config and mesh-healers record into the hand-act seat alone, and gitea consumes no event of the controller (ADR 0565 clause 11, ADR 0571 clause 13, issues 1953 and 1955) jschoubben 2026-11-01 03:29:48 +01:00