ADR 0625 §10: the README says a seat's code is mesh-contracts', and what mesh-sdk keeps

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
2026-11-04 13:34:50 +01:00
parent c1d7218b32
commit a0465bf0b7
+9
View File
@@ -9,6 +9,15 @@ does not belong.* Per-module code (a service's API client, its tool implementati
create-a-resource adapter) lives **in the module**, never here — that coupling is exactly what
turned the old SDK into constant maintenance and made every edit rebuild every module.
**A seat's code is not here** (novox/hq ADR 0625, ADR 0627). mesh-sdk is the runtime every module uses (the bus
connection, the tools bundle's runtime, state and its helpers) and a seat-neutral part two or more seats' clients or
holders share (sending a file in parts, `go/parts`). A seat defined whole has its generated contract, and its client
where callers share logic over it, in mesh-contracts (`go/seats/<seat>`, `go/clients/<seat>client`); the seat list is
mesh-contracts' `go/seats`, which `catalogue` alone imports. The value layouts of seats not yet defined whole stay
here until their domain moves, and no new seat-specific type is added. `packages_list_test.go` holds all of it:
mesh-sdk imports no contracts module but the seat set in `catalogue`, names none of the seats with a client outside
`catalogue`, and holds none of the packages that moved (`asks`, `asker`, `publish`).
## What is in it
Five small areas, each a thing a module's `tools/` or `provisioner/` imports: