# Reviewer input preflight

Generated: 2026-05-20T02:31:34.881Z

Ready: **NO**
Checks passing: 0/7
Blocked: 7
Missing: 0

This preflight validates only reviewer-owned input files. It does not approve content, claim provider availability, spend credits, or replace `bun run verify:handoff`.

## Blocking rows
- [BLOCKED] Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. Next: Compliance owner must fill the CSV or provide source-backed claims, then run bun run compliance:blank-decisions && bun run claims:sync-content.
- [BLOCKED] Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid. Next: Umar/JV reviewer must complete the CSV, then run bun run approval:decisions && bun run approval:review-packet.
- [BLOCKED] DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false Next: Wait for DataForSEO support/docs clearance, fill the provider response tracker, then run bun run dataforseo:support-response.
- [BLOCKED] DataForSEO spend approval: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false Next: Project owner must explicitly fill the approval file after endpoint clearance, then run bun run source:spend-gate.
- [BLOCKED] Staging import evidence: 0 import log file(s) found. Next: Lewis/Euan must save real import logs under data/staging/import-logs/ and rerun bun run staging:evidence.
- [BLOCKED] Staging PDP spot checks: 0/5 PDP check file(s) found. Next: Save real staging URL spot checks under data/staging/pdp-checks/ and rerun bun run staging:evidence.
- [BLOCKED] Staging cutover approval: approved=false; approver=blank; approvedAt=blank Next: Project owner/Lewis/Euan must sign the cutover approval after successful staging checks.

## All checks
| Area | Status | Evidence | File |
|---|---|---|---|
| Compliance clinical blanks | blocked | 0/184 valid approved_blank rows; 184 still pending/invalid. | data/content/compliance/clinical-blank-decisions.csv |
| Product approval decisions | blocked | 0/190 valid approve_all rows; 190 still pending/invalid. | data/content/approvals/product-approval-decisions.csv |
| DataForSEO provider response | blocked | responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | data/sources/provider-responses/dataforseo-reviews-endpoint-response.json |
| DataForSEO spend approval | blocked | approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false | data/sources/approvals/dataforseo-stage1-approval.json |
| Staging import evidence | blocked | 0 import log file(s) found. | data/staging/import-logs |
| Staging PDP spot checks | blocked | 0/5 PDP check file(s) found. | data/staging/pdp-checks |
| Staging cutover approval | blocked | approved=false; approver=blank; approvedAt=blank | data/staging/cutover-approval.json |

## Guardrail
Use this before asking reviewers to rerun expensive/heavy gates. If it is blocked, fix the named editable input file first; do not infer decisions from generated packets.
