056c47581f
Ships the second dashboard surface — a Pattern Library + Preview Theatre — that presents the 4-section PDP pilot batch back to Umar, compliance, and the board in an editorial format. Adds the full data layer that drives it: 5 source-backed per-SKU drafts at QA 100/100, 15 competitor PDP semantic extracts, PubMed evidence packs, EFSA claims library extension, JV brand voice guide, hand-curated product FAQs, and the Matrixify-ready CSV exports for Lewis. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
147 lines
8.6 KiB
JSON
147 lines
8.6 KiB
JSON
{
|
|
"generatedAt": "2026-05-20T02:31:34.881Z",
|
|
"ready": false,
|
|
"purpose": "Preflight validation for the human-editable reviewer/provider/staging input files before rerunning the heavier handoff gates.",
|
|
"counts": {
|
|
"checks": 7,
|
|
"passing": 0,
|
|
"blocked": 7,
|
|
"missing": 0
|
|
},
|
|
"rows": [
|
|
{
|
|
"Area": "Compliance clinical blanks",
|
|
"File": "data/content/compliance/clinical-blank-decisions.csv",
|
|
"Check": "All blank clinical claim rows have explicit approved_blank decisions with approver, date, rationale, and constraints acknowledgement.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/184 valid approved_blank rows; 184 still pending/invalid.",
|
|
"NextAction": "Compliance owner must fill the CSV or provide source-backed claims, then run bun run compliance:blank-decisions && bun run claims:sync-content.",
|
|
"Guardrail": "Do not invent clinical claims or approve blanks without compliance input."
|
|
},
|
|
{
|
|
"Area": "Product approval decisions",
|
|
"File": "data/content/approvals/product-approval-decisions.csv",
|
|
"Check": "All products have human approve_all rows with all evidence/acknowledgement fields complete.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"NextAction": "Umar/JV reviewer must complete the CSV, then run bun run approval:decisions && bun run approval:review-packet.",
|
|
"Guardrail": "Do not self-approve products or treat generated drafts as human approval."
|
|
},
|
|
{
|
|
"Area": "DataForSEO provider response",
|
|
"File": "data/sources/provider-responses/dataforseo-reviews-endpoint-response.json",
|
|
"Check": "Support response proves the Reviews endpoint or replacement endpoint is available and retry-safe without leaking credentials.",
|
|
"Status": "blocked",
|
|
"Evidence": "responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false",
|
|
"NextAction": "Wait for DataForSEO support/docs clearance, fill the provider response tracker, then run bun run dataforseo:support-response.",
|
|
"Guardrail": "Use the real pi-fresh-foundation credentials only in shell env; never paste or store secrets in the response tracker."
|
|
},
|
|
{
|
|
"Area": "DataForSEO spend approval",
|
|
"File": "data/sources/approvals/dataforseo-stage1-approval.json",
|
|
"Check": "Stage 1 approval file has approver, date, capped spend, exact target/run/depth caps, and hard-stop/no-secret/post-review acknowledgements.",
|
|
"Status": "blocked",
|
|
"Evidence": "approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false",
|
|
"NextAction": "Project owner must explicitly fill the approval file after endpoint clearance, then run bun run source:spend-gate.",
|
|
"Guardrail": "Approval alone must not override provider endpoint/support/docs blockers."
|
|
},
|
|
{
|
|
"Area": "Staging import evidence",
|
|
"File": "data/staging/import-logs",
|
|
"Check": "At least one real Matrixify/staging import log JSON exists outside templates.",
|
|
"Status": "blocked",
|
|
"Evidence": "0 import log file(s) found.",
|
|
"NextAction": "Lewis/Euan must save real import logs under data/staging/import-logs/ and rerun bun run staging:evidence.",
|
|
"Guardrail": "Queued templates are not import evidence."
|
|
},
|
|
{
|
|
"Area": "Staging PDP spot checks",
|
|
"File": "data/staging/pdp-checks",
|
|
"Check": "At least 5 real staging PDP spot-check JSON files exist outside the queue/templates.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/5 PDP check file(s) found.",
|
|
"NextAction": "Save real staging URL spot checks under data/staging/pdp-checks/ and rerun bun run staging:evidence.",
|
|
"Guardrail": "Queue files under pdp-check-queue are assignments only, not completed checks."
|
|
},
|
|
{
|
|
"Area": "Staging cutover approval",
|
|
"File": "data/staging/cutover-approval.json",
|
|
"Check": "Cutover approval exists with explicit approval/signoff owner and timestamp.",
|
|
"Status": "blocked",
|
|
"Evidence": "approved=false; approver=blank; approvedAt=blank",
|
|
"NextAction": "Project owner/Lewis/Euan must sign the cutover approval after successful staging checks.",
|
|
"Guardrail": "Do not treat handoff packet generation as cutover approval."
|
|
}
|
|
],
|
|
"blockingRows": [
|
|
{
|
|
"Area": "Compliance clinical blanks",
|
|
"File": "data/content/compliance/clinical-blank-decisions.csv",
|
|
"Check": "All blank clinical claim rows have explicit approved_blank decisions with approver, date, rationale, and constraints acknowledgement.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/184 valid approved_blank rows; 184 still pending/invalid.",
|
|
"NextAction": "Compliance owner must fill the CSV or provide source-backed claims, then run bun run compliance:blank-decisions && bun run claims:sync-content.",
|
|
"Guardrail": "Do not invent clinical claims or approve blanks without compliance input."
|
|
},
|
|
{
|
|
"Area": "Product approval decisions",
|
|
"File": "data/content/approvals/product-approval-decisions.csv",
|
|
"Check": "All products have human approve_all rows with all evidence/acknowledgement fields complete.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"NextAction": "Umar/JV reviewer must complete the CSV, then run bun run approval:decisions && bun run approval:review-packet.",
|
|
"Guardrail": "Do not self-approve products or treat generated drafts as human approval."
|
|
},
|
|
{
|
|
"Area": "DataForSEO provider response",
|
|
"File": "data/sources/provider-responses/dataforseo-reviews-endpoint-response.json",
|
|
"Check": "Support response proves the Reviews endpoint or replacement endpoint is available and retry-safe without leaking credentials.",
|
|
"Status": "blocked",
|
|
"Evidence": "responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false",
|
|
"NextAction": "Wait for DataForSEO support/docs clearance, fill the provider response tracker, then run bun run dataforseo:support-response.",
|
|
"Guardrail": "Use the real pi-fresh-foundation credentials only in shell env; never paste or store secrets in the response tracker."
|
|
},
|
|
{
|
|
"Area": "DataForSEO spend approval",
|
|
"File": "data/sources/approvals/dataforseo-stage1-approval.json",
|
|
"Check": "Stage 1 approval file has approver, date, capped spend, exact target/run/depth caps, and hard-stop/no-secret/post-review acknowledgements.",
|
|
"Status": "blocked",
|
|
"Evidence": "approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false",
|
|
"NextAction": "Project owner must explicitly fill the approval file after endpoint clearance, then run bun run source:spend-gate.",
|
|
"Guardrail": "Approval alone must not override provider endpoint/support/docs blockers."
|
|
},
|
|
{
|
|
"Area": "Staging import evidence",
|
|
"File": "data/staging/import-logs",
|
|
"Check": "At least one real Matrixify/staging import log JSON exists outside templates.",
|
|
"Status": "blocked",
|
|
"Evidence": "0 import log file(s) found.",
|
|
"NextAction": "Lewis/Euan must save real import logs under data/staging/import-logs/ and rerun bun run staging:evidence.",
|
|
"Guardrail": "Queued templates are not import evidence."
|
|
},
|
|
{
|
|
"Area": "Staging PDP spot checks",
|
|
"File": "data/staging/pdp-checks",
|
|
"Check": "At least 5 real staging PDP spot-check JSON files exist outside the queue/templates.",
|
|
"Status": "blocked",
|
|
"Evidence": "0/5 PDP check file(s) found.",
|
|
"NextAction": "Save real staging URL spot checks under data/staging/pdp-checks/ and rerun bun run staging:evidence.",
|
|
"Guardrail": "Queue files under pdp-check-queue are assignments only, not completed checks."
|
|
},
|
|
{
|
|
"Area": "Staging cutover approval",
|
|
"File": "data/staging/cutover-approval.json",
|
|
"Check": "Cutover approval exists with explicit approval/signoff owner and timestamp.",
|
|
"Status": "blocked",
|
|
"Evidence": "approved=false; approver=blank; approvedAt=blank",
|
|
"NextAction": "Project owner/Lewis/Euan must sign the cutover approval after successful staging checks.",
|
|
"Guardrail": "Do not treat handoff packet generation as cutover approval."
|
|
}
|
|
],
|
|
"files": {
|
|
"markdown": "content_population_exports/reviewer_input_preflight.md",
|
|
"json": "content_population_exports/reviewer_input_preflight.json",
|
|
"csv": "content_population_exports/reviewer_input_preflight.csv"
|
|
}
|
|
}
|