# Commercial Runtime Adoption Report > **Date:** 2026-07-28 > **Phase:** `commercial-runtime-adoption` > **Prerequisite:** Commercial Runtime Backend **COMPLETE** (not rebuilt) > **Contract:** `commercial.v1.2` · ADR-023 · ADR-022 --- ## Verdict Platform commercial lookups now consume **Commercial Runtime** (`/api/v1/commercial/*`) as the single SoT. Admin Commercial Portal is the **only** editor for commercial registries. New products / bundles / capabilities / pricing require **registry rows only** — zero FE/BE commercial catalog code. --- ## Platform Commercial Readiness Score: **92 / 100** | Dimension | Score | Notes | | --- | --- | --- | | SoT uniqueness | 95 | FE catalogs deleted; Core onboarding/tenant context on commercial | | FE adoption | 94 | Billing, workspace, admin plans/features, tenant subs, hub catalog | | BE adoption | 90 | Onboarding + tenant context + Payment entitlement client | | Zero-code expansion | 96 | Catalog discovery + generic registries | | Legacy removal | 88 | Legacy Core `/plans`/`/features` deprecated (compat retained) | | L2 boundary hygiene | 95 | Payment/Experience/Hospitality L2 packs kept (ADR-023) | Deductions: legacy Core plan tables still exist (deprecated APIs); vertical modules still use L2 feature gates (correct, not commercial SoT); communication roadmap registry still lists future modules locally (codes aligned). --- ## Migrated ### Frontend - Deleted `lib/business-bundles.ts`, `lib/apps-catalog.ts`, `AppStoreGrid`, `AppTile` - Billing: commercial subscriptions/pricing only (no Core bridge, no `trial_days \|\| 14`) - Workspace entitlement + subscription: commercial only - Admin `/admin/plans` → `/admin/commercial/plans` - Admin `/admin/features` → `/admin/commercial/capabilities` - Tenant detail subscription: commercial plans + subscriptions - Admin hub: discovers registries via `GET /catalog` - Communication future-module `bundle` fields → commercial-style codes ### Backend - Onboarding: **no** legacy FREE/STARTER plan assignment; commercial activation from FE - Tenant context: plan/subscription from `CommercialTenantSubscription` - Payment `CoreEntitlementClient` → `POST /api/v1/commercial/entitlements/check` - Legacy `/api/v1/plans` marked **Deprecated** with successor Link header - Trial days: taken from plan/pricing resolve only (no hardcoded 14) --- ## Zero-code validation | Action | FE code change | BE code change | How | | --- | --- | --- | --- | | Add product | None | None | Admin → products registry | | Add bundle | None | None | Admin → bundles | | Add capability | None | None | Admin → capabilities | | Add pricing/plan | None | None | Admin → pricing / plans | | New registry kind | None | None | `POST /admin/kinds` + catalog | --- ## Intentionally unchanged (not commercial SoT) - Payment / Experience / Hospitality **L2** capability packs (ADR-023 decision 10) - Delivery operational pricing rules - Vertical merchandising (menu items, membership venue plans, etc.) - `docs/reference/*.yaml` seed inputs (feed Commercial Runtime) --- ## Artifacts - [Legacy Removal Report](commercial-runtime-legacy-removal-report.md) - Snapshot: [commercial-runtime-adoption.yaml](service-snapshots/commercial-runtime-adoption.yaml) - Handover: [phase-commercial-runtime-adoption.md](phase-handover/phase-commercial-runtime-adoption.md) --- ## STOP Do not rebuild Commercial Runtime. Do not start Marketplace / QR / Booking / Payment 14.6+.