MA

Migration status — M0 → M4

K8
proposedJN retirement, phase by phase. No job changes systems mid-flight; event history migrates with the jobs.
M0 · Mirror — ACTIVE
read-only full-fidelity JN copy
M1 · Map
explicit JN→XOS field mapping, human-reviewed
M2 · Dual-write
short window, both systems
M3 · Cutover
writes flip to XOS ('who turns on first')
M4 · Retire
export, archive, cancel JN

JN mirror (M0)

11 minsince last synchealthy
Rows mirrored
48,112
Freshness SLO
< 15 min · 30d streak ✓

Read-only full-fidelity copy of JN into our own tables. Stale mirror = red tile on the admin home (K1).

Field-map coverage (M1)

61%of JN fields explicitly mapped or explicitly dropped

Human-reviewed JN→XOS mapping. Unmapped fields are listed, not ignored — "quietly gone" is the failure mode this phase exists to prevent.

Dual-write (M2)

OFFturns on for a short window once M1 coverage is signed off

Cutover unit = "who turns on first" — decided post-wireframes. Candidates on record: landscaping (smallest surface) vs. one roofing pipeline.

Cutover checklist (1/9)

The JN capability-replacement checklist (MD§9) — every JN capability needs a live XOS answer before any write cutover.

Born to die: this page's job is to make itself unnecessary. At M4 the mirror, this dashboard, and JN itself all retire together.