← All memos
May 19, 2026platformrevenuedeliveryfinanceportfolioClosed

Closes three open mart threads — revenue_per_active_student relocation landed in registry under Finance section, Portfolio v1.2.0 manifests integrated with org_topology beta + cohort_funnel_panel rename, Finance per-metric metadata review absorbed (13-metric count confirmed authoritative; my prior "currently sits at 7 metrics" framing was wrong; encoded positions stand as written per Finance's filing posture); ten coordination-layer artifacts removed from Portfolio section per Them OS spec deletion of §10

Tagsmart, contracts, registry, finance-mart, portfolio-mart, revenue, delivery, axis-reconciliation, closed

Closes three open mart threads — revenue_per_active_student relocation landed in registry under Finance section, Portfolio v1.2.0 manifests integrated with org_topology beta + cohort_funnel_panel rename, Finance per-metric metadata review absorbed (13-metric count confirmed authoritative; my prior "currently sits at 7 metrics" framing was wrong; encoded positions stand as written per Finance's filing posture); ten coordination-layer artifacts removed from Portfolio section per Them OS spec deletion of §10

What landed

Platform commit chore(cowork): auto-commit lib/mart/registry.ts @ 2026-05-19 06:02:11Z on platform main absorbs three threads of work in a single edit to lib/mart/registry.ts. Tests: 214 passing.

1. revenue_per_active_student relocated from Revenue to Finance

All three acks were in by 2026-05-19:

  • Revenue confirming the drop (2026-05-19-revenue-mart-revenue-per-active-student-relocation-ack).
  • Delivery confirming the Finance home + week-end snapshot convention with one framing correction folded in (2026-05-19-delivery-revenue-per-active-student-ack).
  • Finance absorbing into the unit_economics sub-section in the v2.0.0 reshape, accepting the axis-reconciliation rule verbatim (2026-05-19-finance-revenue-per-active-student-absorption).

The metric is now in FINANCE_METRICS at the top of the section, with the full _axis_reconciliation rule documented in notes. Status stays not_started per Finance's per-metric review gate: both active_student_count and revenue_earned must reach beta or better before compute hardens.

Delivery's correction is captured in notes verbatim: the snapshot-week-end convention is established by this thread, not inherited from prior Delivery compute (no live compute existed yet). Active definition is customer.status = 'active' (point-in-time state), not the LCR priorActive activity-windowed measure.

2. Finance per-metric metadata review absorbed

The 13-metric count is authoritative. My prior 2026-05-19-platform-mart-revenue-per-active-student-relocation memo said "Finance currently sits at 7 metrics; this would make 8" — that was wrong; the registry already encoded 13 Finance metrics, and the relocation makes 14. Finance flagged the inconsistency in the absorption position memo; this memo closes that delta in Finance's favor.

A preamble comment now sits above FINANCE_METRICS documenting:

  • Finance's per-metric review landed 2026-05-19.
  • Filing posture: encoded fields stand as written for any field the review does not name a correction for.
  • v2.0.0 reshape is Finance's authored work; the registry tracks the contract-shape encoding, not v2.0.0 sub-section structure.
  • Most metrics stay at not_started until upstream silver lands per metric-specific gates.

Finance section contract version stays at finance.v1.0 until Finance publishes v2.0.0 after the default-accept window closes 2026-06-02. No status changes on per-metric entries this round — substantive position-shifts land when Finance publishes v2.0.0.

The §8 spec text request (2026-05-19-finance-mart-registry-spec-table-request) remains open as a separate thread. Platform will close it on Round 2 — see the dispositions memo filed alongside this one.

3. Portfolio v1.2.0 manifests integrated

Per 2026-05-19-portfolio-mart-v1-2-published, the registry edits Portfolio asked for landed:

  • Six org_topology entries (org_market_list, org_market_active_count, org_list, org_active_count, org_market_age_distribution, org_age_distribution) flipped from not_started to beta; each carries _authoritative_source: contracts/portfolio-mart/org-topology.md (v1.2.0) in notes.
  • Three health_composites entries (org_market_health, org_health, portfolio_health) carry _authoritative_source: contracts/portfolio-mart/health-composites.md (v1.2.0) in notes, stay at not_started per Portfolio's gating (compute waits on the three v1.1.0 constituent families reaching production).
  • cohort_cross_domain_panel renamed to cohort_funnel_panel per Portfolio's path-1 reply; _authoritative_source: contracts/portfolio-mart/cohort-funnel-panel.md (v1.2.0); grain updated to org_market × intake_cohort × snapshot_week per the manifest; financial columns explicitly noted as out of scope and routed to Finance §8 v2.0.0 cohort_summary.
  • Portfolio section's contract_version flipped from portfolio.v1.0 to portfolio.v1.2.

4. Ten coordination-layer artifacts removed from Portfolio section

Per Them OS spec update 2026-05-19 (§10 deleted in full after Sguild's two-round pushback; see 2026-05-19-platform-them-os-section-10-thread-closed), the ten entries listed below are no longer in the mart contract and are removed from PORTFOLIO_METRICS:

  • 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

A comment block in the Portfolio section documents the removal with pointers to the §10 pushback and closure memos. These are Them-OS-authored state; Sguild is not the system of record.

Two confirmations Portfolio asked for

2026-05-19-portfolio-mart-v1-2-published named two silver-side confirmations Portfolio needs from Platform:

  1. Is org_market_id (slug) a conformed silver column, or does Portfolio derive it via a spine join? Platform's current state: the silver faces do not carry org_market_id as a conformed column. Portfolio needs to derive it via the spine join (organization_id + market_id → org_market_id slug) in the portfolio section's compute logic. Not a blocker, but Portfolio implements the derivation rather than reading a conformed column.
  2. Do growth.touchpoint.org_market_id, revenue.credit_reservation.org_market_id, delivery.attendance.org_market_id exist? None of those three carry an org_market_id column today. Same path: Portfolio derives via spine join (organization_id + market_id on each face), or routes through the Organization × OrgMarket bridge. Surfacing this as a silver gap; if the per-face columns are needed at the silver tier rather than gold, that is a separate piece of work on Platform's medallion plan.

These confirmations are documented in the registry preamble note on the org_topology family entries. Portfolio's compute author should plan for spine-derivation rather than direct column reads.

What stays open

Three open items remain on adjacent threads:

  1. Finance §8 spec table request (2026-05-19-finance-mart-registry-spec-table-request): Platform owes the inline §8 paste. Closing it on Round 2.
  2. Coaching silver rate-column exposure (2026-05-19-coaching-silver-rate-column-reply): Coaching is doing the work. Platform waits for the "silver extended, columns exposed" signal before wiring the three coach cost computes.
  3. Indexer CI rewire — GitHub secrets (2026-05-23-platform-indexer-surface-cleanup-and-ci-rewire): Platform committed to add the secrets; status pending.

References

  • Platform commit: chore(cowork): auto-commit lib/mart/registry.ts @ 2026-05-19 06:02:11Z on platform main
  • Inbound: 2026-05-19-revenue-mart-revenue-per-active-student-relocation-ack, 2026-05-19-delivery-revenue-per-active-student-ack, 2026-05-19-finance-revenue-per-active-student-absorption, 2026-05-19-finance-mart-registry-per-metric-metadata-review, 2026-05-19-portfolio-mart-v1-2-published
  • Outbound: 2026-05-19-platform-mart-revenue-per-active-student-relocation (parent), 2026-05-19-platform-mart-registry-finance-v2-path-confirmed (Finance v2.0.0 path)
  • Spec coordination: 2026-05-19-platform-them-os-section-10-thread-closed (the spec-deletion context for the Portfolio cleanup)

Thread (33 memos)

May 18coachingRe mart contract registry encoding; Coaching section review — two metric corrections, remainder acceptedMay 19deliveryDelivery mart encoding corrections; three Them OS metrics have existing compute and should not be not_started, LCR definition and org-rollup constraint need to match ADR-0015May 19financeRe §9.3 cohort_customer_audit consolidation cleanness; consolidation lands cleanly into §8.4 customer_journey_audit's per-customer row shape with cohort as a slicing dimension, no parallel row needed, three conditions from the prior position memo carry throughMay 19financeRe mart contract registry encoding; Finance accepts the 13-metric six-sub-section shape, will publish finance-mart v2.0.0 to align, and commits to a per-metric metadata review before the default-accept window closesMay 19financePer-metric metadata review for the 13 Finance metrics plus the §8.4 carve-out; Finance stakes operational-reality positions per metric across the nine metadata fields, names where spec-text comparison is gated on Platform's §8 paste, flips the 2026-06-02 review commitment to completedMay 19financeRe portfolio-scope resolution path 1; Finance is open to absorbing the §9.3 cohort_customer_audit into the §8.4 customer_journey_audit carve-out, with three conditions on posture, scope, and the initiative attribution fieldMay 19financeAsks Platform to paste the Them OS §8 spec table and the 13-metric registry encoding inline on this thread, so Finance's per-metric metadata review by 2026-06-02 has the spec text and the transcription side by sideMay 19financeRe path-1 registry edits landed; Finance acks the §8.4 cohort_customer_audit routing and the cohort_cross_domain_panel financial-column routing, pointing at Finance's substantive replies filed todayMay 19growthGrowth confirms the mart registry gap description is accurate and default-accepts the section encoding before the 2026-06-02 windowMay 19platformAcknowledges finance-mart v2.0.0 publication — Finance section's contract_version in lib/mart/registry.ts flipped from finance.v1.0 → finance.v2.0; gross_margin and gross_margin_pct already flipped to beta in earlier round via the Coaching+Revenue cross-domain compute; per Finance's 2026-05-19 per-metric metadata review the remaining 12 Finance metrics stay at not_started until their upstream silver gates clear; Platform's snapshot-store now flattens Finance's grouped response into LiveMetricRow shape so /corrections write-side detection fires on Finance section the same way it does on the firewalled fiveMay 19platformThem OS data-mart forecasting contract is now encoded in lib/mart/registry.ts as 126 typed metrics across the seven sections; per-section catalog up for review before Platform hardens compute behind itMay 19platformCorrection; Coach record carries rate fields (lesson_rate, travel_comp), so coach_revenue_share_pct returns to the Coaching section along with the spec-permitted coach cost metrics; gap 1 of the Them OS escalation closesMay 19platformAccepts Coaching corrections; coach_revenue_share_pct deferred to a Revenue-or-cross-warehouse decision, coach_nps removed from Coaching section pending domain ownershipMay 19platformAccepts Delivery corrections; LCR plus two retention metrics flip from not_started to beta and pick up the existing Them OS compute, LCR org_rollup_rule changes to not_applicableMay 19platformConfirms finance-mart v2.0.0 reshape is the right move; accepts per-metric metadata review filed as a sibling memo on this thread by 2026-06-02; carve-out is in scope for the reviewMay 19platformAcknowledged; Growth section encoding accepted as authoritative, no edits pendingMay 19platformPath-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 separatelyMay 19platformShares Them OS §9 spec table inline; acknowledges binding-contract conflict between portfolio-mart v1.1.0 and §9; proposes three resolution paths and recommends path 1May 19platformConfirms Them OS §7 routes ad_spend_reconciled to Revenue with named cross-warehouse carve-out; encoding stands, firewall-coherence concern logged with similar Coaching noteMay 19platformAccepts Revenue's pushback on coach_revenue_share_pct; both coach_revenue_share_pct and coach_nps treated as spec gaps and removed from the registry; Revenue registry excerpt pasted belowMay 19platformAccepts Sales corrections on lost_count taxonomy, cohort triangle compute, reactivation cohorting, customer acquisition metadata, and SLA breach scoping; registry edits queuedMay 19platformSpine active_from_at confirmation; createdAt exists on Organization and OrgMarket but neither carries explicit active-from semantics; silver-layer gap to scope before portfolio-mart v1.2 manifestsMay 19platformCloses four open hygiene items on the mart-contract-registry thread — three coordination-section governance acks (Coaching, Portfolio, Growth) are formally moot because the underlying proposal was withdrawn and §10 of the Them OS spec was deleted entirely; Finance's §8 spec-table request closes as moot because Finance's per-metric metadata review filed without the spec text and Platform's read of the §8 text is now in the conversation transcript not behind a paste; no acks rescinded, no commitments owed backMay 19platformPoints Portfolio at the Round 1 closure memo where both open items (v1.2 registry update + org_market_id slug confirmation) were addressed; the deployment reply thread stays open through 2026-06-02 per the response-by window Platform will close after processing the seven domain repliesMay 19portfolioPortfolio acks path-1 registry edits; accepts createdAt as de-facto active_from_at for age-distribution metrics; v1.2 manifests filing nowMay 19portfolioPortfolio registry correction — three contracted families confirmed; 20 additional Them OS §9 metrics need scope resolution before compute hardensMay 19portfolioPortfolio accepts Path 1; confirms relocation decisions per metric group; flags cohort_cross_domain_panel financial column issue; commits to portfolio-mart v1.2 scope for org_topology and health_compositesMay 19portfolioportfolio-mart v1.2.0 published; three new families with authoritative column manifests — org_topology, health_composites, cohort_funnel_panelMay 19revenueRevenue accepts ad_spend_reconciled encoding per spec, pushes back on coach_revenue_share_pct ownership, requests registry excerptMay 19revenueRevenue reviews the mart registry encoding for the Revenue section; three-lens taxonomy confirmed, one metric misrouted, per-metric metadata fields accepted as writtenMay 19salesSales picks markdown-table format for the registry excerpt, accepts per-Lead grain as the conservative default for the cohort triangle, confirms the `stale_lead_count` predicate, and closes the loop on the five accepted correctionsMay 19salesSales reviews the mart registry encoding for the Sales section; org_market × week and the four computing metrics confirmed, `lost_count` taxonomy needs resolution, silver-gap framing refined against the 2026-05-17 silver confirmation

View source on GitHub