feat: editorial review dashboard + elite-grade pilot batch (5 SKUs)
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>
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"generatedAt": "2026-05-20T02:31:32.358Z",
|
||||
"ready": false,
|
||||
"decision": "pending",
|
||||
"reviewFile": "data/sources/reviews/dataforseo-stage1-review.json",
|
||||
"counts": {
|
||||
"checks": 7,
|
||||
"passing": 1,
|
||||
"blocked": 6,
|
||||
"convertedFiles": 0,
|
||||
"convertedReviews": 0,
|
||||
"ingestIssues": 0
|
||||
},
|
||||
"checks": [
|
||||
{
|
||||
"Check": "Raw DataForSEO result ingested",
|
||||
"Status": "blocked",
|
||||
"Evidence": "0 converted files / 0 converted reviews",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Ingest has no structural issues",
|
||||
"Status": "blocked",
|
||||
"Evidence": "0 ingest issues",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Reviewer inspected raw output",
|
||||
"Status": "blocked",
|
||||
"Evidence": "review not recorded",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Required evidence fields present",
|
||||
"Status": "blocked",
|
||||
"Evidence": "text=false, rating=false, date=false, url=false",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Cost reviewed and acceptable",
|
||||
"Status": "blocked",
|
||||
"Evidence": "costReviewed=false, costAcceptable=false",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Decision recorded",
|
||||
"Status": "blocked",
|
||||
"Evidence": "decision=pending",
|
||||
"Blocking": "yes"
|
||||
},
|
||||
{
|
||||
"Check": "Apify gap named if selected",
|
||||
"Status": "pass",
|
||||
"Evidence": "not selecting Apify gap-fill",
|
||||
"Blocking": "no"
|
||||
}
|
||||
],
|
||||
"recommendations": [
|
||||
"Do not scale DataForSEO or run Apify yet.",
|
||||
"Complete raw ingest, evidence-field review, cost review, and explicit decision first."
|
||||
],
|
||||
"review": {
|
||||
"reviewed": false,
|
||||
"reviewedBy": "",
|
||||
"reviewedAt": "",
|
||||
"provider": "DataForSEO",
|
||||
"stage": 1,
|
||||
"rawOutputInspected": false,
|
||||
"costReviewed": false,
|
||||
"outputHasReviewText": false,
|
||||
"outputHasRating": false,
|
||||
"outputHasDate": false,
|
||||
"outputHasSourceUrl": false,
|
||||
"costAcceptable": false,
|
||||
"decision": "pending",
|
||||
"allowedDecisions": [
|
||||
"scale_dataforseo",
|
||||
"run_apify_gapfill",
|
||||
"stop_adjust_source_map"
|
||||
],
|
||||
"namedGapForApify": "",
|
||||
"notes": ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user