{
  "generatedAt": "2026-05-20T02:31:35.016Z",
  "ready": false,
  "purpose": "Copy-paste owner handoff messages for the remaining compliance, approval, staging, and provider-spend blockers. This assigns evidence-producing next actions without approving anything.",
  "status": "Handoff remains blocked: 383 evidence items remaining; verification 8/17 passing; delivery packet 179/179 present.",
  "counts": {
    "messages": 4,
    "totalRemaining": 383,
    "verifierPassing": 8,
    "verifierChecks": 17,
    "deliveryPresent": 179,
    "deliveryFiles": 179,
    "dataforseoAccountStatus": 20000,
    "credentialPrinted": false
  },
  "guardrails": [
    "Do not self-approve compliance blanks or product approvals.",
    "Do not treat queued staging checks as completed evidence.",
    "Do not run paid DataForSEO Reviews while the endpoint/support/spend gates are blocked.",
    "Use the real pi-fresh-foundation .env credentials only through shell environment; never print or paste secrets."
  ],
  "messages": [
    {
      "Sequence": 1,
      "Audience": "Compliance owner / Umar",
      "Channel": "Compliance review handoff",
      "Lane": "Compliance blank/source-backed claim decisions",
      "Subject": "[JV handoff] Compliance blank/source-backed claim decisions - 184 remaining",
      "RemainingCount": 184,
      "EditableFile": "data/content/compliance/clinical-blank-decisions.csv",
      "ReviewPacket": "content_population_exports/clinical_blank_decision_template.md",
      "RequiredFields": "decision, approvedBy, approvedAt, rationale, constraintsAcknowledged",
      "PreflightEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid.",
      "RegenerateCommand": "bun run compliance:blank-decisions && bun run claims:sync-content && bun run export:content",
      "Guardrail": "Do not invent clinical claims. Blank clinical module needs explicit compliance approval.",
      "MessageBody": "Hi Compliance owner / Umar,\n\nCurrent JV dashboard handoff status: Handoff remains blocked: 383 evidence items remaining; verification 8/17 passing; delivery packet 179/179 present.\n\nYour lane: Compliance blank/source-backed claim decisions\nRemaining: 184\nAsk: Please either approve the SKU to ship with the clinical claim field blank, or provide source-backed claim evidence and refs. Do not add generic health claims.\n\nEditable file(s): data/content/compliance/clinical-blank-decisions.csv\nReview packet: content_population_exports/clinical_blank_decision_template.md\nRequired fields/evidence: decision, approvedBy, approvedAt, rationale, constraintsAcknowledged\n\nCurrent preflight evidence: Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid.\n\nAfter updating the file/evidence, rerun: bun run compliance:blank-decisions && bun run claims:sync-content && bun run export:content\n\nGuardrail: Do not invent clinical claims. Blank clinical module needs explicit compliance approval.\n\nPlease do not approve, infer, or backfill anything unless the evidence is actually reviewed and recorded in the editable file above."
    },
    {
      "Sequence": 2,
      "Audience": "Umar / JV reviewer",
      "Channel": "Product approval handoff",
      "Lane": "Product approval decisions",
      "Subject": "[JV handoff] Product approval decisions - 190 remaining",
      "RemainingCount": 190,
      "EditableFile": "data/content/approvals/product-approval-decisions.csv",
      "ReviewPacket": "content_population_exports/product_approval_review_packet.md",
      "RequiredFields": "decision, approvedBy, approvedAt, reviewEvidence, contentReviewed, complianceReviewed, imagesReviewed, exportReviewed, noFakeEvidenceAcknowledged",
      "PreflightEvidence": "Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
      "RegenerateCommand": "bun run approval:decisions && bun run approval:review-packet && bun run export:content",
      "Guardrail": "Do not self-approve; reviewer evidence must be human-entered.",
      "MessageBody": "Hi Umar / JV reviewer,\n\nCurrent JV dashboard handoff status: Handoff remains blocked: 383 evidence items remaining; verification 8/17 passing; delivery packet 179/179 present.\n\nYour lane: Product approval decisions\nRemaining: 190\nAsk: Please review content, compliance, images, export readiness, and supporting evidence for each SKU before setting approve_all.\n\nEditable file(s): data/content/approvals/product-approval-decisions.csv\nReview packet: content_population_exports/product_approval_review_packet.md\nRequired fields/evidence: decision, approvedBy, approvedAt, reviewEvidence, contentReviewed, complianceReviewed, imagesReviewed, exportReviewed, noFakeEvidenceAcknowledged\n\nCurrent preflight evidence: Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.\n\nAfter updating the file/evidence, rerun: bun run approval:decisions && bun run approval:review-packet && bun run export:content\n\nGuardrail: Do not self-approve; reviewer evidence must be human-entered.\n\nPlease do not approve, infer, or backfill anything unless the evidence is actually reviewed and recorded in the editable file above."
    },
    {
      "Sequence": 3,
      "Audience": "Lewis/Euan + dashboard owner",
      "Channel": "Staging import handoff",
      "Lane": "Lewis/Euan staging import evidence",
      "Subject": "[JV handoff] Lewis/Euan staging import evidence - 5 remaining",
      "RemainingCount": 5,
      "EditableFile": "data/staging/import-logs/, data/staging/pdp-checks/, data/staging/cutover-approval.json",
      "ReviewPacket": "content_population_exports/staging_handoff_packet.md",
      "RequiredFields": "clean import logs, at least 5 PDP checks, signed cutover approval",
      "PreflightEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
      "RegenerateCommand": "bun run staging:evidence && bun run staging:checklist && bun run verify:handoff",
      "Guardrail": "Queued PDP checks are not evidence; real staging URLs/results are required.",
      "MessageBody": "Hi Lewis/Euan + dashboard owner,\n\nCurrent JV dashboard handoff status: Handoff remains blocked: 383 evidence items remaining; verification 8/17 passing; delivery packet 179/179 present.\n\nYour lane: Lewis/Euan staging import evidence\nRemaining: 5\nAsk: Please run/record the staging import evidence: clean import logs, real PDP spot checks, and signed cutover approval after checks pass.\n\nEditable file(s): data/staging/import-logs/, data/staging/pdp-checks/, data/staging/cutover-approval.json\nReview packet: content_population_exports/staging_handoff_packet.md\nRequired fields/evidence: clean import logs, at least 5 PDP checks, signed cutover approval\n\nCurrent preflight evidence: Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank\n\nAfter updating the file/evidence, rerun: bun run staging:evidence && bun run staging:checklist && bun run verify:handoff\n\nGuardrail: Queued PDP checks are not evidence; real staging URLs/results are required.\n\nPlease do not approve, infer, or backfill anything unless the evidence is actually reviewed and recorded in the editable file above."
    },
    {
      "Sequence": 4,
      "Audience": "Research / project owner",
      "Channel": "Provider clearance handoff",
      "Lane": "DataForSEO Reviews endpoint/support/spend clearance",
      "Subject": "[JV handoff] DataForSEO Reviews endpoint/support/spend clearance - 4 remaining",
      "RemainingCount": 4,
      "EditableFile": "data/sources/provider-responses/dataforseo-reviews-endpoint-response.json; data/sources/approvals/dataforseo-stage1-approval.json",
      "ReviewPacket": "content_population_exports/dataforseo_support_escalation.md; content_population_exports/dataforseo_stage1_approval_request.md",
      "RequiredFields": "provider response, endpoint/replacement path, retry-safe confirmation, valid spend approval",
      "PreflightEvidence": "DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | DataForSEO spend approval: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false",
      "RegenerateCommand": "bun run dataforseo:support-response && bun run dataforseo:task-preflight && bun run source:spend-gate",
      "Guardrail": "Use pi-fresh-foundation .env credentials only; do not print secrets or retry while docs/support block.",
      "MessageBody": "Hi Research / project owner,\n\nCurrent JV dashboard handoff status: Handoff remains blocked: 383 evidence items remaining; verification 8/17 passing; delivery packet 179/179 present.\n\nYour lane: DataForSEO Reviews endpoint/support/spend clearance\nRemaining: 4\nAsk: Please wait for DataForSEO Reviews endpoint clearance, record support response, then explicitly approve the capped Stage 1 spend only if the endpoint is retry-safe.\n\nEditable file(s): data/sources/provider-responses/dataforseo-reviews-endpoint-response.json; data/sources/approvals/dataforseo-stage1-approval.json\nReview packet: content_population_exports/dataforseo_support_escalation.md; content_population_exports/dataforseo_stage1_approval_request.md\nRequired fields/evidence: provider response, endpoint/replacement path, retry-safe confirmation, valid spend approval\n\nCurrent preflight evidence: DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | DataForSEO spend approval: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false\n\nAfter updating the file/evidence, rerun: bun run dataforseo:support-response && bun run dataforseo:task-preflight && bun run source:spend-gate\n\nGuardrail: Use pi-fresh-foundation .env credentials only; do not print secrets or retry while docs/support block.\n\nPlease do not approve, infer, or backfill anything unless the evidence is actually reviewed and recorded in the editable file above."
    }
  ],
  "files": {
    "markdown": "content_population_exports/owner_handoff_messages.md",
    "json": "content_population_exports/owner_handoff_messages.json",
    "csv": "content_population_exports/owner_handoff_messages.csv"
  }
}
