{
  "generatedAt": "2026-05-20T02:31:41.272Z",
  "ready": false,
  "counts": {
    "checks": 18,
    "blocking": 8,
    "preflight": 13,
    "staging": 5,
    "requiredFiles": 9
  },
  "blockerSummary": {
    "compliance": 184,
    "approval": 190
  },
  "checks": [
    {
      "Stage": "Preflight",
      "Check": "Dashboard readiness audit",
      "Owner": "Dashboard owner",
      "RequiredEvidence": "`bun run audit:content` exits 0 and content_population_readiness.json.ready is true.",
      "CurrentStatus": "blocked",
      "CurrentEvidence": "10/12 gates passing",
      "Blocking": "yes"
    },
    {
      "Stage": "Preflight",
      "Check": "Handoff manifest ready",
      "Owner": "Dashboard owner",
      "RequiredEvidence": "handoff_manifest.json.readyForLewis is true and export_blockers.csv has no rows.",
      "CurrentStatus": "blocked",
      "CurrentEvidence": "readyForLewis=false; blockers=374",
      "Blocking": "yes"
    },
    {
      "Stage": "Preflight",
      "Check": "Asset uploads present",
      "Owner": "Design / Shopify Files",
      "RequiredEvidence": "validate_assets_manifest.py and bun run validate:assets report zero missing uploads/references.",
      "CurrentStatus": "pass",
      "CurrentEvidence": "required=586; missingUploads=0; missingRefs=0",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Owner action plan closed",
      "Owner": "Project owner",
      "RequiredEvidence": "handoff_action_plan.json.ready is true or all listed owners have supplied required evidence.",
      "CurrentStatus": "blocked",
      "CurrentEvidence": "actions=6; p0=0",
      "Blocking": "yes"
    },
    {
      "Stage": "Preflight",
      "Check": "Dashboard export file: products_content_matrixify.csv",
      "Owner": "Dashboard export",
      "RequiredEvidence": "products_content_matrixify.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports\\products_content_matrixify.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Dashboard export file: metaobjects_matrixify.csv",
      "Owner": "Dashboard export",
      "RequiredEvidence": "metaobjects_matrixify.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports\\metaobjects_matrixify.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Dashboard export file: smart_collections_matrixify.csv",
      "Owner": "Dashboard export",
      "RequiredEvidence": "smart_collections_matrixify.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports\\smart_collections_matrixify.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Dashboard export file: export_blockers.csv",
      "Owner": "Dashboard export",
      "RequiredEvidence": "export_blockers.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports\\export_blockers.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Migration emitter file: products_content_v5.csv",
      "Owner": "Migration emitter",
      "RequiredEvidence": "products_content_v5.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\content_population_exports\\products_content_v5.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Migration emitter file: products_content_v5_blockers.csv",
      "Owner": "Migration emitter",
      "RequiredEvidence": "products_content_v5_blockers.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\content_population_exports\\products_content_v5_blockers.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Migration emitter file: metaobjects_all.csv",
      "Owner": "Migration emitter",
      "RequiredEvidence": "metaobjects_all.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\content_population_exports\\metaobjects_all.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Migration emitter file: smart_collections_promo_cards.csv",
      "Owner": "Migration emitter",
      "RequiredEvidence": "smart_collections_promo_cards.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\content_population_exports\\smart_collections_promo_cards.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Preflight",
      "Check": "Migration emitter file: asset_manifest_validation.csv",
      "Owner": "Migration emitter",
      "RequiredEvidence": "asset_manifest_validation.csv exists and is the current regenerated output.",
      "CurrentStatus": "present",
      "CurrentEvidence": "C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\content_population_exports\\asset_manifest_validation.csv",
      "Blocking": "no"
    },
    {
      "Stage": "Matrixify import",
      "Check": "Import metaobjects first",
      "Owner": "Lewis/Euan",
      "RequiredEvidence": "Matrixify staging import log for metaobjects has no failed rows; definitions include dietary_tag, health_goals, key_ingredients, benefits, clinically_shown_to, promo_card.",
      "CurrentStatus": "not_started",
      "CurrentEvidence": "No staging import log captured in repo.",
      "Blocking": "yes"
    },
    {
      "Stage": "Matrixify import",
      "Check": "Import smart collection promo-card mappings",
      "Owner": "Lewis/Euan",
      "RequiredEvidence": "Matrixify staging import log for smart_collections_promo_cards.csv has no failed rows and both mapped collections reference promo_card handles.",
      "CurrentStatus": "not_started",
      "CurrentEvidence": "smartCollectionRows=2",
      "Blocking": "yes"
    },
    {
      "Stage": "Matrixify import",
      "Check": "Import product/variant metafields",
      "Owner": "Lewis/Euan",
      "RequiredEvidence": "Matrixify staging import log for products_content_v5.csv has no failed rows; variant rows match expected 350.",
      "CurrentStatus": "not_started",
      "CurrentEvidence": "variantRows=350",
      "Blocking": "yes"
    },
    {
      "Stage": "PDP spot-check",
      "Check": "Spot-check 5-10 PDPs after staging import",
      "Owner": "Dashboard owner + Lewis/Euan",
      "RequiredEvidence": "Documented pass/fail checks for metafields, metaobject refs, image/file refs, FAQ fields, variant cards, promo cards, and collection mapping.",
      "CurrentStatus": "not_started",
      "CurrentEvidence": "No PDP staging URL/checklist evidence captured yet.",
      "Blocking": "yes"
    },
    {
      "Stage": "Cutover",
      "Check": "Production cutover approval",
      "Owner": "Umar / JV",
      "RequiredEvidence": "Human approval that staging PDP checks passed and remaining known risks are accepted.",
      "CurrentStatus": "not_started",
      "CurrentEvidence": "approval blockers=190",
      "Blocking": "yes"
    }
  ]
}
