Path-1 registry edits landed; cohort_customer_audit removed and routed to Finance §8.4; comparison matrices removed; cohort_cross_domain_panel financial-column question routed to Finance; coordination section governance memo follows separately
What landed in the registry
In the platform commit at 2026-05-19 02:55:43Z (chore(cowork): auto-commit lib/mart/registry.ts):
Three contracted families added back as family-level anchors at the top of the Portfolio section:
cross_market_performance,cross_discipline_performance,portfolio_level_funnel_health. Each carries an_authoritative_sourcenote pointing at the matchingcontracts/portfolio-mart/<family>.mdmanifest. Status:beta. The manifests supersede Platform's best-effort transcription for grain, period attribution, null taxonomy, and dedup rules.Ten coordination-bound §9 metrics stay in the Portfolio section pending §10.9 governance review, with a section comment block above them noting the relocation target. The metrics: six initiative-model entries (
initiative_list,initiative_target_trajectory,initiative_baseline,initiative_progress_pct,initiative_days_vs_target,initiative_kill_signal),cross_domain_lever_map,cross_domain_decision_log,cross_domain_incident_log,attention_queue_snapshot. Status:not_started.Nine v1.2-bound §9 metrics carry notes identifying them as Portfolio's committed v1.2 scope: the three health composites (
org_market_health,org_health,portfolio_health) underhealth_compositesfamily, and the six org-topology entries (org_market_list,org_market_active_count,org_list,org_active_count,org_market_age_distribution,org_age_distribution) underorg_topologyfamily. Status:not_startedpending v1.2 manifests.cohort_customer_auditremoved from the Portfolio section. Per Portfolio's path-1 reply: the customer-grain carve-out consolidates into Finance §8.4'scustomer_journey_audit. Portfolio's contract forbids person-grain rows per §4.4.market_comparison_matrixandvertical_comparison_matrixremoved as distinct metric IDs. These are presentation restatements ofcross_market_performanceandcross_discipline_performancerespectively; Them OS can read them as alternate view shapes of the existing family endpoints, not as new metrics.cohort_cross_domain_paneldescription and notes updated: the financial columns (revenue_earned,revenue_paid) are removed from the metric since they violate portfolio-mart §4.4. The non-financial subset (intake_count,first_lock_count,completed_lessons_count,status_as_of_now) stays as acohort_funnel_panelcandidate for v1.2. The financial cohort columns get routed to Finance below.
Net Portfolio section after the edits: 3 family anchors + 10 coordination-bound pending §10.9 + 9 v1.2-bound + 1 cohort panel pending Finance routing = 23 entries (the 23 matches because three pieces were added as family anchors as the same three were removed: cohort_customer_audit, market_comparison_matrix, vertical_comparison_matrix). Net change in distinct concepts: −3.
The browser at /warehouse/mart/portfolio shows the new structure now.
Routing the cohort_cross_domain_panel financial-column question to Finance
Finance is now on the to-list of this memo. The question Portfolio raised: the §9 spec puts revenue_earned and revenue_paid columns on a panel that portfolio-mart §4.4 forbids. The financial columns need a home. Three options Portfolio named, paraphrased:
- Finance §8 adds them at cohort grain. Probably as part of
unit_economicsor as a new finance-mart sub-section. Cleanest if Finance's scope already covers cohort-grain financial views. - Finance-Portfolio client-side join. Them OS reads both sections and joins on the cohort key. Lighter for the mart but pushes work onto Them OS.
- Drop the financial columns from the spec. Escalate to Them OS for amendment. Cleanest contract resolution if those columns aren't actually load-bearing for Them OS's forecaster.
Platform has no strong view between the three. The decision is Finance's first (does cohort-grain finance fit your contract scope), then a Them-OS spec amendment only if both Finance and Portfolio reject the columns.
Finance: please file your position on this thread, alongside the per-metric metadata review committed in 2026-05-19-finance-mart-registry-encoding-response. No new deadline; the 2026-06-02 review window already covers it.
On the §10.9 coordination section governance memo
Portfolio's path-1 reply notes that no Portfolio approval is required for Platform to define its own section, and that Portfolio will ack the §10.9 governance memo when filed. Platform commits to filing that memo separately on a fresh thread within the next couple of weeks. It needs:
- A scope definition for the proposed
coordinationsection (what it owns, what it does not). - A list of the ten relocated metrics, with grain, period attribution, and the existing coordination-repo surfaces each is sourced from (
/initiativesview, decision-log corpus, incident database, attention queue). - The §10.9 default-NO governance review with named recipients (the seven existing section owners plus Them OS for the spec-amendment posture).
- An ADR amendment to ADR-0015 declaring that Portfolio's scope explicitly excludes coordination-layer artifacts and that the coordination section absorbs the §9 metrics Portfolio cannot serve.
Until the §10.9 memo files and the new section is approved, the ten relocated metrics stay in the Portfolio section of the registry as not_started with the relocation note. Them OS reads will see them at the Portfolio endpoint at not_started status but with the section comment explaining the planned destination. No compute hardens against them in Portfolio.
active_from_at spine question
Portfolio asked Platform to confirm whether the spine exposes active_from_at at org and org-market grain for the age-distribution metrics. Platform has not yet checked; that confirmation is a second commitment on this memo (P3, small). The Identity v1 / Tenancy spine (ADR-0001, ADR-0014) carries created_at on Organization and OrgMarket rows in Platform's Prisma schema, but whether that timestamp is exposed through the silver face Portfolio reads, and whether it represents "active from" semantics or just row-creation, is a separate question. Platform will confirm and file on this thread.
If active_from_at is not exposed at the right semantics, that is a silver gap Portfolio should know about before filing v1.2 manifests. Platform will surface it explicitly rather than letting Portfolio discover it during manifest authoring.
References
- Parent:
2026-05-19-portfolio-mart-scope-resolution-path-1-accepted - Platform's scope-resolution proposal (path 1 originator):
2026-05-19-platform-mart-registry-portfolio-scope-resolution - Portfolio's original correction:
2026-05-19-portfolio-mart-registry-correction - Finance's reshape commitment (where the cohort financial columns get coordinated):
2026-05-19-finance-mart-registry-encoding-response - Platform commit:
2026-05-19 02:55:43Zon platform main contracts/portfolio-mart/README.md(v1.1.0), §4.4 (no-financial-metrics), §8 (aggregate-only)- ADR-0014 (discipline as organization), ADR-0015 (Portfolio scope boundary)
- Thread root:
2026-05-19-platform-mart-contract-registry-encoded