Commit Graph

  • bb6e472939 Merge pull request 'A node answers its seed with an old-form build, a failed or held module, and those held behind it, as they run today (issue 1126)' (#170) from fix/1126-seed-oldbuild into main mesh-tools 2026-10-28 23:05:08 +00:00
  • 93f33e2305 Pin mesh-sdk 76f7c4d: a held module keeps its items (issue 1126) jschoubben 2026-10-28 23:56:51 +01:00
  • abdf85aa4f Node agent: say how it keeps each module today, held, failed or at a build of the old form named by its have's build; pin mesh-sdk f609be7 (issue 1126) jschoubben 2026-10-28 23:50:19 +01:00
  • 91686fdb81 Node agent: count a module running a build of the old form as held today, so the seed keeps it as the controller does (issue 1126) jschoubben 2026-10-28 23:45:28 +01:00
  • d2a868f99f Merge pull request 'Node agent: say what it holds today in its answer, so a seed holding the same is the same (issue 1126)' (#169) from fix/1126-seed-held into main mesh-tools 2026-10-28 22:20:59 +00:00
  • a143678fd8 Pin mesh-sdk 77b48a4, the group's head (issue 1126) jschoubben 2026-10-28 22:41:14 +01:00
  • 9914459830 Pin mesh-sdk 06b13ec, the group's head (issue 1126) jschoubben 2026-10-28 22:18:26 +01:00
  • b7159d71a6 Node agent: say what it holds today in its answer, so a seed that holds the same is the same; pin mesh-sdk b03bf4c (issue 1126) jschoubben 2026-10-28 22:15:24 +01:00
  • e0c7f36ca9 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
  • 9120f94aa4 Name the seat mesh-placement where the kept declaration's retirement reads the placement, as L2 moved it (issue 774, ADR 0567) jschoubben 2026-10-28 20:36:41 +01:00
  • 1900b40192 Pin mesh-sdk 4e6e5cc, the L3 group's head rebased on L2 (issue 774) jschoubben 2026-10-28 20:36:41 +01:00
  • 6cbdb3712e Judgements and refused setuid searches, which any caller may ask, roll in one bounded key of the node's and add no key to the bucket every node shares; a key per act is kept for hand-overs, access acts and searches started (issue 774, ADR 0563 §2; rev-l3 round 2) jschoubben 2026-10-28 10:33:25 +01:00
  • 2a0c428ef9 The last setuid search's start and each library's own take ask are keys of their own, which no number of other acts moves (issue 774, ADR 0563 §2, §4; rev-l3 round 1) jschoubben 2026-10-28 10:27:23 +01:00
  • a5d1f7dde4 From the lease write a directory used as found names the node seat's hand-over as its way out, following the lease the engine hears (issue 774, ADR 0563 §5; rev-l3 round 1) jschoubben 2026-10-28 10:25:54 +01:00
  • 95dd64c774 Every signed ask is verified with the controller's key the engine trusts at that ask, so after the lease write none signed by it is taken (issue 774, ADR 0563 §7, ADR 0550 §2; rev-l3 round 1) jschoubben 2026-10-28 10:25:10 +01:00
  • 81fa009bf4 The node seat's acts and the engine's own asks are the node-engine's declared state acts on the bus: one key each under its own node's keys, written by compare-and-set, one ask open per path made by a create; acts reads one by its id (issue 774, ADR 0563 §2, §3) jschoubben 2026-10-28 10:19:02 +01:00
  • 05ff90e3c1 The engine judges its node seat's hand-over and take as it judges the controller's ask, answers root-free for its own machine, and asks a library's take itself once (issue 774, ADR 0563 §3, §4, §6) jschoubben 2026-10-28 09:56:01 +01:00
  • aaffc19232 The node seat node-engine served on the engine's link: its verbs with their proven caller, its acts kept in its own state, a hand-over or access act asked of the operator as node-engine-<node> and performed only on the warrant (issue 774, ADR 0563 §1-§3) jschoubben 2026-10-28 09:56:01 +01:00
  • 479ac71050 The node trusts the vault's key beside the controller's until the lease is handed away, says what it trusts in its record, asks the vault for its own certificate, composes the vault's authority beside the controller's, and reads the kept declaration no more once every placed module has a have (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:34:53 +01:00
  • 4f6b389a37 Merge pull request 'Node agent: compose from the seat mesh-placement and answer proposals (issue 1126, delivery 2 of 2)' (#167) from feat/1126-placement-seat into main mesh-tools 2026-10-28 18:33:12 +00:00
  • 45f5e27526 Pin mesh-sdk to the group's head 38dbe1d (issue 1126) jschoubben 2026-10-28 18:50:39 +01:00
  • dd8ba97989 Node agent: wait for the bus's word that the seat's placement and candidates states were created, then watch them (issue 1126) jschoubben 2026-10-28 18:43:48 +01:00
  • ab22efd8b1 Node agent: follow the placement key at start only and say why when it cannot; test the reached candidate and the switched rule; word the log by the seat's state (issue 1126) jschoubben 2026-10-28 18:39:12 +01:00
  • 54aee345fc Node agent: a node that never composed its own takes a failed placement read as not placed; one that did keeps waiting (issue 1126) jschoubben 2026-10-28 18:18:30 +01:00
  • 8639b373d2 Prove a missing or refused bucket is a watch error, so a node waits on the controller's compositions and tries again (issue 1126) jschoubben 2026-10-28 18:16:39 +01:00
  • 5fc69444f6 Node agent integration tests: candidates keyed by proposal, under the node's real grant on the seat's states (issue 1126) jschoubben 2026-10-28 18:15:18 +01:00
  • 2fe9d678fc Node agent: answer a proposal's candidate keys and follow the seat's placement, not the indexer's groups (issue 1126) jschoubben 2026-10-28 18:13:40 +01:00
  • 58b4f8b6bc Merge pull request 'Reconcile a module from the machine's facts at start and on a down edge (issue 1957, ADR 0568)' (#166) from fix/1957-boot-reconcile into main mesh-tools 2026-10-28 17:41:54 +00:00
  • bf667a602d Reconcile a module from the machine's facts at engine start and at each edge of a declared-running resource going down (issue 1957, ADR 0568) jschoubben 2026-10-28 18:06:34 +01:00
  • 9a8b3870ba Merge pull request 'The node-engine applies every module but the held ones and marks only those (group fix/1126-apply-culprit, issue 1126)' (#165) from fix/1126-apply-culprit into main mesh-tools 2026-10-28 16:34:48 +00:00
  • 24c23a1d06 A module the node holds alone marks that module, keeps what runs of it, and never refuses the node (issue 1126) jschoubben 2026-10-28 17:17:49 +01:00
  • a548a61e86 Merge pull request 'The node-engine reloads the service manager when a unit file or drop-in it writes changes (group fix/shutdown-bound, issue 1126)' (#164) from fix/shutdown-bound into main mesh-tools 2026-10-28 15:05:10 +00:00
  • bc28606d45 apply: reload units only for a unit file actually written or removed (issue 1126) jschoubben 2026-10-28 15:49:34 +01:00
  • 7f0eb9c51d apply: reload the service manager once when a file in a unit directory moved (issue 1126) jschoubben 2026-10-28 15:43:35 +01:00
  • 690aa662a8 Merge pull request 'The node's shadow says which input woke each answer (issue 1126)' (#163) from fix/1126-vault-own into main mesh-tools 2026-10-28 14:20:39 +00:00
  • 8bd0b5db15 Say which input woke each placement candidate's answer, so a probe's safety check tells a loop from moving inputs (issue 1126) jschoubben 2026-10-28 14:44:27 +01:00
  • b4fd2cc210 Merge pull request 'A one-shot at rest satisfies a stopped declaration, so the kernel's boot cleanup applies (issue 1126)' (#162) from fix/ace-tun-cleanup into main mesh-tools 2026-10-28 13:34:20 +00:00
  • 1a021052fe Drop the never-ran reading: a start timestamp of 0 does not mean a one-shot never ran (issue 1126) jschoubben 2026-10-28 14:26:48 +01:00
  • cf738cdb90 Read a one-shot that never ran as stopped, and one at rest as stopped to a stopped declaration (issue 1126) jschoubben 2026-10-28 14:19:13 +01:00
  • 7a2af23764 Merge pull request 'Pin mesh-sdk f387581: the node composes refusals per module and folded modules' owned paths as the controller does (issue 1126, group fix/1126-seed-8)' (#161) from fix/1126-seed-8 into main mesh-tools 2026-10-28 13:27:09 +00:00
  • daaa1962bd Pin mesh-sdk f387581, the group's head: a module's own refusal refuses that module, contributions in config words, folded modules own their manifest's paths (issue 1126, seed-8) jschoubben 2026-10-28 14:08:58 +01:00
  • df878ba1f7 Merge pull request 'The node answers a placement candidate once, retries a read the bus did not answer, and keeps a file's secrets entry by entry (issue 1126; group fix/1126-seed-same-3)' (#160) from fix/1126-seed-same-3 into main mesh-tools 2026-10-28 11:40:38 +00:00
  • 1e01868d92 An unplaced node owes no pass, so no timer is armed again; every wait a test sets is put back when it ends; pin mesh-sdk 8520a4c, whose masking splits only a file's secrets (issue 1126; review of seed-same-3, round 1) jschoubben 2026-10-28 12:25:32 +01:00
  • 9d04ae7edd Hold the secrets row to the have read's error, as the loop fix's Env.Held returns it (issue 1126) jschoubben 2026-10-28 12:13:09 +01:00
  • 16df7d0b7a Merge branch 'fix/1126-answer-once' into fix/1126-seed-same-3 jschoubben 2026-10-28 12:11:50 +01:00
  • cd1d2ff447 A read the bus did not answer is tried again after a bound, never kept as an answer: the shadow's answer, the node's composition and the own-secret step (issue 1126) jschoubben 2026-10-28 12:11:08 +01:00
  • faf6a23d91 Fill go.sum for mesh-sdk 70de942 (issue 1126) jschoubben 2026-10-28 12:06:25 +01:00
  • 2f4e81f3b0 A file's secrets are kept entry by entry: the box that runs at one secret is reused only there, where it opens to the same value; pin mesh-sdk 70de942 (issue 1126, C1; the seed-7 probe) jschoubben 2026-10-28 12:05:48 +01:00
  • 4182f8fbfb The node answers a placement candidate revision once: a module's have whose health words alone moved, or a key written again with its value, no longer composes every group's answer again (issue 1126) jschoubben 2026-10-28 12:02:57 +01:00
  • c3a2ffde67 Merge pull request 'The placement test's resolved values carry their source, as mesh-config writes them (issue 1126)' (#159) from fix/1126-seed-same-2 into main mesh-tools 2026-10-28 10:08:46 +00:00
  • 6502ba6ad6 The placement test's resolved values carry their source, as mesh-config writes them: a value with no source is laid by neither the controller nor a node composing its own (issue 1126, C2; the group check of 3cb7f74b347d) jschoubben 2026-10-28 10:47:01 +01:00
  • f6c0520f26 Merge pull request 'Node shadow: reuse a seal only at its slot, lay values as the controller does, newest candidate first, and hand the vault a drifted own secret (issue 1126, group fix/1126-seed-same)' (#158) from fix/1126-seed-same into main mesh-tools 2026-10-28 09:46:47 +00:00
  • c912bcab6e The node agent finds a drifted own secret's running file by its id as the node runs it, its module's name first (issue 1126, cause C4; review round 2) jschoubben 2026-10-28 10:01:38 +01:00
  • 63c0b445d7 Fill go.sum for mesh-sdk 1062b33, the group's head (issue 1126) jschoubben 2026-10-28 09:53:34 +01:00
  • 653ff61662 The node agent hands the vault what runs of an own secret its shadow answer says another value of, through move-in's replace_running, while it applies the controller's compositions (issue 1126, cause C4) jschoubben 2026-10-28 09:51:48 +01:00
  • a7cd0a7807 Node shadow: reuse a running seal only at its own slot, lay values as the controller does, answer the newest candidate first and say how it goes (issue 1126, C1 C2, T1 T2 T3) jschoubben 2026-10-28 09:41:29 +01:00
  • 7271cf151b Merge pull request 'Node shadow: what runs is the composition at the have's digest, not the stale kept copy (issue 1126, group fix/1126-shadow-bodies)' (#157) from fix/1126-shadow-bodies into main mesh-tools 2026-10-28 07:46:33 +00:00
  • 82d0e125b2 What runs is the composition the have names, never the copy of the declaration kept before the switch (issue 1126, probe #532: shanks' xterm, zsh and its plugins answered differing at the very digest their haves say runs) jschoubben 2026-10-28 01:42:17 +01:00
  • a4c24a1979 Pin mesh-sdk 362a3f1: a refusal names what another node cannot run here, and is answered without a composition per module (issue 1126, probe #532) jschoubben 2026-10-28 01:40:18 +01:00
  • cff69893a3 Merge pull request 'Node shadow: decides 'same value' by opening seals in memory, says when it is not ready or slow, carries the bus membership (issue 1126, group fix/1126-shadow-shows)' (#156) from fix/1126-shadow-shows into main mesh-tools 2026-10-28 00:21:51 +00:00
  • 047237c911 The shadow shows its work: differing resources with masked bodies and whether a sealed value is the same, a minute not ready or a slow answer said in the journal and the answer; pin mesh-sdk 4e0c577 (issue 1126, seed #531) jschoubben 2026-10-28 01:11:55 +01:00
  • 449cda1b00 Merge pull request 'Node agent: a switch never marks the new run's modules, a failed read or a bus pause keeps what runs, stale composer marks clear (issue 1126, group fix/1126-switch-safe)' (#155) from fix/1126-switch-safe into main mesh-tools 2026-10-27 23:52:28 +00:00
  • a6e53a4858 A composer's mark never covers another cause, and a run that ended marks and clears nothing (issue 1126, review of the switch, round 1) jschoubben 2026-10-28 00:41:25 +01:00
  • 4993f1b1d7 Make the switch between composers safe: a composer tells only its own run's agent, a pass whose run ended refuses nothing, a bus that pauses is tried again, a mark keeps what runs and clears at the next start; pin mesh-sdk 7359d18 (issue 1126) jschoubben 2026-10-28 00:34:10 +01:00
  • 199f6b48b1 Merge pull request 'Node agent: a failed placement read picks no owner, a deleted placement returns the node to the controller without a restart (issue 1126, group fix/1126-shadow-all)' (#154) from fix/1126-shadow-all into main mesh-tools 2026-10-27 22:44:12 +00:00
  • 4636261435 A failing placement read chooses neither composer, a deleting head is compared with the controller's compositions at the node's wants, and a placement watch that ends is said; pin mesh-sdk e32d777 (issue 1126, review of the shadow, round 1) jschoubben 2026-10-27 23:37:59 +01:00
  • 4e8fdfdf04 The way back: a node whose placement key is deleted returns to the controller's compositions without a restart, says so in its journal and its have, and answers such a candidate as returning; pin mesh-sdk 472d5f3 (issue 1126, the seed's revert) jschoubben 2026-10-27 23:25:59 +01:00
  • d00926e089 Compose with what the node runs, so a folded module of an old-form build is carried as it runs, and bound an archive read; pin mesh-sdk 2fd5ffd (issue 1126, the seed's shadow) jschoubben 2026-10-27 23:19:40 +01:00
  • bb15aab50e Merge pull request 'Node agent: compose its own modules from their builds and providers' served keys under its own grant (issue 1126, group fix/1126-node-creds)' (#153) from fix/1126-node-creds into main mesh-tools 2026-10-27 20:32:37 +00:00
  • 6a4718b712 Hold in a unit table which haves count a module as run inside the node's own composition, so a failed have naming nothing is caught without H8's timing (issue 1126, review round 2) jschoubben 2026-10-27 21:29:51 +01:00
  • d5adf9b72b Drop two debugging lines from the build read and H8, and say why the refused read's wait stays above the history bound (issue 1126, review round 1) jschoubben 2026-10-27 21:21:19 +01:00
  • 7365890298 Prove in H8 that a node reads a placed module's build and a provider's served key through its own session, refused without the grant, and take a failed have naming nothing as no module run inside the node's own; pin mesh-sdk 7a8e9f9 (issue 1126, review round 1) jschoubben 2026-10-27 21:18:45 +01:00
  • 0862f97972 Pin mesh-sdk 538ffba, the group's head (issue 1126) jschoubben 2026-10-27 21:04:02 +01:00
  • 45439fd742 Compose each module from its build and read what providers elsewhere serve, pinning mesh-sdk cebc651, so a self-composing node hands its moved modules and settles mailu's domain (issue 1126) jschoubben 2026-10-27 21:01:16 +01:00
  • 0184e2a5b8 Watch the have bucket only where the node's grant allows, so a node composing itself is not refused by the bus (issue 1126) fix/1126-fold-watch jschoubben 2026-10-27 09:27:54 +01:00
  • 50c229f905 Merge pull request 'The node agent folds what it runs at no new-form build into its own composition, judged from its haves, so the first composition after a restart keeps the bus (issue 1126)' (#152) from fix/1126-fold into main mesh-tools 2026-10-27 08:09:06 +00:00
  • 69b845c0f7 Read what a node runs inside its own composition from its haves, not from what the agent applied, so a restarted agent's first composition keeps the bus (issue 1126, review of the fold round 1) jschoubben 2026-10-27 09:03:59 +01:00
  • caafd9306e Keep what the node runs inside its own composition there when it composes itself, so the seed's answer and the node's own composition keep the tunnel and the bus (issue 1126) jschoubben 2026-10-27 08:51:41 +01:00
  • 0d22776b20 Merge pull request 'The node agent answers a placement candidate in shadow, applies nothing, and keeps its own sealed values in its have (issue 1126, ADR 0559 §4)' (#151) from feat/1126-l2b into main mesh-tools 2026-10-27 07:21:19 +00:00
  • 1803d25c3a Watch afresh and read from nothing at each shadow run, so a candidate deleted while it was down is not answered and no earlier watch stays open (issue 1126, review of L2b round 2) jschoubben 2026-10-27 02:48:54 +01:00
  • d56c576e9a Begin the shadow composer again with a backoff when an input cannot be watched yet, and pin mesh-sdk's fixed head, so a node answers candidates for the whole link (issue 1126, review of L2b round 1) jschoubben 2026-10-27 02:44:39 +01:00
  • fbc6d6330f Extend H8 with a placement candidate the node answers same and applies nothing for, and pin mesh-sdk's group head (issue 1126) jschoubben 2026-10-27 02:29:17 +01:00
  • fb0cdabe25 Answer every placement candidate in shadow in the node's own key, applying nothing, so a placement change is checked by the nodes it places before it merges (issue 1126, ADR 0559 §4) jschoubben 2026-10-27 02:26:01 +01:00
  • 0474a2a3cb Keep the node's own composition's sealed values in its key and read a policy within the agent's context, so a restart applies nothing again (issue 1126) jschoubben 2026-10-27 02:21:36 +01:00
  • 180a7e7b80 Merge pull request 'A directory used as found is not a module's health, and a failed have names its cause (issue 1496, ADR 0557 §4, §5)' (#150) from fix/1496-start-health into main mesh-tools 2026-10-26 21:38:02 +00:00
  • be94d2689e Merge pull request 'The node composes its own modules once the catalogue places it, and writes its record (issue 1126)' (#149) from feat/1126-nodes-compose into main mesh-tools 2026-10-26 21:11:36 +00:00
  • b225c7bb4c A directory used as found is not a module's health, and a failed have says why (ADR 0557 §3, issue 1496) jschoubben 2026-10-26 22:04:24 +01:00
  • 1d44288514 Pin mesh-sdk 9796444 (l2-next: feat/1126-nodes-compose merged with sdk main #101, the standing-test race fixes) (issue 1126) jschoubben 2026-10-26 22:05:41 +01:00
  • af2d2a2c14 Pin mesh-sdk 5f45175 (l2-next: feat/1126-nodes-compose merged with sdk main) after merging main (issue 1126) jschoubben 2026-10-26 21:59:21 +01:00
  • 59d77dd457 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) jschoubben 2026-10-26 20:35:52 +01:00
  • 23d66187a8 Review of L2, round 3: a have written with no composition keeps what the module's last have said runs (fingerprint, digest, sealed values), for every writer; a record module run nothing of since the start judges its move against its last have and waits for a yes (issue 1126, ADR 0547 §3) jschoubben 2026-10-26 20:29:07 +01:00
  • 4476e58080 Review of L2, round 2: a refusal at the first compose after a start keeps what the module's have said runs (1); each have of a self-composing node carries the values its composition holds sealed, and the composer reuses them after a restart, so a rotated secret moves no composition at a restart (2); pin mesh-sdk dd9d9d5 (issue 1126, ADR 0547 §3) jschoubben 2026-10-26 20:23:16 +01:00
  • 58de6aa10a Review of L2: a node that cannot compose says so in each wanted module's have, failed, while it keeps what it runs (H2); the composer keeps the box the node runs when it opens to the vault's value, so neither the switch nor a restart moves a composition (H1); pin mesh-sdk 3968849, whose node asks the vault only for a module declaring a secret (H8's failure) (issue 1126) jschoubben 2026-10-26 20:09:40 +01:00
  • cdd3f3fd4f Pin mesh-sdk feat/1126-nodes-compose 9713c30: placement carries a settings-form module's values (issue 1126) jschoubben 2026-10-26 19:40:41 +01:00
  • 21d6583b5e The node agent begins again composing its own when the catalogue places its node, with no restart (issue 1126, ADR 0549 §4) jschoubben 2026-10-26 19:34:24 +01:00
  • bb46a6ad0f The node composes again when the vault says a secret changed, so a rotated secret or credential reaches it at once (issue 1126, ADR 0547 §2) jschoubben 2026-10-26 19:26:25 +01:00
  • f8afaefba0 The node keeps the mesh's own certificate it applies, from its kept declaration at start, for its record; one agent test folded to hold the count (issue 1126, ADR 0555 §3) jschoubben 2026-10-26 19:24:36 +01:00
  • 1e38c42646 The node's composer asks the vault for the pair credentials its composition reads, as consumer and provider, sealed to its key (issue 1126, ADR 0550 §5) jschoubben 2026-10-26 19:21:22 +01:00
  • 1241ee7041 Pin mesh-sdk 4d5f430: the node's wants say it composes them (Self) (issue 1126) jschoubben 2026-10-26 19:14:38 +01:00
  • 2dc384d641 The node's composer asks the vault's own for its modules' secrets sealed to its key, and keeps a value first had while its generation stands; two agent tests folded to hold the count (issue 1126, ADR 0550 §5) jschoubben 2026-10-26 19:05:12 +01:00