{
  "generatedAt": "2026-05-20T05:15:36.177Z",
  "ready": true,
  "completionDefinition": "Ready means every required lane has either complete evidence or an explicitly labelled fallback/context gap; exact product truth still comes only from the JV database.",
  "products": [
    {
      "sku": "JV-TURMERIC500",
      "generatedAt": "2026-05-20T05:15:36.177Z",
      "readiness": "complete",
      "counts": {
        "complete": 8,
        "partial": 0,
        "missing": 0,
        "required": 8
      },
      "exactProductEvidenceCount": 5,
      "competitorContextEvidenceCount": 0,
      "lanes": [
        {
          "key": "jv_truth",
          "label": "JV product truth database",
          "required": true,
          "status": "complete",
          "evidence": "Found migration CSV: C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\products_import_lewis_v4.csv",
          "use": "Defines title, SKU, variants, format, ingredients, intake, warnings and product truth.",
          "risk": ""
        },
        {
          "key": "jv_public_pdp",
          "label": "Official JV public PDP",
          "required": true,
          "status": "complete",
          "evidence": "1/1 captured by Apify comprehensive scrape",
          "use": "Provides public PDP wording and product page context.",
          "risk": ""
        },
        {
          "key": "competitor_pdp",
          "label": "Competitor PDP/page evidence",
          "required": true,
          "status": "complete",
          "evidence": "2/2 direct competitor PDP captures",
          "use": "Supports offer, positioning, image brief and comparison sections.",
          "risk": ""
        },
        {
          "key": "amazon_search",
          "label": "Amazon/DataForSEO marketplace rows",
          "required": true,
          "status": "complete",
          "evidence": "1/1 Apify Amazon-search captures plus DataForSEO product rows surfaced in Raw Evidence",
          "use": "Supports market pressure, ASIN/rating/vote context and marketplace comparisons.",
          "risk": ""
        },
        {
          "key": "amazon_reviews",
          "label": "Amazon review text",
          "required": true,
          "status": "complete",
          "evidence": "5 exact-product review rows; 0 competitor-context review rows",
          "use": "Shows raw customer review language in the dashboard.",
          "risk": ""
        },
        {
          "key": "reddit",
          "label": "Reddit/category language",
          "required": true,
          "status": "complete",
          "evidence": "3 Reddit specialist rows",
          "use": "Captures raw category anxieties, objections and language.",
          "risk": ""
        },
        {
          "key": "trustpilot",
          "label": "Trustpilot brand reviews",
          "required": true,
          "status": "complete",
          "evidence": "15 Trustpilot specialist rows",
          "use": "Brand-level voice and trust evidence; product specificity may be limited.",
          "risk": ""
        },
        {
          "key": "raw_dashboard_visibility",
          "label": "Dashboard raw visibility",
          "required": true,
          "status": "complete",
          "evidence": "Research profile has rawSourceCaptureProfile and Raw Evidence API has source sections.",
          "use": "Ensures scraped content is visible in the dashboard, not trapped in JSON only.",
          "risk": ""
        }
      ]
    },
    {
      "sku": "JV-DEFF1000",
      "generatedAt": "2026-05-20T05:15:36.177Z",
      "readiness": "complete",
      "counts": {
        "complete": 8,
        "partial": 0,
        "missing": 0,
        "required": 8
      },
      "exactProductEvidenceCount": 0,
      "competitorContextEvidenceCount": 8,
      "lanes": [
        {
          "key": "jv_truth",
          "label": "JV product truth database",
          "required": true,
          "status": "complete",
          "evidence": "Found migration CSV: C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\products_import_lewis_v4.csv",
          "use": "Defines title, SKU, variants, format, ingredients, intake, warnings and product truth.",
          "risk": ""
        },
        {
          "key": "jv_public_pdp",
          "label": "Official JV public PDP",
          "required": true,
          "status": "complete",
          "evidence": "1/1 captured by Apify comprehensive scrape",
          "use": "Provides public PDP wording and product page context.",
          "risk": ""
        },
        {
          "key": "competitor_pdp",
          "label": "Competitor PDP/page evidence",
          "required": true,
          "status": "complete",
          "evidence": "2/2 direct competitor PDP captures",
          "use": "Supports offer, positioning, image brief and comparison sections.",
          "risk": ""
        },
        {
          "key": "amazon_search",
          "label": "Amazon/DataForSEO marketplace rows",
          "required": true,
          "status": "complete",
          "evidence": "1/1 Apify Amazon-search captures plus DataForSEO product rows surfaced in Raw Evidence",
          "use": "Supports market pressure, ASIN/rating/vote context and marketplace comparisons.",
          "risk": ""
        },
        {
          "key": "amazon_reviews",
          "label": "Amazon review text",
          "required": true,
          "status": "complete",
          "evidence": "0 exact-product review rows; 5 competitor-context review rows; exact ASIN absence proof captured",
          "use": "Shows raw customer review language in the dashboard.",
          "risk": "Competitor-context reviews cannot be treated as JV product truth; absence proof explains why exact reviews are unavailable."
        },
        {
          "key": "reddit",
          "label": "Reddit/category language",
          "required": true,
          "status": "complete",
          "evidence": "3 Reddit specialist rows",
          "use": "Captures raw category anxieties, objections and language.",
          "risk": ""
        },
        {
          "key": "trustpilot",
          "label": "Trustpilot brand reviews",
          "required": true,
          "status": "complete",
          "evidence": "15 Trustpilot specialist rows",
          "use": "Brand-level voice and trust evidence; product specificity may be limited.",
          "risk": ""
        },
        {
          "key": "raw_dashboard_visibility",
          "label": "Dashboard raw visibility",
          "required": true,
          "status": "complete",
          "evidence": "Research profile has rawSourceCaptureProfile and Raw Evidence API has source sections.",
          "use": "Ensures scraped content is visible in the dashboard, not trapped in JSON only.",
          "risk": ""
        }
      ]
    },
    {
      "sku": "JV-VISISOFT",
      "generatedAt": "2026-05-20T05:15:36.177Z",
      "readiness": "complete",
      "counts": {
        "complete": 8,
        "partial": 0,
        "missing": 0,
        "required": 8
      },
      "exactProductEvidenceCount": 5,
      "competitorContextEvidenceCount": 3,
      "lanes": [
        {
          "key": "jv_truth",
          "label": "JV product truth database",
          "required": true,
          "status": "complete",
          "evidence": "Found migration CSV: C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\JV Migration to shopify\\products_import_lewis_v4.csv",
          "use": "Defines title, SKU, variants, format, ingredients, intake, warnings and product truth.",
          "risk": ""
        },
        {
          "key": "jv_public_pdp",
          "label": "Official JV public PDP",
          "required": true,
          "status": "complete",
          "evidence": "1/1 captured by Apify comprehensive scrape",
          "use": "Provides public PDP wording and product page context.",
          "risk": ""
        },
        {
          "key": "competitor_pdp",
          "label": "Competitor PDP/page evidence",
          "required": true,
          "status": "complete",
          "evidence": "1/2 direct competitor PDP captures plus 1 Healthspan retailer PDP fallback rows and 2 SERP fallback rows",
          "use": "Supports offer, positioning, image brief and comparison sections.",
          "risk": "Healthspan direct PDP blocked; retailer PDP fallback is used for raw product-page content."
        },
        {
          "key": "amazon_search",
          "label": "Amazon/DataForSEO marketplace rows",
          "required": true,
          "status": "complete",
          "evidence": "1/1 Apify Amazon-search captures plus DataForSEO product rows surfaced in Raw Evidence",
          "use": "Supports market pressure, ASIN/rating/vote context and marketplace comparisons.",
          "risk": ""
        },
        {
          "key": "amazon_reviews",
          "label": "Amazon review text",
          "required": true,
          "status": "complete",
          "evidence": "5 exact-product review rows; 0 competitor-context review rows",
          "use": "Shows raw customer review language in the dashboard.",
          "risk": ""
        },
        {
          "key": "reddit",
          "label": "Reddit/category language",
          "required": true,
          "status": "complete",
          "evidence": "5 Reddit specialist rows",
          "use": "Captures raw category anxieties, objections and language.",
          "risk": ""
        },
        {
          "key": "trustpilot",
          "label": "Trustpilot brand reviews",
          "required": true,
          "status": "complete",
          "evidence": "15 Trustpilot specialist rows",
          "use": "Brand-level voice and trust evidence; product specificity may be limited.",
          "risk": ""
        },
        {
          "key": "raw_dashboard_visibility",
          "label": "Dashboard raw visibility",
          "required": true,
          "status": "complete",
          "evidence": "Research profile has rawSourceCaptureProfile and Raw Evidence API has source sections.",
          "use": "Ensures scraped content is visible in the dashboard, not trapped in JSON only.",
          "risk": ""
        }
      ]
    }
  ]
}
