Looker migration status
What is replaced, what is pending, and the gate for turning Looker off.
Looker migration status
Full plan: joe-data-plane/docs/looker-exit-plan.md. Contract posture: month-to-month, no non-renewal notice required, so the gate is quality, not a date.
Scorecard
| Surface | Status |
|---|---|
| Internal BI (dashboards, ad-hoc) | Replaced. Parity dashboards live in Metabase; needs Ryan’s sign-off after a week of real use |
| Scheduled report engine | Replaced. All delivery formats (CSV/XLSX/PDF/inline/webhook) and all cadence shapes production-verified |
| Individual scheduled plans (140 total) | In progress. Latest classification: 61 covered, 30 partial, 49 uncovered; migrating in tranches, accounting-critical first |
| Merchant embeds | Top-3 surfaces (~92% of embedded views) have parity dashboards; hero embeds target the owner hub |
| POS reporting (till-close) | Designed (live-path overlay + till-closed events); endpoints in build |
| Webhook feeds (Zapier) | Built and inert; activation is a coordinated cutover so Looker and the platform never both send |
Data gaps blocking the remaining plans
- Category-grain item sales - blocks Soul Good journal entries, category/item report family, Ladro income splits, item-sales webhook. Next ingestion package.
- Labor data - not in the data plane; blocks labor reports.
- Loyalty/credit detail - blocks loyalty marketing dashboards.
- Hourly grain - blocks sales-by-hour reports.
The exit checklist
- Ryan signs off internal BI workflows in Metabase.
- Looker inventory export complete (done - all 140 plans, 316 dashboards, LookML recovered).
- Cent-level parity on Sales Report + Home + Payouts for sample shops.
- Top-8 embedded reports live in owner hub or embeds.
- Every scheduled delivery recreated and verified via dual-send soak.
- Long-tail embedded reports triaged: replace, embed, or sunset.
The dual-send soak
Per plan: platform report and Looker plan run side by side to the same recipients’ verification copy, outputs diffed per period, and only after agreed-clean runs does the Looker plan get paused. The send log is the audit trail. Accounting exports additionally get fixture diffs (the Ladro Transfers IIF already reproduces Looker byte-for-byte on production data).