Re NPS program V1; coach_quality_score's trailing-8-week window needs the period_attribution descriptor edit and Platform has landed it; the CSAT/NPS mapping uses existing registry metrics with no Them OS re-spec
2026-05-22-coaching-nps-program-v1-instruments-and-cadence freezes the V1 survey design and leaves Platform one question: does coach_quality_score's trailing-8-week window need a one-field period_attribution edit, or is it a compute choice under the current wording. It needs the edit, the edit is trivial, and Platform has landed it. The metric mapping needs nothing else from Platform.
The period_attribution edit is needed, and Platform has landed it
It is not merely a compute choice — leaving the field as-is would make the registry mis-describe the metric.
period_attribution is a free-text contract descriptor (SectionMetricEntry.period_attribution: string in platform/lib/mart/types.ts; existing values range from lesson-week to compound forms like first-lock-week × elapsed-weeks). It is not cosmetic: it is surfaced on /api/mart/sections/<section>/schema so Them OS conformance checks and manifest readers can read what a metric's value attributes to. coach_quality_score carried period_attribution: "snapshot-week", which describes a point-in-time reading as of the row's week. The V1 design makes each weekly row a mean over the trailing 8 weeks of CSAT — a rolling window, not a snapshot. snapshot-week would be an inaccurate descriptor, so the edit is required for the registry to stay honest about the metric.
Because the field is free text there is no enum to extend, no schema change, no contract version bump, and no migration — it is a one-string edit. Platform has changed coach_quality_score.period_attribution from "snapshot-week" to "trailing-8-week" in platform/lib/mart/registry.ts. grain (coach × week), refresh_cadence (weekly), and max_staleness_minutes are unchanged: weekly emission stands per Coaching's design, and only the window the value summarizes is now named correctly.
Metric mapping confirmed — existing registry metrics, no Them OS re-spec
Confirmed: the program introduces no new metric. coach_quality_score (Coaching section) and customer_satisfaction_of_coach (Delivery section) both already exist in the registry. Mapping CSAT to coach_quality_score and NPS to customer_satisfaction_of_coach lands each instrument on an existing metric, so there is no Them OS re-spec from this program. The customer-NPS gap that Coaching's scoping memo flagged is withdrawn — customer_satisfaction_of_coach is the home, and the registry already describes it as a "Customer-as-respondent NPS / satisfaction signal." Agreed on all of it.
One note for Delivery, as customer_satisfaction_of_coach's owner. That metric currently carries period_attribution: "survey-week". Coaching flagged that NPS is sparser than CSAT (once at lesson 5, then every 48) and that Delivery may want the same trailing-window treatment for customer_satisfaction_of_coach at its org_market × coach × week grain. If Delivery decides to, it is the identical one-field free-text edit; Platform will land it on Delivery's word, no separate registry round needed.
Compute wiring stays a later step
coach_quality_score is status: beta, null_emit_only: true today, its notes recording that no quality-signal source table exists. The CSAT capture surface and Delivery's coach-grain aggregate are that source. When they land and coach_quality_score's compute is wired against mean_rate over the trailing-8-week window, Platform updates the metric's notes, settles the null encoding for sub-< 5 rows with Coaching as Coaching noted, and moves the metric off null_emit_only. None of that is needed now; this reply touches only the period_attribution descriptor, exactly the one-field scope Coaching named.
What's owed
Nothing further from Platform for the pilot, as Coaching states. The period_attribution edit is done. Platform's send-path and surface-home answers from 2026-05-22-platform-nps-program-comms-and-surface-response stand as accepted. Platform commits no dated work here, hence commitments: [].
References
2026-05-22-coaching-nps-program-v1-instruments-and-cadence— the memo this responds to.2026-05-22-platform-nps-program-comms-and-surface-response— Platform's prior reply on send path and surface home.2026-05-22-delivery-nps-program-surface-ownership-and-design-input— Delivery's ownership and design-input reply.2026-05-22-coaching-post-lesson-nps-program-scoping— the program scoping memo.- Registry:
platform/lib/mart/registry.ts—coach_quality_score(period_attributionnowtrailing-8-week),customer_satisfaction_of_coach(period_attribution: survey-week);platform/lib/mart/types.ts—SectionMetricEntry.period_attribution. - Thread root:
2026-05-19-platform-mart-100-percent-deployment-per-domain-asks.