Designs and glossary follow ADR 0634, 0635 and 0636: shared code lives with its owner, the seat list from the bus (issue 1966) #520

Merged
mesh-tools merged 4 commits from docs/domain-sdk into main 2026-11-05 13:01:50 +00:00
Member

The design amendment (playbook 02) of the accepted ADR 0634 (shared code with its owner; domain SDK; domain contracts modules; 25 seats defined whole; mesh-placement -> mesh-module-assigner, mesh-enrolment -> mesh-node-enroller), ADR 0635 (the seat list read from the bus; no seat-set package) and ADR 0636 (a reader acts on nothing new until it has the list; the seat mesh-catalog's seat-definitions; a seat only from its domain's contracts module; Connectivity in the mesh-networking repository).

  • Design 26: A seat's definition (states), Where a seat's code goes, the seat list from the bus, the renames, the acceptance tests table.
  • Design 20 and playbook 06: the homes of shared code.
  • Design 47: the homes ADR 0634/0635 give (composer, placement check, placement's contract, bus composer, the bus server's resources); the seat's new name.
  • Glossary: domain SDK (new), seat-set package retired, the two seats renamed, domains for mesh-wants, mesh-node-enroller, the-private-network and six more seats.
  • Agent definitions mesh-preparer and mesh-code-reviewer: the homes, the retired word gone.

Reviewed by architectural domain in three rounds (security and upgrade, seams and tools, running and testing, health and events); every must resolved; one note (a test case's place) carried to the registry group's prepare. go test ./... passes.

This merges before the registry group's develop of the other agents; the to-be layer is the target.

Reviewed-by: review-health-and-events@shanks at b81c05c36e

https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig

The design amendment (playbook 02) of the accepted ADR 0634 (shared code with its owner; domain SDK; domain contracts modules; 25 seats defined whole; mesh-placement -> mesh-module-assigner, mesh-enrolment -> mesh-node-enroller), ADR 0635 (the seat list read from the bus; no seat-set package) and ADR 0636 (a reader acts on nothing new until it has the list; the seat mesh-catalog's `seat-definitions`; a seat only from its domain's contracts module; Connectivity in the mesh-networking repository). - Design 26: *A seat's definition* (states), *Where a seat's code goes*, the seat list from the bus, the renames, the acceptance tests table. - Design 20 and playbook 06: the homes of shared code. - Design 47: the homes ADR 0634/0635 give (composer, placement check, placement's contract, bus composer, the bus server's resources); the seat's new name. - Glossary: *domain SDK* (new), *seat-set package* retired, the two seats renamed, domains for mesh-wants, mesh-node-enroller, the-private-network and six more seats. - Agent definitions mesh-preparer and mesh-code-reviewer: the homes, the retired word gone. Reviewed by architectural domain in three rounds (security and upgrade, seams and tools, running and testing, health and events); every must resolved; one note (a test case's place) carried to the registry group's prepare. `go test ./...` passes. This merges before the registry group's develop of the other agents; the to-be layer is the target. Reviewed-by: review-health-and-events@shanks at b81c05c36e9552f62c2df439a2af4e5de609e471 https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
mesh-tools added 4 commits 2026-11-05 12:41:59 +00:00
The registry milestone now moves the Delivery domain out of mesh-sdk, creates a
contracts module per domain it moves and the first domain SDK, defines 25 seats
whole with their states, reads the seat list from the bus and renames two seats.
Design 26's *Where a seat's code goes* is what the review and the developer read
to place every new name, so it must say this before develop starts.

- design 26: definitions carry states; the 25 seats by contracts module; the
  seat list from the bus; the two renames; the domain SDK and a module's own
  package; the transfer in the Delivery domain's SDK; checks per ADR 0634 §10
  and ADR 0635 §6
- design 20, playbook 06: the homes of shared code, the first that fits
- design 47: the seat mesh-module-assigner
- glossary: domain SDK added; seat-set package retired; mesh-module-assigner,
  mesh-wants, mesh-node-enroller and the-private-network in their domains
- preparer and code reviewer definitions: the homes, without the retired word

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
The review by architectural domain found that readers of the seat list would
name the indexer, never hear a removal, could deadlock a full restart, and
that any folder could define a seat again; the-private-network's holder sat
in mesh-sdk. ADR 0636 and the lead's rulings answer these, and the designs
must say so before develop.

- design 26: the seat list through a verb and two events of mesh-catalog; a
  reader without it acts on nothing new; a seat defined only in its domain's
  contracts module; states are any holder's, caller-written only for events
  and logs, each with its size cap, declared in the holder's requires; the
  renames move no state; the group's check reads every member's head;
  Connectivity in the mesh-networking repository, held by mesh-wireguard;
  acceptance tests by level and repository; two stale table rows corrected
- design 47: the composer in mesh-delivery-sdk, the bus composer's seat
  parts in the grants part, placement's contract and check by their seat
- design 20: a module's own package is fingerprinted by its own files
- glossary: mesh-placement retired for tool descriptions too; the
  composition renamed to mesh-delivery-sdk's; six seats given their domains

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
A full restart must bring back the part that serves the seat list, so the
bootstrapped definitions now name mesh-catalog beside the foundation's seats,
with a test of it. A seat defined outside the mesh's own contracts is taken
from its own contracts module, not refused. The bus server's resources and the
placement check get their owners, and two stale seat names in design 26's old
table are corrected.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Designs follow ADR 0636 as accepted: a waiting reader, the bootstrapped three
mesh/delivery merged: source.main moved to novox/hq@674f88f9abb8
mesh/check being carried to b81c05c36e95 on 674f88f9abb8 | from 160f384e4fcd
b81c05c36e
The accepted record renumbers its clauses and settles what the review asked: a
reader without the seat list starts nothing new but keeps running, its wait
reaches the operator through the condition keeper and the router, which are
bootstrapped with mesh-catalog, a missing definition blocks new claims only,
a move of a definition is a handover, and the private network's value is the
seat's contract. The renames also refuse old names in consumes and say what an
old installer meets; design 47's done milestones keep the name they shipped.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
Author
Member

Delivery novox/hq@b81c05c36e95 — merged since 2026-11-05T13:01:51Z

Source — source.main moved to novox/hq@674f88f9ab. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-11-05 12:42 (new) → proposed (announced): novox/hq#520's head announced
  • 2026-11-05 12:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-05 13:01 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@b81c05c36e95` — **merged** since 2026-11-05T13:01:51Z **Source** — source.main moved to novox/hq@674f88f9abb8. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-05 12:42 (new) → proposed (announced): novox/hq#520's head announced - 2026-11-05 12:42 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-05 13:01 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 674f88f9ab into main 2026-11-05 13:01:50 +00:00
mesh-tools deleted branch docs/domain-sdk 2026-11-05 13:01:51 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#520