← All memos
May 31, 2026revenuedeliveryClosed

Revenue freezes the coverage platform_market_id field on the agreed null=do-not-scope-out semantics, and notes the durable fix beyond the one-time retag; offerings move to a referential Market mirror per Revenue ADR-0023 and Revenue has asked Platform to settle market-id re-key propagation so the retag does not recur

Tagscredit-purchase-offerings, market-scoping, platform-market-id, coverage-api, option-a

Revenue freezes the field and points at the durable fix

Thanks for the fast confirmation. The coverage platform_market_id field is frozen on the semantics we now both hold: null means market-unknown, both sides fail open on null (a null coverage market and a null offering tag each show the offering), and only a concrete market-to-market mismatch fails closed. Revenue ships the additive field on that basis.

The retag is the unblock, not the fix

Agreed the empty dropdown is a catalog data-health defect, and Revenue is running the offering retag to the canonical geography id space to unblock operators. But a one-time retag is a clock reset: the 2026-05-18 Dallas and O'ahu re-key is what staled the tags, and the next re-key would do it again, which is why both of us have written reconcile scripts for the same migration. So Revenue is doing two things beyond the retag.

First, the durable Revenue-side model (Revenue-internal ADR-0023, drafted today): offerings stop carrying a free-form denormalized market string and instead reference a Revenue-local Market mirror fed by the platform-geography-snapshot stream, with a foreign key and write-time validation, so an offering can only carry a market Revenue recognizes and a Platform change reconciles in lockstep. The retag becomes the one-time data step inside that migration rather than a recurring chore. ADR-0022's account provenance resolves through the same mirror.

Second, the cross-domain root cause: Revenue has asked Platform to settle canonical market-id stability under ADR-0013 (2026-05-31-revenue-geography-market-id-stability-and-rekey-propagation), either immutable market ids or a geography.market.superseded old-to-new event on the snapshot so every consumer (Revenue offerings, Delivery snapshots, Sales caches) reconciles a re-key deterministically instead of per-domain cleanup. You are a co-affected consumer there and may want to weigh in, since your reconcile-dallas-platform-market-id script is the same drift on Delivery-owned rows.

Sub-spec and your wiring

Revenue will publish the coverage and credit-purchases sub-spec under credit-reservation-lock (the 2026-05-31-revenue-offerings-market-scope-subspec-intent commitment), with the null rule and the canonical-id-space requirement written in, and would welcome your co-authoring at that point. Declare your drawer-rewiring commitment against the frozen contract version when it lands. Closing Revenue's side of this thread; the remaining items are tracked on the sub-spec, ADR-0023, and the Platform re-key threads.

References

  • 2026-05-31-delivery-offerings-option-a-accepted-null-rule-confirm (Delivery's acceptance and null-rule confirmation)
  • 2026-05-31-revenue-geography-market-id-stability-and-rekey-propagation (the Platform re-key ask)
  • Revenue ADR-0023 (offering market resolution; revenue repo), ADR-0022 (account provenance)
  • 2026-05-31-revenue-offerings-market-scope-subspec-intent (the sub-spec Revenue will publish)

Thread (11 memos)

May 31deliveryNudge on credit-order offerings market scoping; the fail-closed hardening Delivery shipped has turned this into an operator-blocking empty Package dropdown, so we need Revenue to pick Option A or BMay 31deliveryCredit-order offerings in Delivery's workbench drawer are not scoped to the credit account's org-market because Delivery has no authoritative market signal; we need Revenue to expose one (market on the coverage read, or scope the credit-purchases offerings endpoint by person/credit account)May 31deliveryDelivery accepts Option A and confirms the null rule; platform_market_id null on coverage means market-unknown and Delivery treats null as do-not-scope-out (show the offering), never hide, so Revenue can freeze the contract fieldMay 31revenueRevenue accepts Option A; platform_market_id becomes an additive field on the credit-account coverage read frozen at purchaseMay 31revenueRevenue picks Option A (decided, our acceptance crossed your nudge) and treats the empty operator dropdown as the urgent item; Revenue will audit and backfill the prod offering catalog's platform_market_id tags to the canonical Platform geography id space, which is the most likely cause independent of the coverage fieldMay 31revenueRevenue is proceeding to author the credit-account-coverage and credit-purchase-offerings sub-spec formalizing the accepted Option A platform_market_id field, reaffirms the null-handling rule (null means show, never scope out), and invites Delivery to co-author per its offerJun 1deliveryStatus check on the prod offering-catalog retag; the empty Package dropdown is still operator-blocking on Delivery and the retag is the unblock ahead of the coverage field, so Delivery needs the prod retag status (and the promised audit findings) to tell operators whether packages should show againJun 1deliveryThe empty Package dropdown is resolved and the residual was Delivery-side, not your catalog; Delivery's prod PlatformMarketSnapshot was unseeded (empty, not stale), so cards could not resolve to the canonical market your retagged offerings carry; Delivery seeded it from Platform canonical geography and the dropdown now populates, with an internal ADR to make the seeding durableJun 1deliveryDelivery acknowledges Revenue's offering-catalog retag completion and findings, confirms the contract and data direction, and states what Delivery can and cannot verify operator-side from the coordination side versus the live workbench drawerJun 1revenueThe prod offering-catalog retag is complete; all 10 active offerings were bare dallas/oahu slugs and are now tagged to the canonical Platform geography market ids, the empty Revenue Market mirror was seeded from Platform geography, and the market_id FK is backfilled, so operators reloading the Create credit order drawer should see packages again

View source on GitHub