08580d25d2
Merge pull request 'Registry milestone: mesh-contracts (issue 1966)' (#1) from feat/registry-milestone into main
main
mesh-tools2026-11-07 14:19:16 +00:00
76de6889fc
The assigner's seat says assignments throughout: the type, the events and the defs; the legacy key form placement.<node> leaves the client (issue 1966)
jschoubben2026-11-05 21:57:16 +01:00
fdcec5d384
The Placement domain goes: the module assigner and the four node seats move to the Core place, the assigner's state and verb placement become assignments, mesh-wants goes to mesh-delivery (issue 1966)
jschoubben2026-11-05 21:39:56 +01:00
07ec4b1f31
Regenerate the contracts' TypeScript: the key parsers name their parameter apart from the parts (issue 1966)
jschoubben2026-11-05 21:24:07 +01:00
f0ed2d9b12
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)
jschoubben2026-11-05 19:36:21 +01:00
bc7763a9c0
Merge branch 'b9j/registry' into feat/registry-milestone
jschoubben2026-11-05 19:26:06 +01:00
276e5e2aef
The delivery SDK's enginereads, findings and heard leave for the clients of their seats (ADR 0634 sections 1 and 2, issue 1966)
jschoubben2026-11-05 19:22:05 +01:00
828b5b1d38
No client names a holder: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)
jschoubben2026-11-05 18:37:28 +01:00
70fe186d7f
Move node-service-manager, node-package-manager, node-container-runtime and node-environment to mesh-placement-contracts: their domain is Placement (ADR 0635 §2, ADR 0636 §5; issue 1966)
jschoubben2026-11-05 18:23:43 +01:00
a2a321dfa2
Require the external packages a module's build reaches (issue 1966)
jschoubben2026-11-05 18:11:56 +01:00
036f39a5a5
Require every mesh package of the group at the floor version (ADR 0573 sections 2 and 4, issue 1966)
jschoubben2026-11-05 16:56:39 +00:00
6b8c6e2721
Conditions client: Observation, Raise, Clear, Says, EncodeFinding and DecodeFinding raise and clear an observer's finding in the seat's layout, goldens from go/health's output (B5l; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 16:46:25 +01:00
396ccc0e11
Operator-channel client: the bench shapes tested against their written wire, with no mesh-sdk channel import (B6j; ADR 0634 §5; issue 1966)
jschoubben2026-11-05 16:45:22 +01:00
70da0dd17e
Watchdogs client: the keys, check and codec of presence, pulse and stuck over the seat mesh-watchdogs, goldens from go/delivery's output (B7n2; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 16:21:28 +01:00
311654f224
node-engine client: RootContract, the contract from which an engine judges an account's root (B5g; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 16:02:42 +01:00
2e0563e983
mesh-config seat: the state kept typed (an approved held value, under owner.repository.number.node.module.key), a fixture from the holder's test values, regenerated; a client meshconfigclient with the keys and the check the checker and the assigner share (B2f; ADR 0565 §5, ADR 0634 §4; issue 1966)
jschoubben2026-11-05 16:02:00 +01:00
9c80664492
Wants client: the keys, check and codec of a want, a node's own want and a hold over the seat mesh-wants, goldens from go/delivery's output (B7h; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 15:58:13 +01:00
d8d319e3ff
node-engine client: the adoption handing's two ends (HandAccounts, OpenHanded, HandedAccount, KeyFingerprint, IsBcrypt) over the seat's AccountsHanded (B5f; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 15:54:21 +01:00
bb2140c236
Module assigner client: the operations of a proposal's change and the states of an open proposal, for its holder and for the enrolment that builds add-node (B7f finding 4; ADR 0634 §4; issue 1966)
jschoubben2026-11-05 15:43:25 +01:00
5f8b8edd20
node-engine client: a candidate's composition key is its own, over mesh-sdk keys; the client no longer imports go/delivery (ADR 0634 §4; issue 1966)
jschoubben2026-11-05 15:35:17 +01:00
71c8b9f964
Merge branch 'b4/registry' into feat/registry-milestone
jschoubben2026-11-05 15:35:02 +01:00
54a42db4ec
Module assigner client: the placement and seat-holders states by name, and the machines a placement names (ADR 0634 §4; issue 1966)
jschoubben2026-11-05 15:28:18 +01:00
57dd579234
Wants seat: the backup answer of a want is again or skip (ADR 0634; issue 1966)
jschoubben2026-11-05 15:27:08 +01:00
6d5fe4572d
Placement seat: the tunnel found on a node is a typed record, not a free object (ADR 0634 §1; issue 1966)
jschoubben2026-11-05 15:25:57 +01:00
8e51d93c2f
node-engine seat: a node's windows, busy, strays and filters are lists, as the engine writes them (the contract said objects and refused every real value; ADR 0634; issue 1966)
jschoubben2026-11-05 15:19:03 +01:00
8c5f85e86b
node-engine client: the node key of the have, the codecs of the health report and of the data items (ADR 0634 §1, §4; issue 1966)
jschoubben2026-11-05 15:16:34 +01:00
82b02ff099
The Connectivity folder leaves mesh-contracts for mesh-connectivity-contracts, which holds the same seven definitions (ADR 0636 §5, §6; issue 1966)
jschoubben2026-11-05 15:14:57 +01:00
ed7cf77659
The Delivery domain's seats leave mesh-contracts for mesh-delivery-contracts: the 13 definitions, the registry part, the four registry clients, the checker's generated packages (ADR 0636 §5; ADR 0634; issue 1966)
jschoubben2026-11-05 15:14:57 +01:00
db2a6da471
node-engine client: the codec and the comparison of the have and the node's facts, and the phases and healths a have names (ADR 0634 §1, §4; issue 1966)
jschoubben2026-11-05 15:14:16 +01:00
181441e91b
The generated contracts write date-time as time.Time (seatgen of B5d); the conditions and vault clients follow (ADR 0634; issue 1966)
jschoubben2026-11-05 15:06:14 +01:00
25da1f8879
node-engine client: the exported fingerprint key part is mesh-catalog's client's, the codec checks the field's form itself (a client imports no other seat's client; ADR 0625 §4, ADR 0634 §2; issue 1966)
jschoubben2026-11-05 15:05:08 +01:00
cd2615f094
operator-channel: the times of the bench events are date-time, so the generated types are time.Time (B5d; ADR 0634; issue 1966)
jschoubben2026-11-05 15:01:57 +01:00
29dc84a38b
operatorchannelclient: the bench subjects and words the router and the channels share (B5d; ADR 0634 §1; issue 1966)
jschoubben2026-11-05 14:56:40 +01:00
35aa61f4d9
operator-channel: the state asks typed to the router's projection; mesh-node-enroller: redeem's answer typed, with a fixture and a client test (ADR 0634 §6; issue 1966)
jschoubben2026-11-05 14:53:24 +01:00
ce9d39d3f0
node-engine client: the codec, the digest and the comparison of a composition, in the field order its first writer used (ADR 0634 §1, §4; issue 1966)
jschoubben2026-11-05 14:51:46 +01:00
f00aac3847
node-engine: typed layouts for the states have (both forms), composed (both forms, wire names), data and health, with fixtures; Candidates typed as CandidateAnswer (ADR 0634 §1, §6; issue 1966)
jschoubben2026-11-05 14:50:04 +01:00
074032e9d4
mesh-module-assigner client: CheckProposalID, the id a proposal and the ask about it carry (ADR 0634 §4; issue 1966)
jschoubben2026-11-05 14:49:56 +01:00
99adc0eb98
node-engine client: the keys of its states have and composed (HaveKey, ParseHaveKey, ComposedKey, ParseComposedKey) that the assigner's ask keys and the readers share (ADR 0634 §4; issue 1966)
jschoubben2026-11-05 14:49:14 +01:00
6d61992183
operator-channel: the bench shapes of channel and intake (Message, Button, Sender, Choice, LinkAsked, Failed, Standing, Code, ProofAnswer) in the definition, with a test against mesh-sdk's channel wire (C-12; ADR 0634 §1; issue 1966)
jschoubben2026-11-05 14:45:30 +01:00
bd49b184a2
Merge b4/registry: Placement and Identity-and-access contracts, the domain on their definitions (ADR 0634 §7, §9; ADR 0636 §5; issue 1966)
jschoubben2026-11-05 14:42:12 +01:00
551870d8d5
Fixtures captured from the holders' own read tools for the states that had none (conditions, findings, presence, stuck, would, resolved, asks, packages); the packages item requires absent (ADR 0634 §6; issue 1966)
jschoubben2026-11-05 14:40:27 +01:00
f4a69e85f2
node-engine: the verbs seat-list and seat-list-again (the operator and the healers) and the state findings, with fixtures (ADR 0636 §1, §7; issue 1966)
jschoubben2026-11-05 14:34:07 +01:00
af804f5abf
Hand-acts recorder is mesh-sdk's views.HandActs; the conditions client writes a part's findings as views.FindingWriter (ADR 0634 §4, ADR 0635 §4; issue 1966)
jschoubben2026-11-05 14:16:53 +01:00
fb5451f694
mesh-vault and mesh-node-enroller clients: the signing, the node's two logins and the own-secret drift; the token and the redeem proof (ADR 0634 §4; C-10; issue 1966)
jschoubben2026-11-05 14:16:00 +01:00
97b7da6128
mesh-provisioner: the provision's plan entry typed in the definition, and fixtures for its two states (ADR 0634 §6; issue 1966)
jschoubben2026-11-05 14:15:36 +01:00
935a0c7753
Each generated TypeScript package gets its lock, its package.json without dependencies and its type-check config (ADR 0634 §8, F7; issue 1966)
jschoubben2026-11-05 14:14:32 +01:00
c5fc93644f
mesh-module-assigner client: the placement keys assembled into a node's placement, who stands where since when, who holds a seat, what a placement says to the composition; the node key's digest kept as the first writer made it (ADR 0634 §4; C-6; issue 1966)
jschoubben2026-11-05 14:14:01 +01:00
929bf5539e
Every seat definition names its glossary domain; the schema requires it (ADR 0636 §5; issue 1966)
jschoubben2026-11-05 14:11:19 +01:00
326d729c0b
Placement and Identity-and-access contracts: mesh-module-assigner and mesh-wants whole with states, mesh-vault moves, mesh-node-enroller whole, node-secret-service moves; the two seats renamed (ADR 0634 §7, §9; C-5, C-10; issue 1966)
jschoubben2026-11-05 14:09:45 +01:00
a3106a4b64
Provisioner client: the key and plan layouts, the provider and its harness, moved from mesh-sdk; the provider's 31 tests are 6 tables, the plan stays typed in the client (ADR 0634, ADR 0635; issue 1966)
jschoubben2026-11-05 14:09:06 +01:00
f7cc1ba920
Connectivity seat-list files join their folder; root module.json drops the seat-set and operator-channel packages (ADR 0634, ADR 0636; issue 1966)
jschoubben2026-11-05 13:24:11 +01:00
211bdcaa5e
Regenerate the domain contracts; hand-acts and conditions clients; operator-channel client moves; the seat-set package ends (ADR 0634, ADR 0635; issue 1966)
jschoubben2026-11-05 13:19:37 +01:00
23a759c78b
Domain contracts folders: health-and-repair, provisioning, connectivity, operator-and-conversation hold their seats' definitions with states; node-engine and mesh-config gain states (ADR 0634, ADR 0635; issue 1966)
jschoubben2026-11-05 12:51:40 +01:00
4d7b2a3778
Registry seats: no seat delivers artifact-store, and the two store seats serve list (ADR 0632 §2, §3; issue 1966)
jschoubben2026-11-04 20:52:15 +01:00
ae5266e776
Pin the clients' requires: mesh-sdk f94abb95 and this repository's seats at 347a3053, the group's final heads (issue 1966)
jschoubben2026-11-04 18:43:44 +01:00
347a305358
Pin the clients' requires again: mesh-sdk 3526e9ef2a42 and this repository's seats at 859da7b1ce, the group's heads after review round 2 (issue 1966)
jschoubben2026-11-04 18:22:18 +01:00
859da7b1ce
Registry seats: remove answers and says kept when a tagged version shares its digest
jschoubben2026-11-04 18:12:34 +01:00
ec9529022c
Pin the clients' requires: mesh-sdk 719956b7451a and this repository's seats at 5b440ca877, the group's heads (issue 1966)
jschoubben2026-11-04 17:40:00 +01:00
5b440ca877
README: name where seatgen -check now lives
jschoubben2026-11-04 16:58:34 +01:00
7d8f090b75
Registry seats: the removal reasons are constants, a release of nothing held answers released false, packages carry their own language's names
jschoubben2026-11-04 16:32:15 +01:00
5118c5f425
J7 (1): the operator-channel client reads an ask its keeper carries back, held to its id and an option
jschoubben2026-11-04 15:38:46 +01:00
d9af39256e
J4 (A2j finding 2): the checker's verdict event names each series change, so a reader never loses one to a cut status line
jschoubben2026-11-04 14:52:52 +01:00
4afce1aac8
Drop node-engine's optional verb pull-waits: no record gives the seat that verb
jschoubben2026-11-04 13:52:54 +01:00
22abe5c955
ADR 0627 §1: node-engine's client holds the checks of compose-candidate's ask and answer
jschoubben2026-11-04 13:50:00 +01:00
252b619470
Join the forge's main (its first commit, the README) into the registry milestone
jschoubben2026-11-04 13:46:26 +01:00
652606f59a
Join lead-47's node-engine seat whole into the registry milestone, in its own Go module and npm package
jschoubben2026-11-04 13:46:05 +01:00
a6f859de3f
ADR 0625 §1: each seat defined whole is an npm package of its own, declared in module.json
jschoubben2026-11-04 13:40:54 +01:00
9d57c09594
ADR 0625 §10: the README says where a seat's definition, contract and client go, and how each is checked
jschoubben2026-11-04 13:34:41 +01:00
3368a055a4
SD-M2c (A2d): a registry outcome names the Go module path a Go package is fetched under
jschoubben2026-11-04 13:32:24 +01:00
4ce5dec682
SD-M2d: operator-channel's offered and closed are on the router's stream asks, mesh.stream.<holder>.event.*
jschoubben2026-11-04 13:31:16 +01:00
1bcb18d1c7
SD-M2d, ADR 0627 §1: the vault's sign, enrolment-token and node-account answers and its signed event are typed
jschoubben2026-11-04 13:29:47 +01:00
6fd4eca51c
ADR 0627 §1: operator-channel's client holds a process connection's state to its Store
jschoubben2026-11-04 13:27:00 +01:00
cc2d3aafdb
SD-M2b, SD-M2d: the checker's and mesh-config's events kept in their own streams are mesh.stream.<holder>.event.*
jschoubben2026-11-04 13:17:26 +01:00
323e6a6be2
SD-M2a: mesh-broker's Held says the entry's state and why, so show says why an entry is in its state
jschoubben2026-11-04 13:15:18 +01:00
b5db9466c2
ADR 0627 §1: operator-channel's client holds the asking and the warrant's checks over the contract's types
jschoubben2026-11-04 13:13:43 +01:00
a1ef06b20e
ADR 0627 §1: the four registry seats' clients publish a file in parts over their own seat
jschoubben2026-11-04 13:08:59 +01:00
f32ea4ba75
SD-M2d: the checker's tag-wanted names the pull request's branch
jschoubben2026-11-04 12:53:49 +01:00
96b7eeeaf7
SD-M2b: mesh-broker's events on the shared events stream, 7 days
jschoubben2026-11-04 12:53:19 +01:00
c62ce1c309
ADR 0625: each seat defined whole is a Go module and a package artifact of its own
jschoubben2026-11-04 12:48:57 +01:00
87412fd307
SD-M2d: operator-channel's decided kept 7 days, on the shared events stream
jschoubben2026-11-04 12:42:35 +01:00
f31de828e9
SD-M2b: mesh-broker's events on mesh.seat.mesh-broker.said.<event>
jschoubben2026-11-04 12:42:16 +01:00
7498d689e2
The node-engine seat whole: every verb's answer, its events' bodies, and ADR 0618's manifest-reads and manifest-reads-changed
jschoubben2026-11-04 12:36:10 +01:00
f3a9cd17d6
SD-M2b: mesh-broker's events carry the binding and the verdict's revision (the lead's ruling, 12:4x)
jschoubben2026-11-04 12:35:30 +01:00
e9c97f9e9f
SD-M2a, SD-M2b: the registry and broker verbs are optional until their holders serve them (design 33 §7)
jschoubben2026-11-04 12:33:59 +01:00
52b05d50cb
SD-M4: mesh-contracts declares its Go and TypeScript packages, series 0.1, generated from its definitions (design 26)
jschoubben2026-11-04 12:27:55 +01:00
88972faf08
SD-M2a: a publish-part chunk is at most 760 KiB, so its message stays under the bus's 1 MiB with its fields
jschoubben2026-11-04 12:26:44 +01:00
f7b3744a90
SD-M2c: mesh-config and mesh-vault whole, renames and retire new; the holders' own events beside them (ADR 0620 §1-§3, design 32)
jschoubben2026-11-04 11:50:54 +01:00
4f37cc2db9
SD-M2b: mesh-broker whole: its eight verbs, nine events and the bus-state binding (design 25 § 12.3, ADR 0595 §5, §6)
jschoubben2026-11-04 11:50:54 +01:00
2fade8d603
SD-M2a: the four registry seats whole, their shared verbs written once (design 51, ADR 0605, ADR 0611, ADR 0617 §2)
jschoubben2026-11-04 11:50:54 +01:00
166aad0a99
SD-M1: the seat definition's format and its own schema (ADR 0608 §1, design 26)
jschoubben2026-11-04 11:41:29 +01:00