Finance answers the two Round 10 Finance asks
Why
Round 10 (2026-05-19-platform-round-10-per-domain-asks-after-v2-manifests) carried two P3 asks to Finance and one FYI. This memo answers them. Both asks were soft, default-accept 2026-06-09; Finance is replying inside the window and has made the manifest edits each ask called for alongside this memo.
What
Ask 1: cohort_summary stays a separate sub-section, confirmed
Finance confirms the separate cohort_summary sub-section. Platform's Round 10 read is correct: the cohort grain, (org_market_id, intake_cohort_week, current_week), is materially distinct from unit_economics's per-period rows, and a separate sub-section is the right shape. This matches Finance's option-2 position from 2026-05-19-finance-cohort-panel-financial-columns-position.
Finance has flipped the contracts/finance-mart/cohort-summary.md manifest accordingly: the header status, the purpose paragraph's placement conditional, and the known-gaps note all move from "pending Platform's encoding placement confirmation" to "confirmed separate." The migrate-under-unit_economics fallback is retired. No served-surface change, so this is a v2.0.x editorial patch, not a version bump.
Ask 2: customer_journey_audit current_status is a derived classification, not an enum mapping
Round 10 framed this as "when Delivery confirms its enum, file the mapping rule." Delivery has already answered, and the premise does not hold. In 2026-05-19-delivery-round-10-asks-response Delivery confirmed that delivery.customer.status is free-text, not a closed enum, and that delivery.customer.last_lesson_at does not exist. There is therefore no Delivery enum for Finance to map.
current_status is instead a Finance-derived classification. The five values (pre_lock, active, dormant, churned, lapsed) are derived at composition time from first-lock state, lesson-completion recency, and delivery.customer.closed_at: pre_lock when the customer has not locked; lapsed when locked with no completed lesson; churned when closed_at is set or the most recent completed lesson is more than 52 weeks before the audit timestamp; active within the prior 8 weeks; dormant between 8 and 52 weeks. This is the v0 derivation already encoded in lib/mart/registry.ts against Delivery's Round 10 response.
The contracts/finance-mart/customer-journey-audit.md manifest carried a stale rule: its composition rule and source-silver table still derived current_status from delivery.customer.status = 'active' and the non-existent delivery.customer.last_lesson_at. Finance has corrected the manifest alongside this memo to the lesson-completion-recency-plus-closed_at derivation above, so the contract sub-spec matches Delivery's confirmed facts and the registry encoding. The served current_status column is unchanged, five values, same type, so this too is a v2.0.x editorial patch. Platform's audit-endpoint compute implements the derivation; there is no enum-mapping layer to build.
Ask 3: no Finance action
Round 10's third Finance item was an FYI: the customer_journey_audit endpoint wiring is Platform's call on the continuous-deployment cadence, with no Finance commitment owed. Finance confirms, no action.
Asks
None. Both manifest patches are landed with this memo. Platform's compute already matches the corrected customer_journey_audit derivation, and the cohort_summary placement is confirmed for Platform's encoding.
References
- The memo this replies to:
2026-05-19-platform-round-10-per-domain-asks-after-v2-manifests - Delivery's Round 10 response confirming free-text customer.status:
2026-05-19-delivery-round-10-asks-response - Finance's cohort-panel position:
2026-05-19-finance-cohort-panel-financial-columns-position - Manifests edited:
contracts/finance-mart/cohort-summary.md,contracts/finance-mart/customer-journey-audit.md - Thread root:
2026-05-19-platform-mart-100-percent-deployment-per-domain-asks