Files
justvitamin/content_population_exports/owner_evidence_acceptance_guide.csv
Omair Saleh 056c47581f 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>
2026-06-02 18:50:09 +08:00

6.5 KiB

1LaneOwnerEditableFileRequiredEvidenceRequiredFieldsValidExampleInvalidExamplesValidatorCommandGuardrailCurrentStatusCurrentEvidenceCurrentNextAction
2Compliance clinical blanksCompliance owner / Umardata/content/compliance/clinical-blank-decisions.csvFor each SKU: decision=approved_blank OR source-backed claim refs must be provided and synced.decision=approved_blank; approvedBy non-empty; approvedAt ISO/date; rationale non-empty; constraintsAcknowledged=yesdecision=approved_blank; approvedBy=<real compliance owner>; approvedAt=<actual review date>; rationale=<why blank is safe>; constraintsAcknowledged=yespending rows; blank approver/date/rationale; constraintsAcknowledged=no; generic clinical claims without source refsbun run compliance:blank-decisions && bun run claims:sync-content && bun run export:contentDo not invent clinical claims. Blank clinical module needs explicit compliance approval.blocked0/184 valid approved_blank rows; 184 still pending/invalid.Compliance owner must fill the CSV or provide source-backed claims, then run bun run compliance:blank-decisions && bun run claims:sync-content.
3Product approval decisionsUmar / JV reviewerdata/content/approvals/product-approval-decisions.csvFor each product: human review of content, compliance, images, export, and supporting evidence.decision=approve_all; approvedBy non-empty; approvedAt ISO/date; reviewEvidence non-empty; contentReviewed=yes; complianceReviewed=yes; imagesReviewed=yes; exportReviewed=yes; noFakeEvidenceAcknowledged=yesdecision=approve_all; approvedBy=<real reviewer>; approvedAt=<actual review date>; reviewEvidence=<packet/link/notes>; all review acknowledgements=yesself-approval; blank reviewEvidence; any acknowledgement=no; approving generated draft assets without human reviewbun run approval:decisions && bun run approval:review-packet && bun run export:contentDo not self-approve products or treat generated drafts as human approval.blocked0/190 valid approve_all rows; 190 still pending/invalid.Umar/JV reviewer must complete the CSV, then run bun run approval:decisions && bun run approval:review-packet.
4DataForSEO provider responseResearch / project ownerdata/sources/provider-responses/dataforseo-reviews-endpoint-response.jsonDataForSEO support/docs confirm Amazon Reviews endpoint or replacement endpoint is available and retry-safe.responseReceived=true; responseReceivedAt date; endpointAvailable=true OR replacementEndpoint non-empty; providerSaysRetrySafe=true; credentialIncludedInSupportThread=false; responderName/rawResponseSummary filledresponseReceived=true; endpointAvailable=true; providerSaysRetrySafe=true; credentialIncludedInSupportThread=false; rawResponseSummary=<support answer summary>support not received; endpoint still unavailable; retrySafe=false; credentials pasted into support response or trackerbun run dataforseo:support-response && bun run dataforseo:task-preflightUse pi-fresh-foundation .env credentials only through shell env; never print or paste secrets.blockedresponseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=falseWait for DataForSEO support/docs clearance, fill the provider response tracker, then run bun run dataforseo:support-response.
5DataForSEO spend approvalResearch / project ownerdata/sources/approvals/dataforseo-stage1-approval.jsonExplicit owner approval for exactly one capped Stage 1 run after endpoint clearance.approved=true; approvedBy non-empty; approvedAt date; maxSpendApproved within expected cap; targetCapApproved=9; runLimitApproved=1; depthOrRequestCapApproved=10; hardStopAcknowledged=true; noCredentialStorageAcknowledged=true; postRunReviewRequired=trueapproved=true only after endpoint is available; maxSpendApproved<=expectedMaxSpend; exact target/run/depth caps recordedapproval before endpoint clearance; maxSpendApproved=0; caps do not match; hard stop/no-secret acknowledgements falsebun run source:spend-gate && bun run source:refresh-packetApproval alone must not override provider endpoint/support/docs blockers.blockedapproved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=falseProject owner must explicitly fill the approval file after endpoint clearance, then run bun run source:spend-gate.
6Staging import evidenceLewis/Euan + dashboard ownerdata/staging/import-logs/*.jsonReal Matrixify staging import logs for metaobjects, smart collections, and products.importType matching expected type; environment=staging; importedAt date; importedBy real person; successfulRows>=expected; failedRows=0; sourceFile/matrixifyJobUrl or notes filledOne JSON per import type from actual Matrixify staging run with failedRows=0 and enough successfulRowstemplate JSON copied as evidence; failedRows>0; production environment; missing importedBy/importedAtbun run staging:evidence && bun run staging:checklistQueued templates are not import evidence.blocked0 import log file(s) found.Lewis/Euan must save real import logs under data/staging/import-logs/ and rerun bun run staging:evidence.
7Staging PDP spot checksLewis/Euan + dashboard ownerdata/staging/pdp-checks/*.jsonAt least 5 real staging PDP URL checks with all checks passing and no issues.sku; handle; stagingUrl; checkedAt; checkedBy; checks object values all pass; issues=[]Five or more real staging product URLs checked by a named reviewer with every required PDP check=passqueue files used as evidence; fewer than 5 checks; any issue recorded; any check not pass; fake/non-staging URLbun run staging:evidence && bun run staging:checklistQueue files under pdp-check-queue are assignments only, not completed checks.blocked0/5 PDP check file(s) found.Save real staging URL spot checks under data/staging/pdp-checks/ and rerun bun run staging:evidence.
8Staging cutover approvalLewis/Euan + project ownerdata/staging/cutover-approval.jsonCutover approval signed only after clean import logs and PDP spot checks pass.approved=true; approvedBy non-empty; approvedAt date; stagingImportEvidence path; pdpSpotCheckEvidence path; knownRisksAccepted array; notes optionalapproved=true with real approver/date after staging:evidence passesapproved=false; blank approver/date; approval before staging evidence; treating tracker creation as signoffbun run staging:evidence && bun run staging:checklist && bun run verify:handoffDo not treat handoff packet generation as cutover approval.blockedapproved=false; approver=blank; approvedAt=blankProject owner/Lewis/Euan must sign the cutover approval after successful staging checks.