{
  "generatedAt": "2026-05-20T02:31:26.897Z",
  "ready": true,
  "note": "This proves the staged source-acquisition packet can be regenerated. Run delivery:index after this control run to refresh the overall handoff packet index. It does not mean provider spend or final handoff is allowed.",
  "counts": {
    "steps": 32,
    "passing": 32,
    "blocked": 0,
    "required": 32,
    "requiredPassing": 32
  },
  "steps": [
    {
      "Name": "source_acquisition_plan",
      "Command": "bun run source:acquisition",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:26.897Z",
      "FinishedAt": "2026-05-20T02:31:27.058Z",
      "Stdout": "Source acquisition plan ready: false\nStage 1 targets: 10\nApify gap-fill targets: 7",
      "Stderr": "$ bun scripts/generate-source-acquisition-plan.ts"
    },
    {
      "Name": "dataforseo_pilot_intake",
      "Command": "bun run dataforseo:pilot",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:27.058Z",
      "FinishedAt": "2026-05-20T02:31:27.227Z",
      "Stdout": "DataForSEO pilot ready: true\nStage 1 targets: 10\nReady task payload rows: 6\nMissing ASINs: 4",
      "Stderr": "$ bun scripts/generate-dataforseo-pilot.ts"
    },
    {
      "Name": "dataforseo_products_live_guard",
      "Command": "bun run dataforseo:products-live",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:27.228Z",
      "FinishedAt": "2026-05-20T02:31:27.396Z",
      "Stdout": "DataForSEO live product search blocked: explicit allow flag missing\nSet JV_SOURCE_ALLOW_PAID=dataforseo-product-search to intentionally spend the small live Amazon Products search task credits.",
      "Stderr": "$ bun scripts/run-dataforseo-products-live-search.ts"
    },
    {
      "Name": "dataforseo_live_connection_evidence",
      "Command": "bun run dataforseo:live-asin-evidence",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:27.396Z",
      "FinishedAt": "2026-05-20T02:31:28.912Z",
      "Stdout": "DataForSEO live evidence ready: true\nAccount: 20000 Ok.\nExact ASINs: 6/10\nTask payload rows: 6\nMissing ASINs: 4",
      "Stderr": "$ bun scripts/refresh-dataforseo-live-asin-evidence.ts"
    },
    {
      "Name": "dataforseo_asin_candidates",
      "Command": "bun run dataforseo:asin-candidates",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:28.912Z",
      "FinishedAt": "2026-05-20T02:31:29.069Z",
      "Stdout": "DataForSEO ASIN candidates ready: false\nCandidates: 4\nHigh-confidence confirmed: 0\nNeeds Amazon confirmation: 4",
      "Stderr": "$ bun scripts/validate-dataforseo-asin-candidates.ts"
    },
    {
      "Name": "dataforseo_asin_web_evidence",
      "Command": "bun run dataforseo:asin-web-evidence",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.069Z",
      "FinishedAt": "2026-05-20T02:31:29.236Z",
      "Stdout": "DataForSEO ASIN web evidence ready: false\nEvidence rows: 6\nAmazon-confirmed exact matches: 0\nThird-party lookup aids: 4",
      "Stderr": "$ bun scripts/validate-dataforseo-asin-web-evidence.ts"
    },
    {
      "Name": "dataforseo_unresolved_asin_evidence",
      "Command": "bun run dataforseo:unresolved-asins",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.236Z",
      "FinishedAt": "2026-05-20T02:31:29.373Z",
      "Stdout": "DataForSEO unresolved ASIN evidence ready: true\nUnresolved targets: 4\nKeep out of paid payload: 4",
      "Stderr": "$ bun scripts/validate-dataforseo-unresolved-asins.ts"
    },
    {
      "Name": "dataforseo_asin_confirmations",
      "Command": "bun run dataforseo:asin-confirmations",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.373Z",
      "FinishedAt": "2026-05-20T02:31:29.516Z",
      "Stdout": "DataForSEO ASIN confirmations ready: false\nConfirmation rows: 10\nReady for promotion: 0\nBlocked: 10",
      "Stderr": "$ bun scripts/validate-dataforseo-asin-confirmations.ts"
    },
    {
      "Name": "dataforseo_asin_promotion",
      "Command": "bun run dataforseo:promote-asins",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.516Z",
      "FinishedAt": "2026-05-20T02:31:29.653Z",
      "Stdout": "DataForSEO ASIN promotion ready: false\nPromoted rows: 0\nASINs ready after promotion: 6\nASINs missing after promotion: 4",
      "Stderr": "$ bun scripts/promote-dataforseo-asin-candidates.ts"
    },
    {
      "Name": "dataforseo_pilot_packet",
      "Command": "bun run dataforseo:pilot",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.653Z",
      "FinishedAt": "2026-05-20T02:31:29.763Z",
      "Stdout": "DataForSEO pilot ready: true\nStage 1 targets: 10\nReady task payload rows: 6\nMissing ASINs: 4",
      "Stderr": "$ bun scripts/generate-dataforseo-pilot.ts"
    },
    {
      "Name": "dataforseo_asin_lookup",
      "Command": "bun run dataforseo:asin-lookup",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.763Z",
      "FinishedAt": "2026-05-20T02:31:29.886Z",
      "Stdout": "DataForSEO ASIN lookup ready: false\nTargets: 10\nASINs present: 6\nMissing ASINs: 4",
      "Stderr": "$ bun scripts/generate-dataforseo-asin-lookup.ts"
    },
    {
      "Name": "dataforseo_reviews_docs_status",
      "Command": "bun run dataforseo:reviews-docs-status",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:29.886Z",
      "FinishedAt": "2026-05-20T02:31:31.201Z",
      "Stdout": "DataForSEO Reviews docs status ready: false\nOfficial unavailable note: true\nChecks passing: 2/3",
      "Stderr": "$ bun scripts/validate-dataforseo-reviews-docs-status.ts"
    },
    {
      "Name": "dataforseo_task_preflight",
      "Command": "bun run dataforseo:task-preflight",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.201Z",
      "FinishedAt": "2026-05-20T02:31:31.331Z",
      "Stdout": "DataForSEO task preflight ready: false\nChecks passing: 5/10\nTask rows: 6",
      "Stderr": "$ bun scripts/validate-dataforseo-task-preflight.ts"
    },
    {
      "Name": "dataforseo_reviews_live_guard",
      "Command": "bun run dataforseo:reviews-live",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.331Z",
      "FinishedAt": "2026-05-20T02:31:31.465Z",
      "Stdout": "DataForSEO reviews pilot blocked: explicit allow flag missing\nSet JV_SOURCE_ALLOW_PAID=dataforseo-stage1 only for the approved paid pilot run.",
      "Stderr": "$ bun scripts/run-dataforseo-reviews-live-pilot.ts"
    },
    {
      "Name": "dataforseo_support_escalation",
      "Command": "bun run dataforseo:support-escalation",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.465Z",
      "FinishedAt": "2026-05-20T02:31:31.604Z",
      "Stdout": "DataForSEO support escalation ready: true\nIssue: 50304: This function temporarily unavailable. Please contact support for more information.\nPayload rows: 6",
      "Stderr": "$ bun scripts/generate-dataforseo-support-escalation.ts"
    },
    {
      "Name": "dataforseo_support_response_gate",
      "Command": "bun run dataforseo:support-response",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.604Z",
      "FinishedAt": "2026-05-20T02:31:31.728Z",
      "Stdout": "DataForSEO support response gate ready: false\nChecks passing: 3/6",
      "Stderr": "$ bun scripts/validate-dataforseo-support-response.ts"
    },
    {
      "Name": "dataforseo_approval_request",
      "Command": "bun run dataforseo:approval-request",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.728Z",
      "FinishedAt": "2026-05-20T02:31:31.864Z",
      "Stdout": "DataForSEO Stage 1 approval request ready: false\nApproval checks ready: 2/6\nPayload rows: 6",
      "Stderr": "$ bun scripts/generate-dataforseo-approval-request.ts"
    },
    {
      "Name": "manual_amazon_review_capture",
      "Command": "bun run amazon:manual-capture",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.864Z",
      "FinishedAt": "2026-05-20T02:31:31.986Z",
      "Stdout": "Manual Amazon review capture ready: true\nTargets: 6",
      "Stderr": "$ bun scripts/generate-manual-amazon-review-capture.ts"
    },
    {
      "Name": "manual_amazon_review_capture_validation",
      "Command": "bun run amazon:manual-capture-validate",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:31.986Z",
      "FinishedAt": "2026-05-20T02:31:32.123Z",
      "Stdout": "Manual Amazon capture validation ready: false\nFiles valid: 0/6\nReviews captured: 0",
      "Stderr": "$ bun scripts/validate-manual-amazon-review-capture.ts"
    },
    {
      "Name": "dataforseo_ingest_waiting_room",
      "Command": "bun run dataforseo:ingest",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.124Z",
      "FinishedAt": "2026-05-20T02:31:32.258Z",
      "Stdout": "DataForSEO ingest ready: false\nRaw files: 0\nConverted files: 0\nConverted reviews: 0\nIssues: 0",
      "Stderr": "$ bun scripts/ingest-dataforseo-amazon-reviews.ts"
    },
    {
      "Name": "dataforseo_pilot_review_gate",
      "Command": "bun run dataforseo:review",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.258Z",
      "FinishedAt": "2026-05-20T02:31:32.385Z",
      "Stdout": "DataForSEO pilot review ready: false\nDecision: pending\nChecks passing: 1/7",
      "Stderr": "$ bun scripts/validate-dataforseo-pilot-review.ts"
    },
    {
      "Name": "apify_gapfill_packet",
      "Command": "bun run apify:gapfill",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.385Z",
      "FinishedAt": "2026-05-20T02:31:32.515Z",
      "Stdout": "Apify gap-fill packet ready: false\nTargets: 7\nFirst-batch targets: 3\nHold targets: 4\nExisting PDP probes: 7",
      "Stderr": "$ bun scripts/generate-apify-gapfill-packet.ts"
    },
    {
      "Name": "apify_task_preflight",
      "Command": "bun run apify:task-preflight",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.515Z",
      "FinishedAt": "2026-05-20T02:31:32.615Z",
      "Stdout": "Apify task preflight ready: false\nChecks passing: 2/8\nFirst-batch targets: 3",
      "Stderr": "$ bun scripts/validate-apify-task-preflight.ts"
    },
    {
      "Name": "source_pricing_references",
      "Command": "bun run source:pricing-refs",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.615Z",
      "FinishedAt": "2026-05-20T02:31:32.769Z",
      "Stdout": "Source acquisition pricing references ready: true\nReferences: 5",
      "Stderr": "$ bun scripts/generate-source-pricing-references.ts"
    },
    {
      "Name": "source_cost_scenarios",
      "Command": "bun run source:cost-scenarios",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.769Z",
      "FinishedAt": "2026-05-20T02:31:32.931Z",
      "Stdout": "Source acquisition cost scenarios ready: true\nScenarios: 5\nDataForSEO standard estimate USD: 0.0075",
      "Stderr": "$ bun scripts/generate-source-cost-scenarios.ts"
    },
    {
      "Name": "source_budget_gate",
      "Command": "bun run source:budget",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:32.931Z",
      "FinishedAt": "2026-05-20T02:31:33.077Z",
      "Stdout": "Source acquisition budget gate ready: false\nDataForSEO budget allowed: false\nApify budget allowed: false\nChecks passing: 6/9",
      "Stderr": "$ bun scripts/validate-source-acquisition-budget.ts"
    },
    {
      "Name": "source_cost_plan",
      "Command": "bun run source:cost-plan",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.077Z",
      "FinishedAt": "2026-05-20T02:31:33.212Z",
      "Stdout": "Source acquisition cost plan ready: false\nDataForSEO cost ready: false\nApify cost ready: false\nChecks passing: 7/12",
      "Stderr": "$ bun scripts/validate-source-acquisition-cost-plan.ts"
    },
    {
      "Name": "source_approval_gate",
      "Command": "bun run source:approvals",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.212Z",
      "FinishedAt": "2026-05-20T02:31:33.347Z",
      "Stdout": "Source acquisition approval gate ready: false\nApprovals valid: 0/2\nChecks passing: 1/23",
      "Stderr": "$ bun scripts/validate-source-acquisition-approvals.ts"
    },
    {
      "Name": "source_spend_gate",
      "Command": "bun run source:spend-gate",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.347Z",
      "FinishedAt": "2026-05-20T02:31:33.476Z",
      "Stdout": "Source acquisition spend gate ready: false\nDataForSEO spend allowed: false\nApify spend allowed: false\nChecks passing: 4/14",
      "Stderr": "$ bun scripts/validate-source-acquisition-spend.ts"
    },
    {
      "Name": "dataforseo_task_preflight_final",
      "Command": "bun run dataforseo:task-preflight",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.476Z",
      "FinishedAt": "2026-05-20T02:31:33.576Z",
      "Stdout": "DataForSEO task preflight ready: false\nChecks passing: 5/10\nTask rows: 6",
      "Stderr": "$ bun scripts/validate-dataforseo-task-preflight.ts"
    },
    {
      "Name": "source_subscription_decision",
      "Command": "bun run source:subscription-decision",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.576Z",
      "FinishedAt": "2026-05-20T02:31:33.688Z",
      "Stdout": "Source subscription decision ready: true\nDo not subscribe or spend provider credits yet; DataForSEO is the first paid lane once ASINs and gates are ready, Apify stays held.\nRows: 4",
      "Stderr": "$ bun scripts/generate-source-subscription-decision.ts"
    },
    {
      "Name": "source_next_actions",
      "Command": "bun run source:next-actions",
      "Status": "pass",
      "ExitCode": 0,
      "RequiredForPacket": "yes",
      "StartedAt": "2026-05-20T02:31:33.688Z",
      "FinishedAt": "2026-05-20T02:31:33.815Z",
      "Stdout": "Source acquisition next actions ready: false\nImmediate actions: 5\nMissing ASINs: 4",
      "Stderr": "$ bun scripts/generate-source-acquisition-next-actions.ts"
    }
  ],
  "blockedSteps": []
}
