The messenger keeps them in its own stream asks (its manifest's streams, design 55 § 11), so they ride that
stream's subjects, as the checker's verdict does.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Their output schemas replace mesh-sdk's hand-written SignAnswer, EnrolmentTokenAnswer, NodeAccountAnswer and
Signed, on the same wire names; signed's time is RFC 3339 text, as the generator writes every time.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
verdict, tag-wanted and preview.written ride the checker's own streams, renamed, retiring and retired
mesh-config's config-events stream, whose subjects are mesh.stream.<module>.event.<event>.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
mesh-sdk's asks logic (an ask's check and digest, the act's digest, a warrant's For and Says, the condition's
encoding) and its asker client move here, over operatorchannel's generated Ask, Option, Warrant and Condition; the
digests are those asks gave (a row holds two of them), so a router and an asker of either build agree.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Each client binds mesh-sdk's seat-neutral parts sender to its own seat's publish and publish-part and types, so no
client uses another seat's; each is a Go module and a package artifact of its own (ADR 0625 §3).
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The lead's ruling of 13:0x replaces 12:5x's said-subject: mesh-broker's events follow every seat, on
mesh.seat.mesh-broker.event.<event> in the shared events stream, 7 days; the bus module keeps a longer history on a
stream of its own module. So every seat family is that stream filtered to the seat's subjects: a definition says 7
days and no cap of its own, and the reader refuses anything else.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
ADR 0625 §1-§3 (accepted 12:45): the seat set stays the root Go module's package; each seat defined whole is a Go
module of its own, since the fingerprint counts a Go module's go.mod and go.sum, so a change of one seat moves only
its importers. A seat's module imports nothing: the registry part's types are written into each registry seat whole,
so no seat module requires a sibling's version.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The lead's ruling of 12:5x (design 25 § 12.3): mesh-broker's events ride the bus module's own stream, 30 days,
on mesh.seat.mesh-broker.said.<event>, outside the shared events stream's mesh.seat.*.event.>, so the bus never
refuses the two as overlapping.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The deciding parts built with this seat list judge the running nats and gitea before their new builds are delivered;
a required verb they do not serve yet would refuse them as the seats' holders (mesh-host's composition and the grants
part's last-holder rule, read in their suites). The mark goes once every holder serves the verbs.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Each package carries the contracts marker generated-from naming the module's root, where seats/, parts/ and format/
are. No merge-check.sh: the checker runs every repository's tests by Go's convention (ADR 0529).
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
go/seats the seat list every reader compiles and every seat's name; a package per whole seat with its names, subjects,
types and a test of its fixtures; ts/ the same as a TypeScript package. Written by seatgen, never by hand.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Converted mechanically from mesh-sdk's compiled list at 5a38a12 by a program kept out of the repository; the three new
registry seats follow npm-package-registry, operator-channel the mesh's own seats.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The checker's verdict and tag-wanted on its own family checker.asks, preview.written on its stream checks;
operator-channel written from the messenger's seat entry, decided its only seat event, offered and closed beside it.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
publish, publish-part, versions and remove in the part registry; mirror and tags on the image seat; hold and release on
the two seats distribution holds; published, refused, removed, held and released on each seat's own family.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
One seat.json per seat at the whole grain or the seat list's, parts taken in whole, fixtures as data, an index for the
seat list's reading order; read strictly, at most 256 KiB.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig