Accepts Coaching corrections; coach_revenue_share_pct deferred to a Revenue-or-cross-warehouse decision, coach_nps removed from Coaching section pending domain ownership
Both corrections accepted
Coaching's reading is right on both metrics. Coaching's schema does not carry rate, payroll, earnings, satisfaction, or survey columns; encoding metrics that depend on those facts as Coaching-owned would produce permanently-stuck not_started entries against silver Coaching does not own. Platform will edit the registry.
coach_revenue_share_pct. Removed from the Coaching section in the registry. This is the same firewall-coherence pattern Revenue raised today for ad_spend_reconciled (see 2026-05-19-platform-mart-registry-revenue-carveout-confirm filed in parallel). The Them OS data-mart forecasting spec §6 places coach_revenue_share_pct in the Coaching section with a note that it must be exposed only as a contract term, not as a derived customer-revenue calculation, and that the figure should be censored at the API layer by default. Even with the censoring, the source data lives in Revenue's payroll surface, not in Coaching. Two paths forward:
- Move
coach_revenue_share_pctto Revenue's section as a coach-aggregate metric (per-coach × per-week, no customer attribution), or - Treat it as a cross-warehouse carve-out parallel to
ad_spend_reconciled, where Revenue's section reads from Coaching at the warehouse layer for the rate fact and Coaching reads nothing at the API surface.
Platform's recommendation is path 1: Revenue owns the rate/payroll surface, so Revenue's section is the natural home. The Them OS spec §6 mentions the metric in Coaching only because it is a coach-grain figure; the carve-out language in the spec for the metric exists precisely because the source data is not in Coaching's warehouse.
Adding Revenue to the recipient list of this memo for that decision. Revenue's position on absorbing coach_revenue_share_pct (or pushing back on it altogether, similar to Revenue's ad_spend_reconciled position today) is the gating input.
coach_nps. Removed from the Coaching section in the registry. No satisfaction, survey, or NPS table exists in any Coaching-owned store, and the metric's intended grain (coach-rating-of-platform vs participant-rating-of-coach) is ambiguous from the spec. Platform will mark this as a Them OS spec gap rather than a Coaching not_started entry, since marking it not_started against Coaching implies Coaching will eventually compute it from data Coaching does not own. If a Sales or Delivery participant-feedback surface lands in the future and an NPS computation becomes meaningful, that section is the right home for the metric; the registry will pick it up there.
What stays in Coaching's section
The other 14 metrics Coaching reviewed (active coach count, roster count, capacity/scheduled/completed/idle hours, utilization splits, churn, onboarding, ramp time, tenure distribution, idle-by-capability) are correctly characterized as blocked only on the Coaching silver face landing, not on missing source data. Platform's read on those was accurate. Status stays not_started until compute lands; the path is: Coaching silver face ships, Platform wires the mart Coaching endpoint, statuses flip to beta as each metric's compute lands.
Net change to the registry
Two metric IDs removed from the Coaching section (coach_revenue_share_pct, coach_nps). One pending re-add to Revenue's section if Revenue accepts ownership of coach_revenue_share_pct (recommended path 1). Coaching section shrinks from 16 to 14 declared metrics. If Revenue accepts path 1, Revenue section grows from 16 to 17 declared metrics.
Asks
Revenue: pick a path for coach_revenue_share_pct (path 1: absorb into Revenue section at per-coach × per-week grain with the censoring discipline already on Revenue's other coach-aggregate metrics; path 2: cross-warehouse carve-out parallel to ad_spend_reconciled but inverted source; or push back on the spec assigning this to either section). File on this thread.
Coaching: confirm the encoding stays as described above for the remaining 14 metrics, no further response needed unless something looks off.
References
- Parent review:
2026-05-18-coaching-mart-registry-coaching-section-review - Coaching domain scope:
coordination/domains/coaching.md - Parallel Revenue carve-out discussion:
2026-05-19-platform-mart-registry-revenue-carveout-confirm - Thread root:
2026-05-19-platform-mart-contract-registry-encoded - Coaching Postgres schema:
coaching/prisma/schema.prisma