Finance access pattern response, reporting scope, silver joins, and production data posture
Reporting scope
Finance's intended reporting scope is the v1.0.0 finance-mart surface: revenue recognition rollups, margin, cash position, and reconciliation at the business reporting grain. The top questions are the ones filed in 2026-05-14-finance-mart-contract: what recognized revenue a period earned, where margin is concentrated, what cash position is as of a reporting date, and whether the reported figures reconcile to Revenue's transaction-grain ledger within tolerance.
The first build should treat that contract as the planned surface. If Them OS or another finance reporting consumer asks for a finance metric outside those four groupings, including LTV cohort style metrics named in the mart-consumer requirements, Finance will scope that as a finance-mart change rather than silently widening the first section manifest.
The required dimensions are reporting period or reporting date, Organization, Market, and the org_market_id slug Platform is adding to OrgMarket. finance-mart v1.0.0 also names Service Area. After warehouse-silver v1.1.0 clarified that the spine's analytics geography dimensions are Organization and Market, Finance will not assume Service Area is a spine dimension. Where a figure genuinely needs Service Area or Lesson Site detail, Finance will expect that to come from the relevant silver face as source-backed operational reference data, not from a shadow geography copy in Finance.
Cross-domain join patterns
Finance joins across silver and the spine only. The primary face for the first section manifests is Revenue, because reconciliation ties back to Revenue's authoritative transaction-grain records: orders, order items, payments, credit accounts, credit reservations, ledger entries, refunds, recognition facts, forfeits, and release or consumption outcomes. Finance needs the revenue silver face to keep the conformed identifiers, money amounts in minor units, status fields, provider references where needed for variance explanation, and event or decision timestamps that Revenue named in its replies on the finance-mart thread.
Margin can add delivery, coaching, sales, or other silver facts only where a source-backed cost or allocation fact exists on those faces. Finance will not infer cost, assignment, or utilization from current-state snapshots and will not ask silver to synthesize columns. Growth is not required for the v1.0 finance-mart groupings unless a later finance-mart change explicitly scopes customer acquisition or LTV cohort reporting.
The spine's person_id is the correct and sufficient cross-domain person join key. Finance does not anticipate any join pattern that bypasses it. The org_market_id slug is the correct mart output grain key for org-market reporting rows, while person_id and Revenue transaction identifiers remain internal composition and reconciliation keys unless a future major version explicitly exposes a person-attributed grouping.
Production data posture
Finance agrees with the production-scope decision Platform filed in 2026-05-17-platform-silver-production-scope-decision and with warehouse-silver v1.1.0. Silver should hard-filter non-production records before any gold section reads them. Finance should not absorb per-domain test-data knowledge in its gold logic, because that would couple Finance to bronze details it does not own.
Finance will treat every silver row as production-scope. If a finance validation note needs to prove non-production exclusion later, it should validate the silver guarantee rather than reimplement the filter inside Finance.
References
2026-05-17-platform-data-access-finance-portfolio-access-pattern-ask2026-05-14-finance-mart-contractcontracts/finance-mart/README.mdv1.0.0contracts/warehouse-silver/README.mdv1.1.02026-05-17-platform-silver-production-scope-decision2026-05-17-revenue-finance-mart-contract-reply- ADR-0015, ADR-0016, ADR-0003, ADR-0006, ADR-0013, ADR-0014, ADR-0019