{
  "generatedAt": "2026-05-20T02:31:32.595Z",
  "ready": false,
  "command": "bun run apify:task-preflight",
  "paidRunCommand": "Set APIFY_TOKEN, JV_SOURCE_ALLOW_PAID=apify-stage2, confirm the chosen actor in Apify UI/API, paste only the generated first-batch input template, then stop after one dataset inspection.",
  "counts": {
    "checks": 8,
    "passing": 2,
    "blocked": 6,
    "firstBatchTargets": 3,
    "holdTargets": 4,
    "startUrls": 3
  },
  "files": {
    "actorInputTemplate": "content_population_exports/apify_competitor_pdp_input_template.json",
    "gapfillManifest": "content_population_exports/apify_gapfill_manifest.json",
    "preflightMd": "content_population_exports/apify_task_preflight.md",
    "preflightCsv": "content_population_exports/apify_task_preflight.csv",
    "preflightJson": "content_population_exports/apify_task_preflight.json"
  },
  "checks": [
    {
      "Check": "Explicit paid-run flag set",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "set JV_SOURCE_ALLOW_PAID=apify-stage2 only when intentionally running Apify Stage 2"
    },
    {
      "Check": "Apify token present in environment",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "APIFY_TOKEN=missing"
    },
    {
      "Check": "Spend gate allows Apify Stage 2",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "4/14 spend checks passing"
    },
    {
      "Check": "Budget gate allows Apify Stage 2",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "6/9 budget checks passing"
    },
    {
      "Check": "DataForSEO review explicitly selected Apify",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "decision=pending"
    },
    {
      "Check": "Named Apify gap documented",
      "Status": "blocked",
      "Blocking": "yes",
      "Evidence": "no named gap from DataForSEO pilot review"
    },
    {
      "Check": "First batch stays inside caps",
      "Status": "pass",
      "Blocking": "yes",
      "Evidence": "3 first-batch targets, 4 held, maxActorRuns=1, maxTargets=3, maxRequestsPerBrand=3"
    },
    {
      "Check": "Actor input matches first batch only",
      "Status": "pass",
      "Blocking": "yes",
      "Evidence": "3 start URLs / 3 first-batch targets, maxRequestsPerCrawl=9, maxCrawlDepth=1"
    }
  ],
  "blockers": [
    "Explicit paid-run flag set: set JV_SOURCE_ALLOW_PAID=apify-stage2 only when intentionally running Apify Stage 2",
    "Apify token present in environment: APIFY_TOKEN=missing",
    "Spend gate allows Apify Stage 2: 4/14 spend checks passing",
    "Budget gate allows Apify Stage 2: 6/9 budget checks passing",
    "DataForSEO review explicitly selected Apify: decision=pending",
    "Named Apify gap documented: no named gap from DataForSEO pilot review"
  ],
  "targetPreview": [
    {
      "brand": "Feel",
      "url": "https://wearefeel.com/",
      "maxRequestsPerBrand": 3,
      "maxDepth": 1
    },
    {
      "brand": "Ancient & Brave",
      "url": "https://ancientandbrave.earth/",
      "maxRequestsPerBrand": 3,
      "maxDepth": 1
    },
    {
      "brand": "Heights",
      "url": "https://www.heights.com/",
      "maxRequestsPerBrand": 3,
      "maxDepth": 1
    }
  ]
}
