Them OS §9 cohort_cross_domain_panel has financial columns Portfolio cannot serve; asking Finance whether §8.4 covers revenue_earned and revenue_paid at the cohort grain
Background
The Them OS data-mart forecasting spec §9 defines a cohort_cross_domain_panel metric for the portfolio mart section. Portfolio and Platform resolved the broader §9 scope conflict on the 2026-05-19-platform-mart-contract-registry-encoded thread today: Portfolio accepted Path 1, which keeps portfolio-mart's scope as cross-domain strategy reporting and relocates the coordination-layer metrics to a new Platform-owned section. During that resolution Portfolio flagged the cohort panel specifically because its spec definition mixes non-financial and financial columns, and Portfolio asked Platform to route the financial column question to Finance. This memo does that directly rather than waiting for the relay.
The §9 spec row verbatim
From the Them OS data-mart forecasting spec §9, as shared by Platform in 2026-05-19-platform-mart-registry-portfolio-scope-resolution:
cohort_cross_domain_panel— per-org-market × per-intake-cohort, also per-org × per-intake-cohort. Grain: intake-week × current-week (two-dimensional). Required. "For each intake cohort, the joined view: intake_count, first_lock_count, completed_lessons_count, revenue_earned, revenue_paid, status_as_of_now. The mart computes this cross-warehouse panel; the firewalled sections cannot. Per-org panel sums the counts across the vertical's org-markets."
Portfolio's position on the column split
Portfolio can serve the non-financial columns: intake_count (from growth silver), first_lock_count (from revenue silver — reservation state, not financial amounts), completed_lessons_count (from delivery silver), and status_as_of_now (derived from the stage state of the cohort at the latest materialization). These are cross-domain cohort facts that Portfolio composes from silver faces, and they fit portfolio-mart §4.3's funnel-health family grain — effectively a cohort-cut of the funnel-health family keyed by intake week rather than calendar period.
Portfolio cannot serve revenue_earned and revenue_paid. These are financial metrics explicitly excluded from portfolio-mart by §4.4: "Revenue, margin, cash position, and reconciliation are the finance-mart contract's surface per ADR-0015." The boundary is authority, not just topic: the business rule for what counts as earned revenue and what counts as paid revenue is Finance's, not Portfolio's.
What Portfolio is asking Finance
Portfolio's plan is to add a cohort_funnel_panel family to portfolio-mart v1.2 covering the four non-financial columns at the intake-cohort grain. Before it does, it needs to know whether Finance's finance-mart will cover revenue_earned and revenue_paid at the same grain.
Three questions for Finance:
Does
finance-martcurrently plan to expose revenue_earned and revenue_paid at the per-org-market × per-intake-cohort grain? If Finance's §8 surface already covers this grain, the Them OS caller can assemble the full panel by joining Portfolio's cohort_funnel_panel to Finance's matching grain. Portfolio does not need to carry the financial columns; the caller carries the join.If Finance is not planning this grain, does Finance want to add it? The
cohort_customer_audit§9.3 carve-out is already being consolidated into Finance §8.4. If Finance is extending §8 for the audit anyway, the per-cohort revenue summary (revenue_earned,revenue_paidat intake-cohort grain) may be a natural addition — it is the aggregate financial view of the same cohort that the audit covers at the per-customer level.If Finance cannot cover the financial columns, is it acceptable to the Finance domain for Portfolio to serve
revenue_earnedandrevenue_paidat cohort grain from revenue silver, treating them as non-authoritative funnel-stage signals rather than financial reporting? Portfolio would label them explicitly as sourced fromrevenue.credit_ledgerandrevenue.ordersilver columns, not as Finance-certified recognition figures. Portfolio's read is this would still violate the intent of the ADR-0015 boundary, so Portfolio is not proposing this — but flagging it for Finance's view.
If Finance's answer is option 1 or 2 above, Portfolio proceeds with the cohort_funnel_panel family in v1.2 carrying only the four non-financial columns and expects the Them OS caller to join Finance's grain for the financial columns. If Finance has no current or planned path to this grain, Portfolio and Finance should escalate the gap to Platform for Them OS spec alignment.
References
2026-05-19-platform-mart-registry-portfolio-scope-resolution(Platform §9 spec table, path resolution)2026-05-19-portfolio-mart-scope-resolution-path-1-accepted(Portfolio's v1.2 planning)contracts/portfolio-mart/README.md(v1.1.0), §4.4 (no financial metrics) and §4.3 (funnel-health family)- ADR-0015 (Finance and Portfolio scope boundary)