Commit Graph
1274 Commits
Author SHA1 Message Date
jschoubben 5aa0c02b00 indexer judge test: the private network's manifest comes from mesh-wireguard's overlay package (ADR 0634 §4; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:45:44 +01:00
jschoubben 738c8ca036 assigner, view, watchman: provisions come from meshprovisionerclient, not mesh-sdk go/provisions (ADR 0634 §4; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:45:25 +01:00
jschoubben e52d9d7791 Assigner: the node's presence is read through the watchdogs client's key and codec, no seat codec of its own (ADR 0634 §4; issue 1966) 2026-11-05 16:36:50 +01:00
jschoubben 4cd6934842 mesh-catalog seat: a config declaration's minimum and maximum are nullable, so a declared 0 survives the typed state; a fixture row with 0 (third of a kind: a zero or empty optional value dropped; ADR 0634 §2; issue 1966) 2026-11-05 16:36:06 +01:00
jschoubben 9ffdaca898 Join: one buildstep Toolchain (the seats' value) under the agreement rule; the packages key is the seat's key form (ADR 0634 §2; issue 1966) 2026-11-05 16:33:43 +01:00
jschoubben 4bbb809ef1 Merge branch 'b7n/registry' into b7/registry 2026-11-05 16:31:05 +01:00
jschoubben c71a812e0d Merge branch 'b7m/registry' into b7/registry 2026-11-05 16:30:38 +01:00
jschoubben 2f04e9f400 Merge branch 'b7k/registry' into b7/registry 2026-11-05 16:30:31 +01:00
jschoubben 52c880201c Merge branch 'b7i/registry' into b7/registry 2026-11-05 16:30:27 +01:00
jschoubben 520e56d53d Merge branch 'b7f/registry' into b7/registry 2026-11-05 16:30:21 +01:00
jschoubben 0bcc046c3d Merge branch 'b2/registry' into b7/registry 2026-11-05 16:30:17 +01:00
jschoubben c85b150782 View read.go: the reads' names from the clients and the view's own constants (kept apart from the unit commit for the buildlog change of read.go)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:28:52 +01:00
jschoubben 3456f34fa8 View: no go/delivery left; wants, haves, presence and stuck through their clients, the gate's, the catalog's and the assigner's seats, the builder's builds, the build step, the viewstate; the holders and buckets it names are its own constants checked against its manifest (D-11; ADR 0634 §1, §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:28:52 +01:00
jschoubben 88d100b9d5 Watchman: the node-engine's, wants', build steps', builder's and catalog's names come from their clients and seats, the watchdogs' codec from meshwatchdogsclient; the holders and buckets it names are its own constants checked against its manifest (D-11; ADR 0634 §1, §2, §4; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:28:51 +01:00
jschoubben 9869e34b8b Indexer: the catalog's values are the seat's types and the catalog client's, the gate's, checker's and builder's states are read by their own names, the go.mod leaves the old seat paths; no go/delivery name is left (D-11: its holders and buckets are its own constants checked against its manifest; ADR 0634 §1, §2, §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:25:35 +01:00
jschoubben 5125365189 Forge message package: B7m's forgemsg as committed there (b7m 95fabbfc), the indexer needs it to build; identical bytes, so the join takes it once (ADR 0634 §1; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:25:35 +01:00
jschoubben 4dcb3a44ab grants part, indexer and checker read the seat list again through the sdk's ReloadIfUnread; the checker's hub binds a late consumer (B9e; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:20:53 +01:00
jschoubben 6d46b8a59e mesh-delivery-sdk buildstep: Toolchain, ToolchainKey and the codec of a node's toolchains value, shared by the three build modules, move here from mesh-build-go's own package; a test reads each seat's fixture strictly into it (B2g; ADR 0634 section 6; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:18:04 +01:00
jschoubben baa04d68ce mesh-delivery-contracts, sdk buildstep: the check answer's fetch keeps the fetch tool's whole answer (workspace, commit, modules, merge, conflicts, changed, programs, trees, beside, packages, installed, refused), typed in the seats' StepResult and the sdk's CheckAnswer and StepResult; fixtures from the build modules' captured answers (B2g; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:17:33 +01:00
jschoubben 4382ac1fcb Enrolment: the enrolment's names come from the node-enroller's and the vault's clients and seats, the assigner's seat and client, and the node-engine's client; the state's rules and the expired event (the seat's enrolment) are the holder's own; it invokes the seat mesh-module-assigner; the names it holds beside its own are checked against its manifest (D-11; ADR 0634 §1, §2, §9; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:17:25 +01:00
jschoubben 37ff2ed1d1 mesh-delivery-contracts, sdk buildstep: the check job carries the toolchain the checker agreed (ADR 0584 clause 2) and the node names, so a node on another toolchain declines the check; the part had neither, the sdk's CheckJob lacked the toolchain (B2g; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:16:16 +01:00
jschoubben a13f11074e Grants part: the live placement row carries the node-engine's four declared states (the findings state does not bring the user list's refusal back; issue 774) 2026-11-05 16:15:57 +01:00
jschoubben 0aad2a45b2 Grants part: a node's engine may write and clear its own node's findings (state findings), so the finding that the node waits for the seat list is not refused on the bus (ADR 0564 §2, ADR 0636 §1; issue 1966) 2026-11-05 16:15:22 +01:00
jschoubben 9350c3807d Delivery SDK: the toolchain a language's builders agree on (entries, majority rule) over a seat-neutral form, so the builder, the checker and the indexer read a build seat's toolchains state with one rule (ADR 0634 §1, §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:13:27 +01:00
jschoubben 95fabbfcde Forge bridge: the gate's merges and owed acts are the seat's types and the delivery client's, the version and the repository check the keys' and the trunk's; the holders and buckets it names are its own constants checked against its manifest (D-11; ADR 0634 §1, §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:13:00 +01:00
jschoubben cde060d523 Checker: reads the seat list when its hub is heard while it is unread, since the seat's event before its consumer is lost to it (ADR 0636 §1; issue 1966) 2026-11-05 16:12:49 +01:00
jschoubben 8c685160ea Indexer: its reader of its own seat list reads again as the states it answers from are bound, with no definition moving (ADR 0636 §1; issue 1966) 2026-11-05 16:12:05 +01:00
jschoubben d38a0c8607 Delete sdk/buildlog: the indexer and the view ask the builder's own builds.IsBuildEntry (the view's read.go is the only file of the view touched; ADR 0634 §1; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:11:11 +01:00
jschoubben 0f9dd8a8e3 Delivery sdk: graph, forms and packagename name the catalog client's and trunk's names, not mesh-sdk's go/delivery; forms holds BuiltArtifact (ADR 0634 §1, §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:11:04 +01:00
jschoubben ead87c4c90 Grants part: the unread seat list never holds the part's own module or the holder of the seat it is read through (ADR 0636 §1; issue 1966) 2026-11-05 16:10:48 +01:00
jschoubben e2deb78caf Grants part: reads the seat list again when its own consumer is heard, since the seat's event before it is lost to it (whole case for the unread phase; ADR 0636 §1; issue 1966) 2026-11-05 16:10:11 +01:00
jschoubben 72e1676d61 Assigner: the module graph is served from the node-engine's haves, the adapter and the last go/delivery import are gone (ADR 0634 §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:08:35 +01:00
jschoubben b0d5b8d1af Merge branch 'b7/registry' into b7f/registry 2026-11-05 16:07:56 +01:00
jschoubben 788ee56791 Assigner: its own and the indexer's module names from their seats' clients, the teller's name beside the buckets, the delivery bound from motion, the provided modules from the overlay package, the build queue from buildstep (ADR 0634 §1, §4, §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:06:38 +01:00
jschoubben e000ed0f66 Teller: the gate's asks and answers are the delivery client's and the seat's types, the assigner's asks its asks package's, the view's answers the view's; the holders and buckets it names are its own constants checked against its manifest (D-11, D-17; ADR 0634 §1, §2, §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:06:00 +01:00
jschoubben 463fa66aa1 meshcatalogclient: the holder's module name and the addresses of the states others read (modules, manifests), so a reader names them from the client (lead's request; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:04:21 +01:00
jschoubben 05b7dbce48 Assigner: the gate's answer, source and merge are the delivery client's and the seat's, the verdict words the checker client's (ADR 0634 §2, §4; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:04:06 +01:00
jschoubben bd6855e1b7 Merge branch 'b7f/registry' into b7/registry 2026-11-05 16:03:33 +01:00
jschoubben 8c2d61a2cf Merge b2/registry (B2f: the builder on the generated mesh-artifact-sweep seat, the kept state's client) into b7/registry; the builder keeps the hub for the seats' events (B7j)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:03:24 +01:00
jschoubben 70865842f2 Assigner: the published compositions are read with the node-engine client's Composition (ADR 0634 §4; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:01:58 +01:00
jschoubben 5fe482edec graph.Served takes the node-engine contract's haves (running, healthy), so a caller needs no adapter; the checker reads them through nodeengineclient (B7j; ADR 0634 §1, §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:01:48 +01:00
jschoubben 3fd09d50e9 Assigner: a want, a node's own want and a hold are the wants client's, a put is the assigner's own puts package (ADR 0634 §4, §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:01:10 +01:00
jschoubben 1286a24926 mesh-delivery-builder: reads held's answer and the artifacts-gone body in the seat mesh-artifact-sweep's generated types, not go/delivery's (B2f; ADR 0571 §2, ADR 0634 §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:59:45 +01:00
jschoubben 7fcd2d0b64 mesh-delivery-contracts: the seat mesh-artifact-sweep is a whole seat: held's answer (HeldAnswer) and the artifacts-gone body (ArtifactsGone) typed, with fixtures from the holder's test values, generated Go and TypeScript (B2f; ADR 0571 §2, ADR 0634 §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:58:29 +01:00
jschoubben f938a53e09 Merge b2/registry (B2e: window, buildstep ask, buildrun, gate codecs) into b7/registry
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:58:00 +01:00
jschoubben 6f7a358049 Grants part: composes from the seat list it reads (reader over its connection and the event hub, catalogue and the pass follow it, a module whose seats the unread list does not name is held as a manifest waiting for a judge is, the two runtime tools, the manifest invokes and consumes) (D-30; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:57:55 +01:00
jschoubben 660fa44b56 Merge branch 'b2/registry' into b7f/registry 2026-11-05 15:55:42 +01:00
jschoubben 44397a53fc Assigner: its asks and their keys are its asks package's, an asking's id the delivery client's, the view's answers the view's (ADR 0634 §5; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:54:19 +01:00
jschoubben 54f91d5ad9 Assigner: a node's presence is read through the watchdogs seat's keys and values (ADR 0634 §1; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:53:27 +01:00
jschoubben d0f1afbede mesh-delivery-contracts: the gate's values in the seat's types with their rules (source, merge, ask, owed, turn, answer: encode, decode, check, same), the turns and approved keys, the merge states, and the checker's verdict key, goldens from go/delivery's output; the turns' times are time.Time (B5e ruling 3; ADR 0625 §4, ADR 0634 §2; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:53:23 +01:00