Files
justvitamin/content_population_exports/owner_evidence_acceptance_guide.md
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

7.1 KiB

Owner evidence acceptance guide

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

This guide defines what evidence is acceptable for each owner-editable blocker file. It does not approve any row, create staging proof, or authorize provider spend.

Lanes: 7 Currently blocked: 7

Acceptance criteria by lane

Compliance clinical blanks

  • Owner: Compliance owner / Umar
  • Editable file: data/content/compliance/clinical-blank-decisions.csv
  • Required evidence: For each SKU: decision=approved_blank OR source-backed claim refs must be provided and synced.
  • Required fields: decision=approved_blank; approvedBy non-empty; approvedAt ISO/date; rationale non-empty; constraintsAcknowledged=yes
  • Valid example shape: decision=approved_blank; approvedBy=; approvedAt=; rationale=; constraintsAcknowledged=yes
  • Invalid examples: pending rows; blank approver/date/rationale; constraintsAcknowledged=no; generic clinical claims without source refs
  • Current evidence: 0/184 valid approved_blank rows; 184 still pending/invalid.
  • Validator: 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.

Product approval decisions

  • Owner: Umar / JV reviewer
  • Editable file: data/content/approvals/product-approval-decisions.csv
  • Required evidence: For each product: human review of content, compliance, images, export, and supporting evidence.
  • Required fields: decision=approve_all; approvedBy non-empty; approvedAt ISO/date; reviewEvidence non-empty; contentReviewed=yes; complianceReviewed=yes; imagesReviewed=yes; exportReviewed=yes; noFakeEvidenceAcknowledged=yes
  • Valid example shape: decision=approve_all; approvedBy=; approvedAt=; reviewEvidence=<packet/link/notes>; all review acknowledgements=yes
  • Invalid examples: self-approval; blank reviewEvidence; any acknowledgement=no; approving generated draft assets without human review
  • Current evidence: 0/190 valid approve_all rows; 190 still pending/invalid.
  • Validator: bun run approval:decisions && bun run approval:review-packet && bun run export:content
  • Guardrail: Do not self-approve products or treat generated drafts as human approval.

DataForSEO provider response

  • Owner: Research / project owner
  • Editable file: data/sources/provider-responses/dataforseo-reviews-endpoint-response.json
  • Required evidence: DataForSEO support/docs confirm Amazon Reviews endpoint or replacement endpoint is available and retry-safe.
  • Required fields: responseReceived=true; responseReceivedAt date; endpointAvailable=true OR replacementEndpoint non-empty; providerSaysRetrySafe=true; credentialIncludedInSupportThread=false; responderName/rawResponseSummary filled
  • Valid example shape: responseReceived=true; endpointAvailable=true; providerSaysRetrySafe=true; credentialIncludedInSupportThread=false; rawResponseSummary=
  • Invalid examples: support not received; endpoint still unavailable; retrySafe=false; credentials pasted into support response or tracker
  • Current evidence: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false
  • Validator: bun run dataforseo:support-response && bun run dataforseo:task-preflight
  • Guardrail: Use pi-fresh-foundation .env credentials only through shell env; never print or paste secrets.

DataForSEO spend approval

  • Owner: Research / project owner
  • Editable file: data/sources/approvals/dataforseo-stage1-approval.json
  • Required evidence: Explicit owner approval for exactly one capped Stage 1 run after endpoint clearance.
  • Required fields: approved=true; approvedBy non-empty; approvedAt date; maxSpendApproved within expected cap; targetCapApproved=9; runLimitApproved=1; depthOrRequestCapApproved=10; hardStopAcknowledged=true; noCredentialStorageAcknowledged=true; postRunReviewRequired=true
  • Valid example shape: approved=true only after endpoint is available; maxSpendApproved<=expectedMaxSpend; exact target/run/depth caps recorded
  • Invalid examples: approval before endpoint clearance; maxSpendApproved=0; caps do not match; hard stop/no-secret acknowledgements false
  • Current evidence: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false
  • Validator: bun run source:spend-gate && bun run source:refresh-packet
  • Guardrail: Approval alone must not override provider endpoint/support/docs blockers.

Staging import evidence

  • Owner: Lewis/Euan + dashboard owner
  • Editable file: data/staging/import-logs/*.json
  • Required evidence: Real Matrixify staging import logs for metaobjects, smart collections, and products.
  • Required fields: importType matching expected type; environment=staging; importedAt date; importedBy real person; successfulRows>=expected; failedRows=0; sourceFile/matrixifyJobUrl or notes filled
  • Valid example shape: One JSON per import type from actual Matrixify staging run with failedRows=0 and enough successfulRows
  • Invalid examples: template JSON copied as evidence; failedRows>0; production environment; missing importedBy/importedAt
  • Current evidence: 0 import log file(s) found.
  • Validator: bun run staging:evidence && bun run staging:checklist
  • Guardrail: Queued templates are not import evidence.

Staging PDP spot checks

  • Owner: Lewis/Euan + dashboard owner
  • Editable file: data/staging/pdp-checks/*.json
  • Required evidence: At least 5 real staging PDP URL checks with all checks passing and no issues.
  • Required fields: sku; handle; stagingUrl; checkedAt; checkedBy; checks object values all pass; issues=[]
  • Valid example shape: Five or more real staging product URLs checked by a named reviewer with every required PDP check=pass
  • Invalid examples: queue files used as evidence; fewer than 5 checks; any issue recorded; any check not pass; fake/non-staging URL
  • Current evidence: 0/5 PDP check file(s) found.
  • Validator: bun run staging:evidence && bun run staging:checklist
  • Guardrail: Queue files under pdp-check-queue are assignments only, not completed checks.

Staging cutover approval

  • Owner: Lewis/Euan + project owner
  • Editable file: data/staging/cutover-approval.json
  • Required evidence: Cutover approval signed only after clean import logs and PDP spot checks pass.
  • Required fields: approved=true; approvedBy non-empty; approvedAt date; stagingImportEvidence path; pdpSpotCheckEvidence path; knownRisksAccepted array; notes optional
  • Valid example shape: approved=true with real approver/date after staging:evidence passes
  • Invalid examples: approved=false; blank approver/date; approval before staging evidence; treating tracker creation as signoff
  • Current evidence: approved=false; approver=blank; approvedAt=blank
  • Validator: bun run staging:evidence && bun run staging:checklist && bun run verify:handoff
  • Guardrail: Do not treat handoff packet generation as cutover approval.

Final rule

Evidence is only accepted when the relevant validator passes. This guide is a field guide, not an override.