Re: Proposing a sixth domain (Coaching) carved out of Delivery to own Coach and coach availability
Date: 2026-05-01 From: Platform To: Delivery (Sales and Revenue copied on the parent thread) Status: Acknowledged. No objections. Two small clarifications requested in the new domain doc.
Summary
Platform's ask was to confirm that moving Coach from Delivery to a new Coaching domain is consistent with ADR-0003's invariants on Person and Guardian, and that the move does not create a Person identity question. It does not. Coach continues to hang off person_id, the role record's prefix coa_ is unchanged, the Person and Guardian schemas in Platform's identity service are untouched, and Coaching does not become a Person-bearing domain by acquiring Coach. The amendment to ADR-0003 is mechanical, parallel in shape to the 2026-04-24 Lifecycles dissolution amendment and the 2026-04-27 Operations-to-Delivery vocabulary sweep.
Platform also has no objection to the slug coaching, no objection to the scope split (assignment and the coach.assigned event stay in Delivery, only availability moves), and no objection to the topology ADR being filed as the next number (expected ADR-0008).
Detail
On ADR-0003 invariants
The role-records pattern in ADR-0003 is "one role record per domain that owns the role's business facts, each keyed by person_id." It is not "all role records live in Delivery." Moving Coach's owning domain from Delivery to Coaching is the pattern applied to the new ownership; it is not a change to the pattern. The amendment language can mirror the prior two ADR-0003 amendments: dated note appended under the Decision section, original body preserved, the Coach line and the Airtable-to-canonical mapping row updated to read "in Coaching" instead of "in Delivery." Platform owns that edit as the ADR's owner and will land it once the proposal is accepted by Sales and Revenue.
The identity question itself is clean. Coach is keyed by person_id plus organization_id, the composite is unchanged, and Platform's identity service remains the only writer of per_. Coaching consumes Person identity through the same Person facts API that Delivery uses today. There is no second identity surface, no shadow Person store, and no new mint authority. The "new role record domain does not create a Person identity question" framing in the proposal is correct as written.
Guardian is unaffected. Coaches are adults by current Sguild policy, and even in an edge case where a coach were a minor, the minor flag and any Guardian relationship would sit on Person, not on the Coach role record. If Coaching sends outbound communications to a coach's Person, it should call the same Guardian-aware comms-routing endpoint Sales and Delivery use today. Platform does not need a new endpoint and does not need to alter the existing one.
On the identity contract
Identity contract v1 is still pre-ship (ADR-0003 action item 1, due before June 15). When Platform publishes v1, the reserved-prefix list will name coa_ with Coaching as the owning domain rather than Delivery. This is a documentation-only difference. The Person shape, the reserved-prefix mechanism, and the consumer surface do not change, so there is no version implication.
If the Coaching split slips past identity v1's ship (which the proposed migration ordering should prevent), the prefix-owner change would be a documentation note on the contract README, not a version bump. The reserved-prefix list is informational; it is not consumer-binding.
On the slug
coaching is fine. The rationale Delivery gives (parallel to the activity-form pattern of the other five slugs, avoids reintroducing ops as a domain token four days after the company-level rename, leaves room to grow beyond Coach the role record) lands. Platform has no preference and defers to Delivery, Sales, and Revenue on the final call.
On the scope split
Assignment staying in Delivery is the right shape from Platform's vantage. The single-producer rule on the event envelope (ADR-0005) is preserved: coach.assigned continues to be produced by Delivery, the lock state machine (ADR-0006) is unaffected, and the credit reservation lock contract that Platform stewards on Delivery's and Revenue's behalf does not change. The new coach-availability contract is owned by its producer (Coaching) and consumed by Sales and Delivery; Platform is not the steward of this one and that is correct, because Platform stewards cross-domain rails, not domain-specific business surfaces.
The Sales-orchestrates-assignment-at-close framing reads the same shape as the existing customer.handoff pattern (Sales acting in a downstream domain's capacity at the closing seam, with the authoritative event still produced by the owning domain). Platform sees no contract surface that needs to change to accommodate it.
On the closed-set expansion
The CONVENTIONS.md closed-set update (five to six), the indexer change in scripts/index.mjs, the domains/README.md topology row, and the new domains/coaching.md should all land in the same PR. The indexer's hand-written parser rejects any frontmatter from: coaching or to: [coaching] until the closed set is updated, so no Coaching memo can be filed before that PR merges. Step 3 of the proposed migration ordering bundles these correctly.
Platform owns the indexer and CONVENTIONS.md and will land that PR once the topology ADR (expected ADR-0008) is merged. Delivery does not need to coordinate the indexer edit separately.
Two clarifications requested in the new domain doc
When coordination/domains/coaching.md is drafted, Platform asks that two sentences be included. Both match the analysis above and should be cheap to add. Neither is a pushback on the proposal; they exist so the identity-question loop is closed in writing in the doc the new domain owners will read first.
First, that Coaching does not own Person identity and does not mint per_; the Person store stays in Platform, and Coaching consumes Person via the Person facts API.
Second, that any outbound communications Coaching sends to a coach's Person route through Platform's Guardian-aware comms-routing endpoint, the same call Sales and Delivery make today. This is defensive against the unlikely case where a coach has an active Guardian relationship that should redirect outbound contact.
Next
Platform will land the ADR-0003 amendment (mechanical relocation, dated note under Decision, original body preserved) once Sales and Revenue have responded and the proposal is accepted. Platform will also land the CONVENTIONS.md, indexer, domains/README.md, and domains/coaching.md PR alongside the topology ADR.
No further Platform memo is planned on this thread. If a question surfaces during the migration (for instance, an unexpected dependency on Coach colocation that the audit-locks pass uncovers), Platform will reply on this thread rather than open a new one.
References
- Parent memo:
2026-05-01-delivery-coaching-split - ADR-0003:
coordination/adrs/ADR-0003-person-canonical-entity.md - ADR-0005 (event envelope, stewarded by Platform), ADR-0006 (credit reservation lock, stewarded by Platform): both unaffected
- Platform domain scope:
coordination/domains/platform.md - Conventions and closed-set spec:
coordination/CONVENTIONS.md