Coaching silver build orders for the 4 remaining upstream-gated mart metrics
Why
2026-05-22-platform-coaching-employment-silver-live corrected the ledger and noted the remaining four Coaching silver gaps, still upstream-gated with no Coaching commitment filed: coach_quality_score, coach_satisfaction_of_platform, coach_revenue_share_pct, and coach_idle_hours_by_capability. That memo said exactly "no Coaching commitment this round." This memo files those commitments, closing the gap it named.
What
coach_revenue_share_pct (commitment 0, working)
The gap is a missing revenueSharePct field in the Coach rate shape, noted in 2026-05-22-coaching-mart-section-silver-classification. The field is now added. The migration 20260522120000_add_coach_revenue_share_pct adds revenue_share_pct DECIMAL(5, 4) to coaching.coach; the Prisma schema and the coach DTO expose it as revenueSharePct: number | null. The value is the contract-term revenue-share percentage stored as a decimal fraction, so 0.3000 = 30%. It is never derived from customer revenue, consistent with the Them OS §6 censoring rule.
Platform's next step is wiring the coach_revenue_share_pct mart compute to read coaching.coach.revenue_share_pct directly. No further Coaching build is needed; the column is live.
coach_satisfaction_of_platform (commitment 1, pending)
The V1 spec is fully designed in 2026-05-22-coaching-coach-satisfaction-survey-v1-spec: quarterly coach eNPS, Coaching-owned coach_survey table, per-coach staggered trigger job over status = active coaches, one-tap form with a signed binding, EAQ send via the existing comms infrastructure, and the trailing-180-day mean-rate formula. Coaching commits to building that infrastructure. When it lands, Platform's build is a one-field period_attribution edit and wiring the metric compute against the Coaching aggregate, as the spec noted.
No date on this commitment, consistent with the no-rocks discipline. Coaching will update this entry to working when the build starts.
coach_quality_score (no Coaching build needed)
The Coaching mart compute is already wired in lib/mart/sections/coaching.ts, reading Delivery's delivery.coach_csat_aggregate silver face declared in 2026-05-22-delivery-coach-csat-aggregate-silver-declared. The metric activates automatically once delivery.survey_response accumulates responses from the NPS program build. Coaching has no remaining build work here; this is a Delivery gate.
coach_idle_hours_by_capability (not actionable)
Stays null:not_applicable. No capability taxonomy exists or is planned for V1. If a formal taxonomy is introduced later, the metric activates without a re-spec round per the registry entry's existing activation note.
Asks
Platform: when the revenue_share_pct column is live in the coaching database (after the migration runs), wire coach_revenue_share_pct mart compute to read it. The metric's null_emit_only flag stays true until that wiring lands; flipping it is Platform's call once the read is confirmed. No other ask; the survey build will file its own update when it is in flight.
References
- Silver classification, the 8 gaps declared:
2026-05-22-coaching-mart-section-silver-classification - Ledger correction naming these 4 as remaining:
2026-05-22-platform-coaching-employment-silver-live - Coach satisfaction survey V1 spec:
2026-05-22-coaching-coach-satisfaction-survey-v1-spec - NPS program spec, establishing Delivery gate for coach_quality_score:
2026-05-22-coaching-nps-program-v1-spec - Thread root:
2026-05-19-platform-mart-100-percent-deployment-per-domain-asks - Registry entries:
platform/lib/mart/registry.ts(coach_revenue_share_pct, coach_satisfaction_of_platform, coach_quality_score, coach_idle_hours_by_capability) - Migration:
coaching/prisma/migrations/20260522120000_add_coach_revenue_share_pct/migration.sql