jschoubben
ca61a8432c
Complete go.mod and go.sum for the externals each module builds with
...
A check's tests run without network, so each module must carry every external module it builds with.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-06 00:51:22 +01:00
jschoubben
49f5596781
Grants: the node-engine's records keep its consumes, so each node account hears the backup holder's word and settled
...
Dropped since the hear was removed (ADR 0625 §4); the golden user list and the grants case now hold the node user's subscriptions. The indexer's open-tries comment says it refuses an answer without the key.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 23:50:05 +01:00
jschoubben
723213c3f7
Merge origin/main into the registry branch: trunk's own build at start, empty open-tries answer, grants filters and heard consumers beside the Placement retirement
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 23:35:01 +01:00
jschoubben
0eafb2fe95
The assigner's state and verb placement are assignments, with its events, tools, views and every caller; the assigner copies the retired state at its start (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 22:13:20 +01:00
jschoubben
369ebd092d
mesh-wants is the Delivery domain's seat, defined in the delivery contracts; the indexer knows no Placement domain (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 21:39:57 +01:00
jschoubben
1b262125ee
Open tries test folded; the consumer update granted for every composed consumer; a standing refusal of an addition said once (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 21:32:04 +01:00
jschoubben
4ddf78395d
None open is an answer: the checker lists open tries as [], the indexer takes null as none (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 21:10:42 +01:00
jschoubben
432df75997
gofmt
2026-11-05 20:50:19 +01:00
jschoubben
e98f6f30b1
The checker's event layouts are its own published package, the try group key and wording are the mesh-catalog client's; one limit for try (ADR 0634 sections 1 and 2, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 20:50:14 +01:00
jschoubben
03809d8d83
Merge origin/main into b7/registry: the group try and the successor validation take the group's contracts, clients and seat list (issue 1966, issue 1921)
...
The seat verb try gains members (ADR 0637 section 6); the try's group name and the missing-preview reason are one definition of mesh-delivery-sdk (ADR 0637 section 8).
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 20:41:41 +01:00
jschoubben
e3735da928
The indexer takes the engine's want as its build only while the apply is in progress (issue 1921)
...
mesh/delivery merged: source.main moved to novox/mesh-delivery@8c67adaf9136
mesh/check being carried to e3735da928f4 on 8c67adaf9136 | from abe9ea3796ea
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:53:05 +01:00
jschoubben
78d57e1cc6
A transient forge failure is asked again; only a directory missing from the tree is cached per head (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:49:27 +01:00
jschoubben
9f9e743b2f
The indexer started during its replacement fixes the successor's build; a start that decides nothing says so; a failing head is said once (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:47:42 +01:00
jschoubben
f9578cb7b4
A try's end is said again until the stream acknowledges it; a waiting try says why; a hand recovery never overlaps a try event (issue 1921, ADR 0639)
...
mesh/delivery merged: source.main moved to novox/mesh-delivery@abe9ea3796ea
mesh/check being carried to f9578cb7b418 on 8c67adaf9136 | from abe9ea3796ea
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:24:45 +01:00
jschoubben
f6f18d04e1
The delivery SDK's enginereads, findings and heard leave for the clients of their seats (ADR 0634 sections 1 and 2, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 19:22:05 +01:00
jschoubben
69a2790099
The indexer fixes its own build once at its start and never learns it later; a merge held for an unknown own build is said pending with why and since (issue 1921, ADR 0633 §1)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:47:31 +01:00
jschoubben
bd5eb33e9e
A failed recovery of the open tries is said and retried; every open try is listed; a silent node ends a try as error (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:38:11 +01:00
jschoubben
c8241d0be6
No client names a holder: each reader keeps its own constant, held to its manifest (ADR 0625 section 4, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:37:28 +01:00
jschoubben
c2b8ac3370
The indexer hears the checker's events after it lists the open tries; rows for the start order and the config skip (issue 1921)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:35:22 +01:00
jschoubben
45386212da
A group try's candidate follows the checker's try events, judged in one locked pass (issue 1921)
...
The checker says try.started (members at their commits) and try.ended for a whole try; the indexer writes and
deletes the candidate from them and finds the open tries again at its start through checker_tries, never reading
the checker's state. The try's digests are judged inside the one pass that takes the seats; the definitions of every
contracts module of each member are read; the config declarations leave a try's candidate alone.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:28:52 +01:00
jschoubben
b97e277d2d
The indexer writes a group try's candidate from the checker's try and its previews (issue 1921)
...
A whole try has no pull request, yet compose-candidate and the manifest validator read the indexer's
candidate of a group. The indexer reads the checker's tries, writes candidates.<try id> (number 0 per member) from the
previews, judges its manifests with the seat definitions the members carry, leaves try-* alone in the open message,
deletes it when the try ends, and has a tool that reads and one that drops it.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 18:13:29 +01:00
jschoubben
2dbb0da8a5
Require every mesh package of the group at the floor version (ADR 0573 sections 2 and 4, issue 1966)
...
A member's go.mod names the oldest version a module accepts; the check builds the group's own heads whatever it names. go.sum lines of mesh packages are left out.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:56:39 +00:00
jschoubben
31ff708f88
Judge a successor indexer's manifest with the seat definitions its revision carries, not the built-in list (issue 1966, ADR 0633 §1, §6)
...
The take-in's dry run reads the contracts modules' definitions of the revision's merges and puts them over the seats while it judges; cmd/mesh-judge puts the request's seats over its own. A refusal of the named indexer's manifest is said on take-in.pending and in indexer_pending.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 17:52:53 +01:00
jschoubben
3e7281cb14
assigner: the seat mesh-module-assigner's four events are said on the seat's subject, not on a stream of the module's own; its placement stream and the judge's exception for it are gone (V1; ruling 18:4x, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 17:32:54 +01:00
jschoubben
dba15eb4b1
The judge's rule tests are grouped by kind into subtests, each by its former name: unit count 900 to 671 (D-26, issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 17:11:58 +01:00
jschoubben
7c61a7ad37
indexer: its findings are written and read in the seat mesh-conditions' layout through meshconditionsclient (ADR 0634 §4; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 16:48:57 +01:00
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
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
2f04e9f400
Merge branch 'b7k/registry' into b7/registry
2026-11-05 16:30:31 +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
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
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
986ab0396d
The verdict events are the seat mesh-catalog's: the indexer says manifest-accepted and manifest-refused on the seat's subject and no longer lists them in emits; builder, watchman and the grants part consume mesh-catalog.<event>, the bus module's keeper hears a watched seat's events (B7d finding 1; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:24:21 +01:00
jschoubben
ab168212c8
Indexer: a contracts module whose seats cannot be listed is named by its seats directory, not by an index file (D-I5; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:16:23 +01:00
jschoubben
e80d8d05c5
Indexer: the tests follow the seat mesh-module-assigner and the seat list reader's bus (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:14:35 +01:00
jschoubben
e482ebc667
Indexer: its one pull of its durable on the shared events stream is the module's event hub: the node-engine's reads changed, the registries' published, the builder's numbered and the assigner's views are handlers of it (B7c finding 1; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:14:17 +01:00
jschoubben
07a75a768a
Indexer: it reads its own seat list as every part does (the seat list reader over its own state, its own moves heard at once) and gives catalogue what it holds, so the judge judges against the seats the mesh defines (D-29 host wiring; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:13:12 +01:00
jschoubben
06d4e19631
Indexer: its views family is its ordinary events (views.<state> among its emits, no stream of its own), the assigner's placement followed on the shared events stream, its findings through the views' writer; the seat mesh-catalog's verbs from the contracts, described by the tool runner; a seat list in its tests (D-25 owner half, D-29 tools; issue 1966)
...
The indexer's consumers of its durable on the shared stream still compete; they join the module's one hub.
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:08:25 +01:00
jschoubben
84df3db4ad
Merge b2/registry ( f2c61815) into b7/registry
2026-11-05 14:57:36 +01:00
jschoubben
acd8e985d1
mesh-delivery-sdk kept: the version check, CheckName and IsHex64 are mesh-sdk keys' now; kept keeps Decode and CheckDigest (ruling 2, ADR 0634 §1; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:41:02 +01:00
jschoubben
da2f8cfc10
Judge: no seat list compiled in; it judges against the seat list its host reads (the request's seats, UseSeatList), the seat names from the contracts (D-29, ADR 0634 §4, ADR 0636 §1; issue 1966)
...
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:39:04 +01:00
jschoubben
7c42361fbc
Merge branch 'b2/registry' into b7/registry
2026-11-05 14:38:13 +01:00
jschoubben
cf9c736061
mesh-delivery-view: the viewstate package (reach and the view's answer layout) is the module's own, a package artifact; the indexer's taken value joins its take-in package; trunk keys a repository (D-10, ADR 0634 §1; issue 1966)
2026-11-05 14:33:04 +01:00
jschoubben
4edc0ce90b
Indexer: the seat mesh-catalog serves seat-definitions and says seat-definition-changed and -removed for trunks; a definition names its domain and a seat of the mesh's own contracts is taken only from its domain's module, a move there a handover in either order; seats listed from the module's seats/ directory, no index (D-29 verb, D-I3, D-I5, ADR 0636 §4, §5; issue 1966)
2026-11-05 14:31:11 +01:00
jschoubben
8668e3e538
Merge mesh-delivery main 2fcd61b into the registry join: take-in size fix; the forge message keeps the join's needs field (D-0; issue 1966)
2026-11-05 14:19:49 +01:00
jschoubben
1cda01b869
Merge main (take-in #153 , #154 ) into the registry milestone's join (D-0; issue 1966)
2026-11-05 14:16:17 +01:00
jschoubben
3c832d1a2d
Indexer: a held merge's message is asked of the forge bridge, not read from its stream; covered merges leave their candidate; indexer_take_in_merge (issue 1585)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 11:37:13 +01:00
jschoubben
343321f11e
Indexer: Arrive keeps its message in memory, only the newest merge of a repository is read, an unreadable one is said and covered by a newer one (issue 1585)
...
The take-in unblocks merges without the read grant on the forge bridge's stream: the message Arrive was handed is used,
the stream is read only for a pending merge not held in memory, and older merges of a repository in a revision are
covered by its newest and never read.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 11:24:18 +01:00
jschoubben
4b7a31b2c7
Indexer: a pending merge keeps a reference to its FORGE message, not a copy, so a merge over the state value cap is held (issue 1585)
...
The pending value holds the stream sequence and the small fields the waits read; the take-in reads the message from the
forge bridge's stream by sequence. A message the stream no longer holds is said (take-in.pending lost, indexer_pending)
and never taken in silently. indexer_take_in_forge takes one forge message in by its sequence.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 11:21:42 +01:00