Commit Graph
24 Commits
Author SHA1 Message Date
jschoubben 0ccac1d42a K11 (no named callers): no seat definition names a callers, and the verbs that had one keep their class
Every verb takes its class's default (read: invokers, persons, sessions; act and warrant: operator, sessions, invokers); resync and
retire, which named a caller beside the operator or a seat, are of class act.

Builds: design 47 G §610 (§391, §392, §394, §405, §555, §554, §659, §681, §393, §422, §579)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:45:23 +01:00
jschoubben 74b6162807 K21a (regenerate, in between): the generated Go and TypeScript follow the definitions so far
The conditions developer reads kinds, attempt-changed, wait-held and wait-ended from it. K21 regenerates last. The client
meshconditionsclient does not build against the findings state's new layout until the question on it is answered.

Builds: design 47 G §341, §523, §580, §541, §499

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:55 +01:00
jschoubben 9cefd47223 K18 (asker hears refused): Take answers Refused with the router's words for a refused ask
The ask is closed as any ended ask is, then the asker's request ends with why.

Builds: design 47 G §570, §638

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 6beae382b3 K17 (refused said): the asks record says when an ask ended
decided already names ask, outcome refused, words and at; the record gains at beside state refused and answer.
Generated code waits for K21.

Builds: design 47 G §570, §638

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben a090a447d3 K16 (notify every channel): notify may ask a message sent on every channel
operator-channel's notify takes every-channel, which the router sends on every channel's send, as a break-glass
act is announced; the teller tells widens, recovery-merged and forge-made through it. A fixture reads the input.
Generated code waits for K21.

Builds: design 47 G §514

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 15:56:39 +01:00
jschoubben 9068aac406 C14 (regenerate): mesh-conditions' finding body types, no hand-kept tsconfig.json, the watchdogs client's artifact
Regenerated by seatgen at mesh-catalog b5aebbbe (bodies types, design 47 G section 452, 454); the eight hand-kept
tsconfig.json files are deleted (the generator writes none, section 341); health-and-repair/module.json names the
artifact go-meshwatchdogsclient its client check asks for.

Builds: design 47 G §439, §452, §454, §341
2026-11-11 11:33:06 +01:00
jschoubben e529c372d0 C14: the generated Go and TypeScript of every seat follow the definitions
Written by seatgen at c62650e4 (GEN3) with mesh-sdk b19fc7fa (reader release): the seat mesh-grants new,
every TypeScript contract as index.js with index.d.ts, events with subject and stream. mesh-watchdogs gains
its family, which a definition with events needs. Written with the reader as it is: the field needs-approval
(node-login-shell) and the section bodies (mesh-conditions) are unknown to it, so they were laid aside for
the run; nothing generated carries either.

Builds: design 47 G §339, §341, §261, §389

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 10:45:30 +01:00
jschoubben 26ef347d27 C13: every contracts manifest says version 0.1 and no artifact says series
Builds: design 47 G §368, §411

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 10:43:17 +01:00
jschoubben e84b1e3712 C10: operator-channel lists a held-back ask with since when and serves ask-again
asks gains the state held-back and the field held-since (no behind); the seat gains the verb ask-again,
of class act, the operator's and the healers'.

Builds: design 47 G §40, §83, §394, §403; design 46 §6

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 10:42:06 +01:00
jschoubben ada45be38b AM-C1: the operator-channel client puts a key prefix before every key of its own state
Client.KeyPrefix is put before the keys the client writes and reads in its own State; empty for every
asker today, so today's keys stay; Where still reads the router's record under <module>.<id>.

Builds: design 46 milestone 7 §10, §22 (design 47 G, approval mark)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 10:35:35 +01:00
jschoubben 0ae7cb7a76 C5: the operator-channel seat declares its verb asks' input (key, state, since, bound) and answer (asks with key and state, cut, matched), as the router serves it (issue 1966, ADR 0668 §4; review round 1, finding 5)
The assigner's read at its consumer's bind calls the verb with them; regenerated with seatgen, whose -check passes.

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-10 04:20:04 +01:00
jschoubben b77560786a Complete go.mod and go.sum for the externals each module builds with
mesh/delivery merged: source.main moved to novox/mesh-contracts@08580d25d2dc
mesh/delivery-group group feat/registry-milestone merged: every member is merged
mesh/check checking b77560786a6a on 08580d25d2dc | novox/mesh-contracts#1 in group feat/registry-milestone
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 07ec4b1f31 Regenerate the contracts' TypeScript: the key parsers name their parameter apart from the parts (issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 21:24:07 +01:00
jschoubben 036f39a5a5 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 396ccc0e11 Operator-channel client: the bench shapes tested against their written wire, with no mesh-sdk channel import (B6j; ADR 0634 §5; issue 1966) 2026-11-05 16:45:22 +01:00
jschoubben cd2615f094 operator-channel: the times of the bench events are date-time, so the generated types are time.Time (B5d; ADR 0634; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 15:01:57 +01:00
jschoubben 29dc84a38b operatorchannelclient: the bench subjects and words the router and the channels share (B5d; ADR 0634 §1; issue 1966)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:56:40 +01:00
jschoubben 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)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:53:24 +01:00
jschoubben 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)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:45:30 +01:00
jschoubben 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)
Claude-Session: https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
2026-11-05 14:40:27 +01:00
jschoubben 935a0c7753 Each generated TypeScript package gets its lock, its package.json without dependencies and its type-check config (ADR 0634 §8, F7; issue 1966) 2026-11-05 14:14:32 +01:00
jschoubben 929bf5539e Every seat definition names its glossary domain; the schema requires it (ADR 0636 §5; issue 1966) 2026-11-05 14:11:19 +01:00
jschoubben 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)
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-05 13:19:37 +01:00
jschoubben 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)
Generated code, clients and the seat-set removal wait for the seatgen change.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-05 12:51:40 +01:00