Commit Graph

  • 17a4ac620c A left-out module's openings keep its per-node narrowing (issue 1966, review round 1) jschoubben 2026-11-09 10:43:48 +01:00
  • 95f45b1a74 Keep a left-out module's openings in the filter: it still runs (issue 1966) jschoubben 2026-11-09 10:36:55 +01:00
  • 2019122379 Merge pull request 'Gate record of mesh-host's forge-made merges (issue 1966, recovery)' (#217) from fix/1966-forge-made-merge into main mesh-tools 2026-11-09 08:45:52 +00:00
  • e504c12940 Record this repository's forge-made merges in the delivery gate, so the indexer takes them in (issue 1966, recovery) jschoubben 2026-11-09 09:17:02 +01:00
  • 25d677d20c Merge pull request 'The node-engine says why it composes a wanted module at no composition, and hands again one its agent lacks (issue 1966, recovery)' (#216) from fix/1966-views-page-time into main mesh-tools 2026-11-09 08:13:14 +00:00
  • 6bde46cb00 The wait-for-the-composer step settles a want again without a real sleep and counts only ghost's own tells (issue 1966) jschoubben 2026-11-09 09:09:40 +01:00
  • 3ea81943f5 The wait-for-the-composer test settles the want again without a real sleep (issue 1966) jschoubben 2026-11-09 09:05:30 +01:00
  • 3dc4307aec The node's words for a want it composes nothing of are said once per reason, and proved on the live paths (issue 1966) jschoubben 2026-11-09 09:04:45 +01:00
  • 5f37a43b91 The node says why it composes nothing of a want, and hands again what its agent waits for (issue 1966) jschoubben 2026-11-09 08:58:33 +01:00
  • 9b55bcb127 Merge pull request 'The node-engine fetches every artifact before it replaces anything, and a failed apply no longer claims the old composition runs (issue 1966, recovery)' (#215) from fix/1966-fetch-before-replace into main mesh-tools 2026-11-09 00:16:25 +00:00
  • 9f6801a6c5 A module whose apply failed is no longer said to run what it ran (issue 1966, recovery) jschoubben 2026-11-09 01:15:13 +01:00
  • 22a37b758c Fetch every archive and process of an apply before anything is replaced (issue 1966, recovery) jschoubben 2026-11-09 01:14:00 +01:00
  • 25aa110920 Merge pull request 'Record forge-made merges in the delivery gate (issue 1966, recovery)' (#214) from fix/1966-gate-record-2 into main mesh-tools 2026-11-08 21:46:07 +00:00
  • 71508cc962 Record the forge-made merge in the delivery gate, so the indexer takes it in (issue 1966, recovery) jschoubben 2026-11-08 19:23:06 +01:00
  • 87bdc95a3d Merge pull request 'The node-engine serves its seat's verbs from the bootstrapped definition until it holds the seat list (issue 1966, recovery)' (#213) from fix/1966-engine-seat-verbs-bootstrap into main mesh-tools 2026-11-08 17:34:51 +00:00
  • 7b42c94a4d The node-engine serves its seat's verbs from the bootstrapped definition until it holds the seat list (issue 1966, recovery) jschoubben 2026-11-08 18:34:20 +01:00
  • 6dd8e08a84 Merge pull request 'The node-engine passes seats with the SDK's one rule, by the build its node runs, and says the pass (ADR 0660, issue 1966, recovery)' (#212) from fix/1966-seat-pass-shared into main mesh-tools 2026-11-08 14:47:22 +00:00
  • 60f413f9bc The node-engine reads each assignment by the build its node keeps and says a seat pass in its answer (issue 1966, ADR 0660) jschoubben 2026-11-08 15:44:00 +01:00
  • 5108c28e22 The node-engine composes seat passes with the SDK's one rule instead of its own copy (issue 1966, ADR 0660) jschoubben 2026-11-08 15:31:32 +01:00
  • 875b4ee5ce Merge pull request 'The node-engine states the seats of the list it holds, and again on every change (issue 1966, recovery)' (#211) from fix/1966-seat-reads-bootstrap into main mesh-tools 2026-11-08 03:45:15 +00:00
  • 9ab85ef92e The node-engine states the seats of the seat list it holds, again at each change (issue 1966) jschoubben 2026-11-08 02:36:41 +01:00
  • 89475bb0cf Merge pull request 'The node-engine's bus watch never holds the client back (issue 1966, bootstrap recovery)' (#210) from fix/1966-watch-never-blocks into main mesh-tools 2026-11-07 23:40:48 +00:00
  • 4f1e92160a Round 1: the pin tests merged (test budget), KVWatch's doc says what folds jschoubben 2026-11-08 00:38:36 +01:00
  • fe9533c186 The node-engine's bus watch never holds the client back: it keeps the newest update per key while its reader is busy (issue 1966) jschoubben 2026-11-08 00:26:33 +01:00
  • 70e70eda5a Merge pull request 'Registry milestone: mesh-host (issue 1966)' (#209) from feat/registry-milestone into main mesh-tools 2026-11-07 14:19:45 +00:00
  • cb7a444a56 The check's composer says a node's refusal in the words of its composition with the lifted modules held (issue 1921, milestone 47/G) jschoubben 2026-11-07 08:19:55 +01:00
  • 53addd73c3 The check's composer composes a module at its build only where that build was made of the change's manifest (issue 1921, milestone 47/G) jschoubben 2026-11-07 07:24:16 +01:00
  • b6c174a324 A consumer beside a held provider is told what it serves without the names it does not compose, never their placeholders (issue 1921, milestone 47/G) jschoubben 2026-11-07 07:19:58 +01:00
  • 5b75e866d0 The composition verb says what holds each held module and the build it would be composed at (issue 1921, milestone 47/G H4) jschoubben 2026-11-07 02:38:18 +01:00
  • d0fb384f00 The check's composer composes a module the running indexer alone holds when the change's manifest is the check's to judge (issue 1921, milestone 47/G H2) jschoubben 2026-11-07 02:33:21 +01:00
  • c114b786e8 The input a node answers a check with says what holds each held module and carries its build (issue 1921, milestone 47/G H3) jschoubben 2026-11-07 02:33:21 +01:00
  • e96a7ada50 The node-engine keeps no copy of a seat's verbs: the seat list comes from the bus (issue 1921, ADR 0635 §1) jschoubben 2026-11-07 02:26:14 +01:00
  • eec35a7c0c The sandbox composer composes against the seat list its request carries, and judges nothing without one (issue 1966) jschoubben 2026-11-06 12:01:00 +01:00
  • 3b700886f2 The composer reads a case's verdict as the running checker hands it, version 0 and no judge (issue 1966) pre/registry-milestone jschoubben 2026-11-06 10:05:27 +01:00
  • a397492503 The link tests are given the seat list as the node-engine gives it from the bus, so the node seat has its verbs to serve (issue 1966) jschoubben 2026-11-06 01:43:37 +01:00
  • dae2aa0be1 gofmt the files the group try listed jschoubben 2026-11-06 01:38:43 +01:00
  • d064c41057 Take tidy's go.mod whole: mesh requirements at the zero version only, unused ones dropped jschoubben 2026-11-06 00:52:18 +01:00
  • 393f6902b3 Complete go.mod and go.sum for the externals each module builds with jschoubben 2026-11-06 00:51:22 +01:00
  • 015304f4a3 Fold three tests into existing ones, drive the marker test by channels, keep the last view through set(nil) and drop it once the node is held jschoubben 2026-11-05 23:09:00 +01:00
  • c55672ce5e A fill while the agent restarts is judged by the last view held and, refused, is owed and told again (issue 924) jschoubben 2026-11-05 23:03:58 +01:00
  • 7add29cffe Merge fix/compose-pass-bounded: the composition pass never waits on marking haves jschoubben 2026-11-05 22:35:09 +01:00
  • c1b8b9d115 The composition pass never waits on marking haves, and the compose verb answers while a pass runs jschoubben 2026-11-05 22:33:21 +01:00
  • 8717ec76d4 The node-engine follows the module-assignment seat: assignments, not placement; the seat's packages move to mesh-contracts and mesh-delivery (issue 1966) jschoubben 2026-11-05 22:08:40 +01:00
  • e1b9f3e095 No client names the holder of the seat mesh-provisioner: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966) jschoubben 2026-11-05 19:36:21 +01:00
  • c40a79e601 The manifest test lists the view's settled among the engine's consumes (issue 1966) jschoubben 2026-11-05 19:25:19 +01:00
  • b75495594a The node-engine's account hears what its manifest consumes: the view's settled is a consumes line, not a special case in the grants part (ADR 0625 section 4, issue 1966) jschoubben 2026-11-05 19:23:39 +01:00
  • 24b7740b80 RemovedDeliveryVerbs leaves mesh-sdk for the seat mesh-delivery's client (ADR 0634 section 2, issue 1966) jschoubben 2026-11-05 18:45:50 +01:00
  • aa40b107c9 No client names a holder: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966) jschoubben 2026-11-05 18:37:28 +01:00
  • d69fd304cc Require every mesh package of the group at the floor version (ADR 0573 sections 2 and 4, issue 1966) jschoubben 2026-11-05 16:56:39 +00:00
  • 4a57d8c90c The node-engine reads, records and routes artifact references through the registry clients' reference forms (registryforms), not mesh-sdk catalogue's (ADR 0634 §4, S-8; issue 1966) jschoubben 2026-11-05 17:38:04 +01:00
  • b8dbee28cc Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 16:31:43 +01:00
  • 2bcc34a59b Node-engine test: a node whose own composition folds the holder of the seat mesh-catalog starts it before the list is read and composes the rest after (ADR 0636 §1; issue 1966) jschoubben 2026-11-05 16:30:45 +01:00
  • e282e08917 Node-engine: a held own composition that was handed stays handed, as a held module's does (ADR 0636 §1; issue 1966) jschoubben 2026-11-05 16:28:02 +01:00
  • b0baa17836 Node-engine: a reader of the seat list that could not start holds the composer, where none gated nothing (ADR 0636 §1; issue 1966) jschoubben 2026-11-05 16:22:53 +01:00
  • ae26376a90 Node-engine: while the seat list is unread, the node's own composition lets through the holder of the seat mesh-catalog's resources and accounts over what runs (ADR 0636 §1; issue 1966) jschoubben 2026-11-05 16:22:15 +01:00
  • 58f45a1b12 Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 15:52:59 +01:00
  • c1a1efa62a Node-engine: provisions come from the provisioner's client, the catalogue's state addresses from its client and the builder's module; the health answer and the bus principal stay mesh-sdk's (ADR 0634 §1, §5; issue 1966) jschoubben 2026-11-05 15:52:24 +01:00
  • 5b9e9d872d Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 15:48:43 +01:00
  • 13e2fe14aa Node-engine: logins, signers, enrolment tokens and redeems, and the grants part's sealed user list come from the vault and node-enroller clients and the grants state package; no file imports go/delivery (ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 15:47:59 +01:00
  • 4bfa94dfef Node-engine: a builder's build, its keys and codec come from the builder's builds package (ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 15:44:31 +01:00
  • 10852161c9 Node-engine: the catalogue's modules, manifests, verdicts and candidates are the mesh-catalog seat's types and its client's keys and codecs; the composer case is the delivery SDK's, its verdicts and placements raw; the provided module is the private network's (ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 15:42:34 +01:00
  • 669589b76b Node-engine: the placement's bucket and read names come from the assigner client (ADR 0634 §4; issue 1966) jschoubben 2026-11-05 15:36:05 +01:00
  • c35cc1d9e4 Node-engine: the placement, the wants and the placement candidates are the seats' contract types and the assigner client's keys and codecs; the found tunnel is the placement seat's typed record (ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 15:34:02 +01:00
  • 3cf4fbaf3d Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 15:23:24 +01:00
  • 7eb7b9fa62 Node-engine: the have, the node's facts, the record, the health report and the data items are the seat's contract types, written through the node-engine client; the interim bridge is gone (Have group, ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 15:21:48 +01:00
  • ec3a65fa8d Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 15:12:02 +01:00
  • 5906e18028 Node-engine: a composition, its codec, digest and keys come from the node-engine client; the candidate answer and its limits from the seat's contract; the declared packages are the engine's own (H-2, H-3, ADR 0634 §1; issue 1966) jschoubben 2026-11-05 15:10:45 +01:00
  • 0871fa7cc4 Node-engine: the value version comes from mesh-sdk go/keys, not go/delivery (H-2, ADR 0634 §1, §4; issue 1966) jschoubben 2026-11-05 14:59:39 +01:00
  • cdd428a7d8 Node-engine: the whole seat-list case proves a fresh node asks the seat over its own grant while its own composition and web are held, no part needs letting through (ruling 15:1x b, ADR 0636 §1; issue 1966) jschoubben 2026-11-05 14:57:50 +01:00
  • 514ffc30da Merge branch 'b6/registry' into feat/registry-milestone jschoubben 2026-11-05 14:54:25 +01:00
  • df44d21c82 Node-engine: composition comparison, seals and differing paths are the engine's own package, internal/compositions, with the tests moved from mesh-sdk's delivery (H-1, ADR 0634 §1; issue 1966) jschoubben 2026-11-05 14:53:06 +01:00
  • dcbdc70919 Node composer: while the seat list is unread the node's own composition is held too, whole, under the scope node; only what runs and the bootstrapped modules go on (ADR 0636 §1; issue 1966) jschoubben 2026-11-05 14:48:20 +01:00
  • 84e50beb65 Node-engine: the private network's names and generator come from mesh-wireguard's overlay package; the host's internal/overlay is deleted, mesh-sdk's go/overlay has no importer left here; contracts imports follow the domain folders (ADR 0636 §6, ADR 0634; issue 1966) Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i jschoubben 2026-11-05 14:45:43 +01:00
  • 308dbb94b8 Node-engine: seat-list and seat-list-again answer every operator's session and the healers, no other caller (ADR 0636 §7; issue 1966) Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i jschoubben 2026-11-05 14:45:43 +01:00
  • c642471c16 Node-engine: the first read of the seat list is awaited on the reader's Ready, not on Start's return, and its end is told to the waiter and the composer (B9c, ADR 0636 §1; issue 1966) Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i jschoubben 2026-11-05 14:45:43 +01:00
  • 24cfc18383 Merge b6/registry into the registry milestone's join (issue 1966) jschoubben 2026-11-05 14:39:37 +01:00
  • f29b19aff2 Node-engine manifest: invokes the seat mesh-catalog's seat-definitions, consumes its two events, keeps the state findings (H-7, ADR 0636; issue 1966) jschoubben 2026-11-05 14:30:08 +01:00
  • 855f4471e2 Node-engine: reads the seat list through the seat mesh-catalog, holds what is new until it was read, writes its finding after five minutes; verbs seat-list and seat-list-again; whole-module case against a stand-in of the seat (H-7, ADR 0636 §1, §7, §8; issue 1966) jschoubben 2026-11-05 14:26:15 +01:00
  • 6ebad21cbe Node-engine: the seats are called by their names mesh-module-assigner and mesh-node-enroller (ADR 0634 §9; H-5; issue 1966) jschoubben 2026-11-05 14:17:46 +01:00
  • a222db8c69 Node-engine composer: a module new to the node is held until the seat list was read, unless its seats are bootstrapped; the read hands it (H-7, ADR 0636 §1; issue 1966) jschoubben 2026-11-05 14:17:28 +01:00
  • 66fe7c8a0d Node-engine: the finding of a seat list unread for five minutes, written once and cleared at the first full read (H-7, ADR 0636 §1; issue 1966) jschoubben 2026-11-05 14:16:04 +01:00
  • 7623279efe Node-engine: no compiled seat list; the seat's name and verbs come from its contract, the tests give catalogue their seats (H-7, ADR 0635 §1; issue 1966) jschoubben 2026-11-05 14:14:46 +01:00
  • 570b66230c Composer: find the store by the holder of any of its names, the old seat's too (ADR 0632 §2; issue 1966) jschoubben 2026-11-04 21:29:12 +01:00
  • e5d9753368 Resolution test: the runtime's trust is filled from every name of the store (ADR 0632 §1; issue 1966) jschoubben 2026-11-04 21:10:55 +01:00
  • 6adaf44f65 Composer: the store's address is the image seat holder's listen open to the mesh (ADR 0632 §1; issue 1966) jschoubben 2026-11-04 20:56:43 +01:00
  • 66e89b71a2 Offer the catalogue forge's provisions in the toolchain test's stand-in (issue 1966) jschoubben 2026-11-04 19:56:18 +01:00
  • 32c5df952c Pin mesh-sdk 05b3e2e1b94f and mesh-contracts ae5266e77639, the group's final heads (issue 1966) jschoubben 2026-11-04 18:47:39 +01:00
  • 4363c371c5 Pin mesh-sdk e5d89c5eedb5 and mesh-contracts 347a3053580a, the group's heads after review round 2 (issue 1966) jschoubben 2026-11-04 18:26:33 +01:00
  • 1b01d065ac Pin mesh-sdk c54648e74346 and mesh-contracts ec9529022c44, the group's heads (issue 1966) jschoubben 2026-11-04 17:46:08 +01:00
  • d3ee49d6f3 F-host 2, ENG-5: on a fresh mesh the bootstrap pushes the holders' own images to the store on its loopback with no credential, and names them under the seat's reach (lead's design limit, review of issue 1966) jschoubben 2026-11-04 16:29:56 +01:00
  • ded92a8137 F-host 3: the agent's tests of a pull waiting on its holder wait for the loop to come to rest, not 50-100 ms, before they count applies (review of issue 1966) jschoubben 2026-11-04 16:26:16 +01:00
  • 20614822df F-host 2, ENG-5: the bootstrap's one-off push credential goes to distribution's account, mode 0600, only once the node-engine made that account and its state directory, so the holder's program can read it (review of issue 1966) jschoubben 2026-11-04 16:24:14 +01:00
  • 9740238ec9 F-host 1: ignore the binaries go build leaves in cmd/, so a built node-engine is never committed again (review of issue 1966) jschoubben 2026-11-04 16:20:46 +01:00
  • a2313057c0 ENG-9: a failed have carries the pull it waits on, read through node_haves jschoubben 2026-11-04 14:02:44 +01:00
  • 2b14f166de The node-engine speaks operator-channel, mesh-vault and node-engine through their contracts and clients; it serves no pull-waits jschoubben 2026-11-04 14:02:44 +01:00
  • d8207358b0 Join mesh-host's main (issue 1585's held-answer fix, #208) into the registry milestone jschoubben 2026-11-04 13:46:50 +01:00
  • c6ae0fc405 The node-engine answers compose-candidate in its seat's contract: the input as a JSON object, a module's fingerprint Fp jschoubben 2026-11-04 12:40:34 +01:00
  • 0128b962ab The node-engine speaks its seat's generated contract: manifest-reads and manifest-reads-changed in mesh-contracts' types (ADR 0618 §3, §4, ADR 0613 §3) jschoubben 2026-11-04 12:33:50 +01:00
  • 271de0108d The node-engine serves manifest-reads and says manifest-reads-changed once per link (ADR 0618 §3, §4, issue 774) jschoubben 2026-11-04 12:00:21 +01:00
  • c93feeb30f ENG-9: the node seat's read verb pull-waits answers which failed applies wait on which store's holder and the last retry with its trigger (design 51, issue 1966; needs the verb in the node-engine seat's definition) jschoubben 2026-11-04 12:15:26 +01:00