{
  "schema_version": "1.0",
  "domain": "platform-transition",
  "domain_name": "Platform Transition Intelligence",
  "description": "A migration-readiness view of source-platform accounts, target-platform parity, integration rework, billing continuity, measurement gaps, and transition waves.",
  "portal_headline": "Turn platform transition evidence into sequenced migration action.",
  "period": "2026-01",
  "period_meta": {
    "kind": "month",
    "year": 2026,
    "month": 1,
    "start_date": "2026-01-01",
    "end_date": "2026-01-31",
    "label": "January 2026"
  },
  "report_kind": "monthly",
  "available_periods": [
    "2026-01",
    "2026-02",
    "2026-03"
  ],
  "metrics": [
    {
      "key": "accounts_reviewed",
      "label": "Accounts reviewed",
      "value": 139,
      "note": "Distinct synthetic accounts with evidence"
    },
    {
      "key": "ready_rate",
      "label": "Ready/cohort rate",
      "value": 32.8,
      "note": "Records marked ready for a cohort path"
    },
    {
      "key": "transition_complexity",
      "label": "Average complexity",
      "value": 4.6,
      "note": "1-7 transition complexity score"
    },
    {
      "key": "unknown_usage_gaps",
      "label": "Unknown-usage gaps",
      "value": 25,
      "note": "Evidence where unknown cannot be treated as unused"
    },
    {
      "key": "high_risk_integration_share",
      "label": "High-risk integration share",
      "value": 62.5,
      "note": "Integration records requiring rework"
    },
    {
      "key": "transition_states",
      "label": "Transition states",
      "value": 6,
      "note": "Distinct T0-T6 states represented"
    }
  ],
  "findings": [
    {
      "id": "F-01",
      "title": "Unknown usage blocks confident wave assignment",
      "summary": "Records with missing tracking are treated as measurement gaps, not unused capabilities.",
      "category": "operations",
      "severity": "high",
      "evidence_count": 25,
      "evidence_ids": [
        "INT-2026-01-0008",
        "ACCTREC-2026-01-0024",
        "ACCTREC-2026-01-0040",
        "READY-2026-01-0024",
        "ACCTREC-2026-01-0032",
        "CAP-2026-01-0008",
        "BILL-2026-01-0016",
        "BILL-2026-01-0032",
        "CAP-2026-01-0035",
        "INT-2026-01-0032",
        "INT-2026-01-0024",
        "CAP-2026-01-0009",
        "CAP-2026-01-0036",
        "ACCTREC-2026-01-0008",
        "CAP-2026-01-0017",
        "CAP-2026-01-0026",
        "BILL-2026-01-0008",
        "READY-2026-01-0008",
        "ACCTREC-2026-01-0016",
        "INT-2026-01-0016",
        "CAP-2026-01-0027",
        "CAP-2026-01-0018",
        "READY-2026-01-0016",
        "BILL-2026-01-0024",
        "READY-2026-01-0032"
      ],
      "evidence_examples": [
        {
          "record_id": "INT-2026-01-0008",
          "source_record_id": "INT-2026-01-0008",
          "customer_id": "ACCT-2007",
          "occurred_at": "2026-01-01",
          "source": "integration",
          "source_table": "integration-surface",
          "excerpt": "Traffic exists but cannot be attributed to a known integration surface.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0024",
          "source_record_id": "ACCTREC-2026-01-0024",
          "customer_id": "ACCT-1023",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Low recent activity cannot be interpreted because usage tracking is missing.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0040",
          "source_record_id": "ACCTREC-2026-01-0040",
          "customer_id": "ACCT-1039",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Low recent activity cannot be interpreted because usage tracking is missing.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "synthetic": true
    },
    {
      "id": "F-02",
      "title": "Capability parity gaps determine sequencing",
      "summary": "Target-platform parity gaps appear before accounts can advance to later transition states.",
      "category": "product",
      "severity": "high",
      "evidence_count": 38,
      "evidence_ids": [
        "READY-2026-01-0021",
        "READY-2026-01-0013",
        "ACCTREC-2026-01-0014",
        "READY-2026-01-0020",
        "CAP-2026-01-0040",
        "CAP-2026-01-0042",
        "ACCTREC-2026-01-0031",
        "CAP-2026-01-0004",
        "CAP-2026-01-0016",
        "CAP-2026-01-0034",
        "CAP-2026-01-0006",
        "CAP-2026-01-0015",
        "CAP-2026-01-0032",
        "CAP-2026-01-0041",
        "CAP-2026-01-0023",
        "CAP-2026-01-0033",
        "ACCTREC-2026-01-0038",
        "ACCTREC-2026-01-0039",
        "CAP-2026-01-0013",
        "READY-2026-01-0005",
        "CAP-2026-01-0007",
        "CAP-2026-01-0025",
        "CAP-2026-01-0043",
        "READY-2026-01-0028",
        "CAP-2026-01-0014",
        "CAP-2026-01-0024",
        "READY-2026-01-0004",
        "ACCTREC-2026-01-0015",
        "CAP-2026-01-0022",
        "CAP-2026-01-0031",
        "READY-2026-01-0012",
        "ACCTREC-2026-01-0023",
        "ACCTREC-2026-01-0022",
        "ACCTREC-2026-01-0006",
        "ACCTREC-2026-01-0030",
        "ACCTREC-2026-01-0007",
        "READY-2026-01-0029",
        "CAP-2026-01-0005"
      ],
      "evidence_examples": [
        {
          "record_id": "READY-2026-01-0021",
          "source_record_id": "READY-2026-01-0021",
          "customer_id": "ACCT-0039",
          "occurred_at": "2026-01-02",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Capability parity blocks transition progression.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "READY-2026-01-0013",
          "source_record_id": "READY-2026-01-0013",
          "customer_id": "ACCT-0035",
          "occurred_at": "2026-01-03",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Capability parity blocks transition progression.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0014",
          "source_record_id": "ACCTREC-2026-01-0014",
          "customer_id": "ACCT-1013",
          "occurred_at": "2026-01-04",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Target processing path exists but required capability parity is incomplete.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "synthetic": true
    },
    {
      "id": "F-03",
      "title": "Billing continuity needs a single-system rule",
      "summary": "Accounts with active revenue or billing dependencies need explicit ownership before state changes.",
      "category": "operations",
      "severity": "medium",
      "evidence_count": 20,
      "evidence_ids": [
        "BILL-2026-01-0005",
        "BILL-2026-01-0027",
        "BILL-2026-01-0011",
        "BILL-2026-01-0006",
        "BILL-2026-01-0013",
        "BILL-2026-01-0029",
        "BILL-2026-01-0004",
        "BILL-2026-01-0020",
        "BILL-2026-01-0023",
        "BILL-2026-01-0030",
        "BILL-2026-01-0012",
        "BILL-2026-01-0015",
        "BILL-2026-01-0019",
        "BILL-2026-01-0003",
        "BILL-2026-01-0007",
        "BILL-2026-01-0028",
        "BILL-2026-01-0031",
        "BILL-2026-01-0022",
        "BILL-2026-01-0021",
        "BILL-2026-01-0014"
      ],
      "evidence_examples": [
        {
          "record_id": "BILL-2026-01-0005",
          "source_record_id": "BILL-2026-01-0005",
          "customer_id": "ACCT-0024",
          "occurred_at": "2026-01-05",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "Both platforms may be active, but one billing owner has not been assigned.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "BILL-2026-01-0027",
          "source_record_id": "BILL-2026-01-0027",
          "customer_id": "ACCT-0010",
          "occurred_at": "2026-01-06",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "A third party pays account fees and must be preserved through cutover.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "BILL-2026-01-0011",
          "source_record_id": "BILL-2026-01-0011",
          "customer_id": "ACCT-0002",
          "occurred_at": "2026-01-13",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "A third party pays account fees and must be preserved through cutover.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "synthetic": true
    },
    {
      "id": "F-04",
      "title": "Integration surfaces require guided rework",
      "summary": "Code, connector, or embedded workflow dependencies need migration guidance before cutover.",
      "category": "experience",
      "severity": "high",
      "evidence_count": 38,
      "evidence_ids": [
        "READY-2026-01-0023",
        "ACCTREC-2026-01-0020",
        "ACCTREC-2026-01-0036",
        "INT-2026-01-0028",
        "READY-2026-01-0007",
        "ACCTREC-2026-01-0013",
        "INT-2026-01-0021",
        "INT-2026-01-0022",
        "INT-2026-01-0012",
        "READY-2026-01-0015",
        "ACCTREC-2026-01-0012",
        "ACCTREC-2026-01-0021",
        "INT-2026-01-0005",
        "ACCTREC-2026-01-0037",
        "ACCTREC-2026-01-0028",
        "INT-2026-01-0019",
        "INT-2026-01-0023",
        "READY-2026-01-0022",
        "READY-2026-01-0006",
        "INT-2026-01-0004",
        "INT-2026-01-0020",
        "READY-2026-01-0014",
        "INT-2026-01-0007",
        "INT-2026-01-0013",
        "INT-2026-01-0014",
        "READY-2026-01-0031",
        "INT-2026-01-0011",
        "INT-2026-01-0015",
        "ACCTREC-2026-01-0005",
        "INT-2026-01-0030",
        "READY-2026-01-0030",
        "ACCTREC-2026-01-0029",
        "INT-2026-01-0027",
        "INT-2026-01-0031",
        "INT-2026-01-0006",
        "INT-2026-01-0029",
        "INT-2026-01-0003",
        "ACCTREC-2026-01-0004"
      ],
      "evidence_examples": [
        {
          "record_id": "READY-2026-01-0023",
          "source_record_id": "READY-2026-01-0023",
          "customer_id": "ACCT-0015",
          "occurred_at": "2026-01-01",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Dual access is useful while integration rework is completed.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0020",
          "source_record_id": "ACCTREC-2026-01-0020",
          "customer_id": "ACCT-1019",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Account can use both platforms, but embedded integration work remains.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0036",
          "source_record_id": "ACCTREC-2026-01-0036",
          "customer_id": "ACCT-1035",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Account can use both platforms, but embedded integration work remains.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "synthetic": true
    }
  ],
  "opportunities": [
    {
      "id": "O-01",
      "title": "Publish the measurement-gap inventory",
      "action": "List every unknown usage surface and start logging or manual confirmation before wave planning.",
      "category": "operations",
      "priority": "high",
      "evidence_count": 25,
      "evidence_ids": [
        "INT-2026-01-0008",
        "ACCTREC-2026-01-0024",
        "ACCTREC-2026-01-0040",
        "READY-2026-01-0024",
        "ACCTREC-2026-01-0032",
        "CAP-2026-01-0008",
        "BILL-2026-01-0016",
        "BILL-2026-01-0032",
        "CAP-2026-01-0035",
        "INT-2026-01-0032",
        "INT-2026-01-0024",
        "CAP-2026-01-0009",
        "CAP-2026-01-0036",
        "ACCTREC-2026-01-0008",
        "CAP-2026-01-0017",
        "CAP-2026-01-0026",
        "BILL-2026-01-0008",
        "READY-2026-01-0008",
        "ACCTREC-2026-01-0016",
        "INT-2026-01-0016",
        "CAP-2026-01-0027",
        "CAP-2026-01-0018",
        "READY-2026-01-0016",
        "BILL-2026-01-0024",
        "READY-2026-01-0032"
      ],
      "evidence_examples": [
        {
          "record_id": "INT-2026-01-0008",
          "source_record_id": "INT-2026-01-0008",
          "customer_id": "ACCT-2007",
          "occurred_at": "2026-01-01",
          "source": "integration",
          "source_table": "integration-surface",
          "excerpt": "Traffic exists but cannot be attributed to a known integration surface.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0024",
          "source_record_id": "ACCTREC-2026-01-0024",
          "customer_id": "ACCT-1023",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Low recent activity cannot be interpreted because usage tracking is missing.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0040",
          "source_record_id": "ACCTREC-2026-01-0040",
          "customer_id": "ACCT-1039",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Low recent activity cannot be interpreted because usage tracking is missing.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "inferred": true,
      "synthetic": true
    },
    {
      "id": "O-02",
      "title": "Separate parity work from account communication",
      "action": "Resolve target-platform capability gaps before accounts are invited into dual access.",
      "category": "product",
      "priority": "high",
      "evidence_count": 38,
      "evidence_ids": [
        "READY-2026-01-0021",
        "READY-2026-01-0013",
        "ACCTREC-2026-01-0014",
        "READY-2026-01-0020",
        "CAP-2026-01-0040",
        "CAP-2026-01-0042",
        "ACCTREC-2026-01-0031",
        "CAP-2026-01-0004",
        "CAP-2026-01-0016",
        "CAP-2026-01-0034",
        "CAP-2026-01-0006",
        "CAP-2026-01-0015",
        "CAP-2026-01-0032",
        "CAP-2026-01-0041",
        "CAP-2026-01-0023",
        "CAP-2026-01-0033",
        "ACCTREC-2026-01-0038",
        "ACCTREC-2026-01-0039",
        "CAP-2026-01-0013",
        "READY-2026-01-0005",
        "CAP-2026-01-0007",
        "CAP-2026-01-0025",
        "CAP-2026-01-0043",
        "READY-2026-01-0028",
        "CAP-2026-01-0014",
        "CAP-2026-01-0024",
        "READY-2026-01-0004",
        "ACCTREC-2026-01-0015",
        "CAP-2026-01-0022",
        "CAP-2026-01-0031",
        "READY-2026-01-0012",
        "ACCTREC-2026-01-0023",
        "ACCTREC-2026-01-0022",
        "ACCTREC-2026-01-0006",
        "ACCTREC-2026-01-0030",
        "ACCTREC-2026-01-0007",
        "READY-2026-01-0029",
        "CAP-2026-01-0005"
      ],
      "evidence_examples": [
        {
          "record_id": "READY-2026-01-0021",
          "source_record_id": "READY-2026-01-0021",
          "customer_id": "ACCT-0039",
          "occurred_at": "2026-01-02",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Capability parity blocks transition progression.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "READY-2026-01-0013",
          "source_record_id": "READY-2026-01-0013",
          "customer_id": "ACCT-0035",
          "occurred_at": "2026-01-03",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Capability parity blocks transition progression.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0014",
          "source_record_id": "ACCTREC-2026-01-0014",
          "customer_id": "ACCT-1013",
          "occurred_at": "2026-01-04",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Target processing path exists but required capability parity is incomplete.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "inferred": true,
      "synthetic": true
    },
    {
      "id": "O-03",
      "title": "Define billing ownership by transition state",
      "action": "Use one billing owner per account state so dual-active periods do not create double billing or missed billing.",
      "category": "operations",
      "priority": "medium",
      "evidence_count": 20,
      "evidence_ids": [
        "BILL-2026-01-0005",
        "BILL-2026-01-0027",
        "BILL-2026-01-0011",
        "BILL-2026-01-0006",
        "BILL-2026-01-0013",
        "BILL-2026-01-0029",
        "BILL-2026-01-0004",
        "BILL-2026-01-0020",
        "BILL-2026-01-0023",
        "BILL-2026-01-0030",
        "BILL-2026-01-0012",
        "BILL-2026-01-0015",
        "BILL-2026-01-0019",
        "BILL-2026-01-0003",
        "BILL-2026-01-0007",
        "BILL-2026-01-0028",
        "BILL-2026-01-0031",
        "BILL-2026-01-0022",
        "BILL-2026-01-0021",
        "BILL-2026-01-0014"
      ],
      "evidence_examples": [
        {
          "record_id": "BILL-2026-01-0005",
          "source_record_id": "BILL-2026-01-0005",
          "customer_id": "ACCT-0024",
          "occurred_at": "2026-01-05",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "Both platforms may be active, but one billing owner has not been assigned.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "BILL-2026-01-0027",
          "source_record_id": "BILL-2026-01-0027",
          "customer_id": "ACCT-0010",
          "occurred_at": "2026-01-06",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "A third party pays account fees and must be preserved through cutover.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "BILL-2026-01-0011",
          "source_record_id": "BILL-2026-01-0011",
          "customer_id": "ACCT-0002",
          "occurred_at": "2026-01-13",
          "source": "billing",
          "source_table": "billing-continuity",
          "excerpt": "A third party pays account fees and must be preserved through cutover.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "inferred": true,
      "synthetic": true
    },
    {
      "id": "O-04",
      "title": "Create an integration rework lane",
      "action": "Give integrators a separate wave with test credentials, mapping guides, and verification gates.",
      "category": "experience",
      "priority": "high",
      "evidence_count": 38,
      "evidence_ids": [
        "READY-2026-01-0023",
        "ACCTREC-2026-01-0020",
        "ACCTREC-2026-01-0036",
        "INT-2026-01-0028",
        "READY-2026-01-0007",
        "ACCTREC-2026-01-0013",
        "INT-2026-01-0021",
        "INT-2026-01-0022",
        "INT-2026-01-0012",
        "READY-2026-01-0015",
        "ACCTREC-2026-01-0012",
        "ACCTREC-2026-01-0021",
        "INT-2026-01-0005",
        "ACCTREC-2026-01-0037",
        "ACCTREC-2026-01-0028",
        "INT-2026-01-0019",
        "INT-2026-01-0023",
        "READY-2026-01-0022",
        "READY-2026-01-0006",
        "INT-2026-01-0004",
        "INT-2026-01-0020",
        "READY-2026-01-0014",
        "INT-2026-01-0007",
        "INT-2026-01-0013",
        "INT-2026-01-0014",
        "READY-2026-01-0031",
        "INT-2026-01-0011",
        "INT-2026-01-0015",
        "ACCTREC-2026-01-0005",
        "INT-2026-01-0030",
        "READY-2026-01-0030",
        "ACCTREC-2026-01-0029",
        "INT-2026-01-0027",
        "INT-2026-01-0031",
        "INT-2026-01-0006",
        "INT-2026-01-0029",
        "INT-2026-01-0003",
        "ACCTREC-2026-01-0004"
      ],
      "evidence_examples": [
        {
          "record_id": "READY-2026-01-0023",
          "source_record_id": "READY-2026-01-0023",
          "customer_id": "ACCT-0015",
          "occurred_at": "2026-01-01",
          "source": "readiness",
          "source_table": "transition-readiness",
          "excerpt": "Dual access is useful while integration rework is completed.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0020",
          "source_record_id": "ACCTREC-2026-01-0020",
          "customer_id": "ACCT-1019",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Account can use both platforms, but embedded integration work remains.",
          "period": "2026-01",
          "synthetic": "true"
        },
        {
          "record_id": "ACCTREC-2026-01-0036",
          "source_record_id": "ACCTREC-2026-01-0036",
          "customer_id": "ACCT-1035",
          "occurred_at": "2026-01-02",
          "source": "account",
          "source_table": "accounts",
          "excerpt": "Account can use both platforms, but embedded integration work remains.",
          "period": "2026-01",
          "synthetic": "true"
        }
      ],
      "inferred": true,
      "synthetic": true
    }
  ],
  "trends": [
    {
      "key": "accounts_reviewed",
      "label": "Accounts reviewed",
      "direction": "watch",
      "periods": [
        "2026-01"
      ],
      "values": [
        139
      ],
      "note": "Distinct synthetic accounts with evidence"
    },
    {
      "key": "ready_rate",
      "label": "Ready/cohort rate",
      "direction": "watch",
      "periods": [
        "2026-01"
      ],
      "values": [
        32.8
      ],
      "note": "Records marked ready for a cohort path"
    },
    {
      "key": "transition_complexity",
      "label": "Average complexity",
      "direction": "watch",
      "periods": [
        "2026-01"
      ],
      "values": [
        4.6
      ],
      "note": "1-7 transition complexity score"
    },
    {
      "key": "unknown_usage_gaps",
      "label": "Unknown-usage gaps",
      "direction": "watch",
      "periods": [
        "2026-01"
      ],
      "values": [
        25
      ],
      "note": "Evidence where unknown cannot be treated as unused"
    }
  ],
  "taxonomy": {
    "categories": [
      "operations",
      "product",
      "experience",
      "risk",
      "readiness"
    ],
    "sources": [
      "account",
      "capability",
      "integration",
      "billing",
      "readiness"
    ],
    "severities": [
      "high",
      "medium",
      "low"
    ],
    "transition_states": [
      "T0",
      "T1",
      "T2",
      "T3",
      "T4",
      "T5",
      "T6"
    ]
  },
  "data_quality": {
    "status": "pass",
    "completeness": 100,
    "record_count": 180,
    "customer_count": 139,
    "sources": [
      "accounts",
      "billing-continuity",
      "capability-inventory",
      "integration-surface",
      "transition-readiness"
    ],
    "synthetic": true,
    "json_csv_parity": true
  },
  "snapshot": {
    "history": [
      {
        "period": "2026-01",
        "metrics": [
          {
            "key": "accounts_reviewed",
            "label": "Accounts reviewed",
            "value": 139,
            "note": "Distinct synthetic accounts with evidence"
          },
          {
            "key": "ready_rate",
            "label": "Ready/cohort rate",
            "value": 32.8,
            "note": "Records marked ready for a cohort path"
          },
          {
            "key": "transition_complexity",
            "label": "Average complexity",
            "value": 4.6,
            "note": "1-7 transition complexity score"
          },
          {
            "key": "unknown_usage_gaps",
            "label": "Unknown-usage gaps",
            "value": 25,
            "note": "Evidence where unknown cannot be treated as unused"
          },
          {
            "key": "high_risk_integration_share",
            "label": "High-risk integration share",
            "value": 62.5,
            "note": "Integration records requiring rework"
          },
          {
            "key": "transition_states",
            "label": "Transition states",
            "value": 6,
            "note": "Distinct T0-T6 states represented"
          }
        ]
      }
    ],
    "channel_mix": {
      "billing": 32,
      "capability": 43,
      "integration": 32,
      "readiness": 32,
      "account": 41
    },
    "friction_mix": {
      "wave-ready": 59,
      "measurement-gap": 25,
      "integration-rework": 38,
      "parity-gap": 38,
      "billing-continuity": 20
    }
  },
  "view_copy": {
    "overview": {
      "trends_title": "Transition readiness trends",
      "findings_title": "Evidence-backed transition findings",
      "opportunities_title": "Sequencing opportunities"
    },
    "executive": {
      "description": "Calculated readiness, dependency, and transition-risk signals."
    },
    "operations": {
      "description": "Source-system evidence, operating dependencies, and transition-state workload.",
      "mix_title": "Evidence source mix"
    },
    "product": {
      "description": "Capability parity and target-platform readiness backlog."
    },
    "experience": {
      "description": "Integrator, account-team, and operator friction during the transition path."
    },
    "explorer": {
      "description": "Inspect source-shaped transition evidence, normalized account records, provenance, and account timelines.",
      "normalized_label": "Normalized transition evidence",
      "normalized_columns": [
        "id",
        "customer_id",
        "date",
        "source",
        "category",
        "status",
        "outcome",
        "effort_score",
        "flag",
        "detail"
      ]
    }
  },
  "evidence_labels": {
    "case": "Evidence ID",
    "entity": "Account ID"
  },
  "synthetic": true,
  "disclaimer": "All records and findings are synthetic and for demonstration only.",
  "generated_at": "2026-07-26T23:10:03.295684+00:00"
}
