Commit Graph

  • b03bf4c118 A node's answer holds as today what it holds today, so a seed that reproduces today is the same (issue 1126) jschoubben 2026-10-28 22:13:37 +01:00
  • 53f2649369 Merge pull request 'A build puller parked at capacity 0 wakes when its settings file changes, and retries a failed setting follow (issue 734's kind)' (#122) from fix/park-wakes into main mesh-tools 2026-10-28 21:03:13 +00:00
  • 8eafc0c5ce The placement reader names the seat mesh-placement's state, held by the assigner, as L2 moved it (issue 774, ADR 0567) feat/774-vault-mints-l2 jschoubben 2026-10-28 20:21:27 +01:00
  • 50de0a5a71 The node seat's acts reads one act by its id (issue 774, ADR 0563 §9) jschoubben 2026-10-28 10:19:31 +01:00
  • 2323ba19db The node-engine's declared state acts: created by the grants part as a placed module's, its manifest placed on every node, and written by each node's engine under its own keys alone (issue 774, ADR 0563 §2, §3) jschoubben 2026-10-28 10:13:07 +01:00
  • 63607ba169 The vault's secret-ask is said to answer the callers its manifest names (issue 774, ADR 0563 §8) jschoubben 2026-10-28 10:00:47 +01:00
  • 82c54870ed A module's trusted list of callers in the SDK, so the vault's secret-ask answers the callers its manifest names as the runtime proved them (issue 774, ADR 0563 §8) jschoubben 2026-10-28 09:58:27 +01:00
  • 79231a9e6c A node's engine answers its own node's node-engine verbs, says the seat's events and asks the operator as node-engine-<node>, and no other account answers them (issue 774, ADR 0563 §1, §3, §6) jschoubben 2026-10-28 09:45:48 +01:00
  • 222d605f6f The node seat node-engine: held by every node's engine, its six verbs and three events, and no module may claim it (issue 774, ADR 0563 §1) jschoubben 2026-10-28 09:43:40 +01:00
  • 3a8997c58a Bundle the mesh's authorities by certificate, and check a node's certificate against every one a bundle holds (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:27:17 +01:00
  • d6db3f38e6 The vault signs: the contract of its state signers, its verb sign and its event signed, a node's grants to ask it and to read what it trusts, and the authority composed as a bundle (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:26:12 +01:00
  • 18a47ac3c7 Placed: a module in the first revision heard of a node's key stands since before it, so the seed's placement does not leave out what already ran (issue 774) jschoubben 2026-10-28 09:18:11 +01:00
  • 1386219d4d One reader of the catalogue's placement and the toolchain gate over it, in place of the three copies over the controller's assignments (issue 774, ADR 0549 §3, issue 1940); the assigner may read the lease (ADR 0549 §5) jschoubben 2026-10-28 09:15:39 +01:00
  • 10d4d2f845 Checker seat test: the try replaces both shell commands (issue 774) jschoubben 2026-10-28 09:09:58 +01:00
  • b3100c55a1 Checker seat: the try's verb also replaces docker run postgres, as the controller's try did (ADR 0547 §10, issue 774) jschoubben 2026-10-28 09:09:23 +01:00
  • 0062bdc4a6 buscompose: the assigner may read the controller's lease, to choose where grants are read from (issue 774) jschoubben 2026-10-28 09:11:27 +01:00
  • a1a688b19e delivery: the grants part's grant keys and the source the assigner reads (a1; issue 774) jschoubben 2026-10-28 09:10:15 +01:00
  • 54b17164ef Checker seat test: fold into the closed-set seats test, no new test function (issue 774) jschoubben 2026-10-27 23:00:38 +01:00
  • 3ed9a0e342 Checker seat: the try's end by hand is a verb too (issue 774) jschoubben 2026-10-27 22:49:44 +01:00
  • 9b5657a3d6 Seat mesh-delivery-checker: the try and its read are verbs of the checker's own seat, replacing sh merge-check.sh (ADR 0547 §10, issue 774) jschoubben 2026-10-27 22:49:06 +01:00
  • 1d4637e46b Name the vault's verb issue-account on its seat, so its holder may serve it (issue 774, ADR 0561 §9) jschoubben 2026-10-27 22:42:53 +01:00
  • fefa8b88ea Say when the lease is handed away, let the vault and the grants part read it, and let the grants part create the consumers an account needs, so both turn on at the lease write alone (issue 774, ADR 0561 §3, §6) jschoubben 2026-10-27 22:28:54 +01:00
  • 8d9b3f779d Build a minted account's value as the controller does, byte for byte, so a runtime reads the vault's unchanged (issue 774, ADR 0561 §2) jschoubben 2026-10-27 22:19:53 +01:00
  • da506bb3b8 Say which bus accounts the grants part wants, in a state only the vault reads, and what the vault says when it mints one, so the vault can mint from the grants part's word (issue 774, ADR 0561 §2) jschoubben 2026-10-27 22:19:26 +01:00
  • af08be36a2 Merge pull request 'A waiting ask hears its step's end even when its own watch goes deaf (four lost checks, 2026-10-28)' (#121) from fix/lost-check into main mesh-tools 2026-10-28 20:40:58 +00:00
  • 6b43afa2ab Merge pull request 'One predicate for a module the mesh provides itself (mesh-wireguard), used by the placement check (issue 1126)' (#120) from fix/1126-provided into main mesh-tools 2026-10-28 20:39:20 +00:00
  • f91340fe82 buildrun: open a steps watch again that closed having heard nothing, up to 3 closes in a row jschoubben 2026-10-28 20:35:02 +01:00
  • 6aeb401095 buildrun: read an ask's step at every step end of its build module, so a deaf watch loses no end jschoubben 2026-10-28 20:29:30 +01:00
  • 5228a5782d Name the modules the mesh provides itself in one predicate, so the seed's check takes the private network as the composer and the grants part do (issue 1126) jschoubben 2026-10-28 20:12:51 +01:00
  • 9e5666b4d6 Settings watch: arm again when the kernel drops it (IN_IGNORED), said once; the test waits on the arm, not a sleep jschoubben 2026-10-28 20:08:21 +01:00
  • c006aa8242 Build puller: wake on a settings file write, retry a failed config follow at the next event, say a capacity of 0 and why jschoubben 2026-10-28 20:01:46 +01:00
  • d7c790d242 Merge pull request 'The seat mesh-placement's contract, and node grants for its states (issue 1126, delivery 1 of 2)' (#119) from feat/1126-grants-first into main mesh-tools 2026-10-28 18:21:33 +00:00
  • 38dbe1d3a3 Let a node agent hear the creation of the seat's placement and candidates, so it binds them with no timer (ADR 0567 §9, issue 1126) feat/1126-placement-seat jschoubben 2026-10-28 18:47:13 +01:00
  • a2dbcf670b Bound a proposal's answers and ask by pulse keys whose expiry the holder hears, and name a hand-back proposal, so no timer waits (ADR 0567 §4, §7, issue 1126) jschoubben 2026-10-28 18:43:39 +01:00
  • e987a8280b Let a module's config values be proposed before the lease write: only a layer's places and accesses wait (ADR 0567 §13, issue 1126) jschoubben 2026-10-28 18:42:05 +01:00
  • 45f5f76811 Keep the placement ask among the assigner's asks: its Approve's level, not its kind, needs the proof (ADR 0567 §5, issue 1126) jschoubben 2026-10-28 18:30:00 +01:00
  • 4b4a173d84 Let withdraw mark a proposal for its holder to end, since the holder's process alone says the seat's events (ADR 0567 §2, issue 1126) jschoubben 2026-10-28 18:21:59 +01:00
  • 0282229fd9 Name the placement ask and a proposal's again and warrant, so the holder asks through the teller as its other asks (ADR 0567 §5, §10, issue 1126) jschoubben 2026-10-28 18:20:27 +01:00
  • 5a2a7eebfd Hold that a check's node names reach the digest tool too, so a kept verdict misses when they change (ADR 0567 §12, issue 1126) jschoubben 2026-10-28 18:17:08 +01:00
  • 004bbc2ce2 Carry every node's name on a check ask to the names check, so no repository lists them (ADR 0567 §12, issue 1126) jschoubben 2026-10-28 18:13:57 +01:00
  • fed64292f0 Read build capacity as an integer and build hours as one window, default 0: no repository names a node (ADR 0567 §12, issue 1126) jschoubben 2026-10-28 18:13:18 +01:00
  • 7a82384e21 Grant a node's agent the seat's placement and candidates, so it composes from the seat's state (ADR 0567 §3, §9, issue 1126) jschoubben 2026-10-28 18:12:09 +01:00
  • 7c565f2aa5 Move Intended and JudgeAnswers into mesh-sdk for a proposal: a difference is shown, only a refusal or silence fails (ADR 0567 §4, issue 1126) jschoubben 2026-10-28 18:11:18 +01:00
  • edc6f269f3 Name the seat's states, candidates by proposal and the proposal itself, so readers and the holder share one contract (ADR 0567 §1-§6, issue 1126) jschoubben 2026-10-28 18:09:38 +01:00
  • 902e3c9e96 Refuse placement files on a forge message and delete placement-seed: no repository holds placement (ADR 0567 §11, issue 1126) jschoubben 2026-10-28 18:09:38 +01:00
  • c16e6213e1 Define the seat mesh-placement with its seven verbs, so placement has one contract whoever holds it (ADR 0567, issue 1126) jschoubben 2026-10-28 18:05:16 +01:00
  • 98f2f24069 Merge pull request 'A node holds the one module it cannot compose and applies the rest, as its shadow already answers (group fix/1126-apply-culprit, issue 1126)' (#118) from fix/1126-apply-culprit into main mesh-tools 2026-10-28 16:34:46 +00:00
  • 0de3006415 A module refused alone is held, composed as what runs of it, on the node that applies as in its answer: one rule for both paths (issue 1126) jschoubben 2026-10-28 17:15:51 +01:00
  • 7aedd28f01 Merge pull request 'A module's own refusal refuses that module, not the node; contributions say unset values in config words; a folded module owns its manifest's paths (issue 1126, group fix/1126-seed-8)' (#117) from fix/1126-seed-8 into main mesh-tools 2026-10-28 13:27:05 +00:00
  • f387581b6b A module's own refusal refuses that module, not the node: a stub whose contributions still fail the same is tried bare (issue 1126, seed-8: novox refused the whole candidate for de-spiegel's unset route names) jschoubben 2026-10-28 13:09:56 +01:00
  • eda82b1598 A folded module owns its manifest's paths, as the controller tells node-files them, not every path it runs at (issue 1126, seed-8: f1-circuits, snake and txt-game shifted node-tools' owned paths on ace) jschoubben 2026-10-28 13:09:56 +01:00
  • 06742d0448 A contribution's unset required value is refused in its module's own form's words, as a file's is (issue 1126, seed-8: de-spiegel in the config form was told ${setting:…} and settings set) jschoubben 2026-10-28 13:09:45 +01:00
  • 3d021445f7 Merge pull request 'A build module may say its node is not eligible, so asks go to a node that can build (group fix/ace-tun)' (#116) from fix/ace-tun into main mesh-tools 2026-10-28 13:07:40 +00:00
  • 1618837ea9 A build seat's puller takes nothing while its module finds its node cannot build, and says why jschoubben 2026-10-28 12:38:26 +01:00
  • 6097e4f3e0 Merge pull request 'A file's secrets are sealed values entry by entry, masked and named per secret (issue 1126; group fix/1126-seed-same-3)' (#115) from fix/1126-seed-same-3 into main mesh-tools 2026-10-28 11:40:35 +00:00
  • 8520a4c099 Only a file's secrets are split entry by entry when masked and named: a vault box under vault-sealed is one masked word and one path, judged whole by what it opens to (issue 1126, C1; review of seed-same-3, round 1) jschoubben 2026-10-28 12:22:37 +01:00
  • 70de9429e5 A file's secrets are sealed values entry by entry: each a slot of its own, kept where it opens to the value that runs, masked and named per secret (issue 1126, C1; the seed-7 probe: about 45 files on ace and novox differed by their secrets' bytes alone) jschoubben 2026-10-28 12:02:39 +01:00
  • 79eb58efe4 Merge pull request 'Compose as the controller does, so a node's shadow can answer same (issue 1126, group fix/1126-seed-same)' (#114) from fix/1126-seed-same into main mesh-tools 2026-10-28 09:46:24 +00:00
  • 001f4f23aa The node seat's acts reads one act by its id (issue 774, ADR 0563 §9) feat/774-vault-mints jschoubben 2026-10-28 10:19:31 +01:00
  • 11b3e6a95d The node-engine's declared state acts: created by the grants part as a placed module's, its manifest placed on every node, and written by each node's engine under its own keys alone (issue 774, ADR 0563 §2, §3) jschoubben 2026-10-28 10:13:07 +01:00
  • 277a5bd34d Merge feat/774-l3-563 (f80d5d3) into the L3 assembly: a node's grants carry both the vault's sign and its node seat node-engine (issue 774) jschoubben 2026-10-28 10:02:41 +01:00
  • f80d5d3d86 The vault's secret-ask is said to answer the callers its manifest names (issue 774, ADR 0563 §8) jschoubben 2026-10-28 10:00:47 +01:00
  • 3028c7ec4e A drifted own secret is read from a resource id as a node runs it, its module's name first (only-office.needs-jwt), so the node agent finds what to hand the vault (issue 1126, cause C4; review round 2) jschoubben 2026-10-28 10:00:29 +01:00
  • 5993dab6d1 Merge commit 'ec821f6' into asm-l3/774-vault-mints jschoubben 2026-10-28 09:58:50 +01:00
  • c285af02f9 Merge commit '4b226aa' into asm-l3/774-vault-mints jschoubben 2026-10-28 09:58:50 +01:00
  • 49e853986b A module's trusted list of callers in the SDK, so the vault's secret-ask answers the callers its manifest names as the runtime proved them (issue 774, ADR 0563 §8) jschoubben 2026-10-28 09:58:27 +01:00
  • 5a2eb2b480 Merge commit 'c527fc7' into asm-l3/774-vault-mints jschoubben 2026-10-28 09:58:13 +01:00
  • 1062b33d32 A node's shadow answer counts the values that drifted from the vault's, and names the own secrets among them (issue 1126, cause C4) jschoubben 2026-10-28 09:49:03 +01:00
  • bec931e72e A node's engine answers its own node's node-engine verbs, says the seat's events and asks the operator as node-engine-<node>, and no other account answers them (issue 774, ADR 0563 §1, §3, §6) jschoubben 2026-10-28 09:45:48 +01:00
  • fa512c8637 The node seat node-engine: held by every node's engine, its six verbs and three events, and no module may claim it (issue 774, ADR 0563 §1) jschoubben 2026-10-28 09:43:40 +01:00
  • 16b8d8a1ee Compose as the controller does, so a node's shadow can answer same (issue 1126, C1 C2 C3 C5 C6, T1) jschoubben 2026-10-28 09:36:36 +01:00
  • ec821f6199 Merge remote-tracking branch 'origin/main' into feat/774-l3-sign jschoubben 2026-10-28 09:28:41 +01:00
  • c07cdaf2f4 Bundle the mesh's authorities by certificate, and check a node's certificate against every one a bundle holds (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:27:17 +01:00
  • de72cb9a11 The vault signs: the contract of its state signers, its verb sign and its event signed, a node's grants to ask it and to read what it trusts, and the authority composed as a bundle (issue 774, ADR 0550 §2) jschoubben 2026-10-28 09:26:12 +01:00
  • 4b226aa78f Placed: a module in the first revision heard of a node's key stands since before it, so the seed's placement does not leave out what already ran (issue 774) jschoubben 2026-10-28 09:18:11 +01:00
  • 02645b5a0f One reader of the catalogue's placement and the toolchain gate over it, in place of the three copies over the controller's assignments (issue 774, ADR 0549 §3, issue 1940); the assigner may read the lease (ADR 0549 §5) jschoubben 2026-10-28 09:15:39 +01:00
  • 18e2e05bb5 buscompose: the assigner may read the controller's lease, to choose where grants are read from (issue 774) jschoubben 2026-10-28 09:11:27 +01:00
  • 0b0c669b49 delivery: the grants part's grant keys and the source the assigner reads (a1; issue 774) jschoubben 2026-10-28 09:10:15 +01:00
  • c527fc7222 Checker seat test: the try replaces both shell commands (issue 774) jschoubben 2026-10-28 09:09:58 +01:00
  • 2a1ad896fa Checker seat: the try's verb also replaces docker run postgres, as the controller's try did (ADR 0547 §10, issue 774) jschoubben 2026-10-28 09:09:23 +01:00
  • be77f66563 Merge pull request 'frombus: blame only the modules a refusal names, and say which providers another node cannot run (issue 1126, group fix/1126-shadow-bodies)' (#113) from fix/1126-shadow-bodies into main mesh-tools 2026-10-28 07:46:23 +00:00
  • 362a3f1378 A refusal for want of a provider names the modules another node cannot run in this composition, and a refusal naming no placed module is answered at once (issue 1126, probe #532) jschoubben 2026-10-28 01:39:07 +01:00
  • 03da552cb3 Merge pull request 'Shadow answers show both bodies of each difference (secrets masked); a folded module is judged inside; the bus membership is carried (issue 1126, group fix/1126-shadow-shows)' (#112) from fix/1126-shadow-shows into main mesh-tools 2026-10-28 00:21:47 +00:00
  • 4e0c57771e Bound the bodies an answer shows, naming the rest (issue 1126) jschoubben 2026-10-28 01:09:02 +01:00
  • b31c4580aa A candidate answer shows every differing resource, masked; a module folded in the node's own is judged there; the node's own carries its bus membership as it runs it (issue 1126, seed #531) jschoubben 2026-10-28 01:08:49 +01:00
  • 47eb100992 Merge pull request 'frombus: a stub keeps its module's directories; compose returns nothing once its run ended (issue 1126, group fix/1126-switch-safe)' (#111) from fix/1126-switch-safe into main mesh-tools 2026-10-27 23:52:19 +00:00
  • 7359d187db A stub keeps its module's directories, so the places its own secrets and data name still resolve (issue 1126: novox refused nats's ${dir:mesh-state}) jschoubben 2026-10-28 00:21:45 +01:00
  • 47b1dcf08f Merge pull request 'Shadow answers name every refusal, carry old-form builds as they run, and compare a deleted placement (issue 1126, group fix/1126-shadow-all)' (#110) from fix/1126-shadow-all into main mesh-tools 2026-10-27 22:44:08 +00:00
  • e32d777530 A deleting head's answer compares the controller's compositions with what runs, and is refused only without returning; fold the shadow's tests into TestInput (issue 1126, review of the shadow, round 1) jschoubben 2026-10-27 23:32:31 +01:00
  • 472d5f3144 A node's have says whose compositions it applies, and its answer to a head deleting its placement says it returns to the controller's (issue 1126, the seed's revert) jschoubben 2026-10-27 23:22:54 +01:00
  • 2fd5ffdd62 A node's answer names every module it cannot compose, a folded module of an old-form build is left to the node as it runs, and no store reached says why (issue 1126, the seed's shadow) jschoubben 2026-10-27 23:17:05 +01:00
  • 3f7957e169 Merge commit 'a5d0e64' into feat/774-vault-mints jschoubben 2026-10-27 23:01:44 +01:00
  • a5d0e64200 Checker seat test: fold into the closed-set seats test, no new test function (issue 774) feat/774-checker-seat jschoubben 2026-10-27 23:00:38 +01:00
  • 9fdd33b03e Checker seat: the try's end by hand is a verb too (issue 774) jschoubben 2026-10-27 22:49:44 +01:00
  • 2e8c2a7f4c Seat mesh-delivery-checker: the try and its read are verbs of the checker's own seat, replacing sh merge-check.sh (ADR 0547 §10, issue 774) jschoubben 2026-10-27 22:49:06 +01:00
  • d688f106e9 Name the vault's verb issue-account on its seat, so its holder may serve it (issue 774, ADR 0561 §9) jschoubben 2026-10-27 22:42:53 +01:00
  • cfe6094f46 Say when the lease is handed away, let the vault and the grants part read it, and let the grants part create the consumers an account needs, so both turn on at the lease write alone (issue 774, ADR 0561 §3, §6) jschoubben 2026-10-27 22:28:54 +01:00
  • bee33f4715 Build a minted account's value as the controller does, byte for byte, so a runtime reads the vault's unchanged (issue 774, ADR 0561 §2) jschoubben 2026-10-27 22:19:53 +01:00
  • 2ecc94062e Say which bus accounts the grants part wants, in a state only the vault reads, and what the vault says when it mints one, so the vault can mint from the grants part's word (issue 774, ADR 0561 §2) jschoubben 2026-10-27 22:19:26 +01:00
  • d48365aed0 Merge pull request 'frombus: a node composing itself takes its modules from their builds and reads what providers elsewhere serve (issue 1126, group fix/1126-node-creds)' (#109) from fix/1126-node-creds into main mesh-tools 2026-10-27 20:32:30 +00:00