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>
651 lines
27 KiB
JSON
651 lines
27 KiB
JSON
{
|
|
"generatedAt": "2026-05-20T02:31:38.401Z",
|
|
"ready": false,
|
|
"purpose": "Dependency map from master verifier gates to the owner inputs and evidence that unblock them. It prevents rerunning gates blindly and keeps owner/external blockers explicit.",
|
|
"counts": {
|
|
"gates": 17,
|
|
"passing": 8,
|
|
"blocked": 9,
|
|
"ownersWithBlockedGates": 6
|
|
},
|
|
"rows": [
|
|
{
|
|
"Sequence": 1,
|
|
"Gate": "export_content",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run export:content",
|
|
"Owner": "Dashboard",
|
|
"Lane": "Export generation",
|
|
"Inputs": [
|
|
"data/content/products/",
|
|
"data/content/metaobjects.json",
|
|
"data/content/smart-collections.json"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Wrote C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports | 190 product records, 374 blockers",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Matrixify/export packet exists"
|
|
],
|
|
"UnblockInstruction": "Already passing; rerun after approvals or content changes.",
|
|
"NextCommand": "bun run export:content"
|
|
},
|
|
{
|
|
"Sequence": 2,
|
|
"Gate": "validate_assets",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run validate:assets",
|
|
"Owner": "Dashboard / design",
|
|
"Lane": "Asset file presence",
|
|
"Inputs": [
|
|
"C:/Users/uldvs/OneDrive/Desktop/jv-assets",
|
|
"content_population_exports/asset_manifest_validation.*"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Available assets: 643 | Required filenames: 586",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Asset references/files are present"
|
|
],
|
|
"UnblockInstruction": "Already passing for file presence; human image approval is separate.",
|
|
"NextCommand": "bun run validate:assets"
|
|
},
|
|
{
|
|
"Sequence": 3,
|
|
"Gate": "validate_template",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run validate:template",
|
|
"Owner": "Dashboard",
|
|
"Lane": "Matrixify template schema",
|
|
"Inputs": [
|
|
"Just Vitamins - Content Population Templates workbook",
|
|
"content_population_exports/*matrixify.csv"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Template schema validation ready: True\r | products_dashboard: pass rows=350\r",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Matrixify/export packet exists"
|
|
],
|
|
"UnblockInstruction": "Already passing; rerun after emitter changes.",
|
|
"NextCommand": "bun run validate:template"
|
|
},
|
|
{
|
|
"Sequence": 4,
|
|
"Gate": "source_request_pack",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run source:pack",
|
|
"Owner": "Research / compliance / image",
|
|
"Lane": "Source request pack",
|
|
"Inputs": [
|
|
"content_population_exports/source_request_*"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Wrote source request pack to C:\\Users\\uldvs\\OneDrive\\Desktop\\Work 2.0\\jv-dashboard\\content_population_exports | Source request items: 206",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Source drops and claims library validate"
|
|
],
|
|
"UnblockInstruction": "Already passing; use as owner request evidence.",
|
|
"NextCommand": "bun run source:pack"
|
|
},
|
|
{
|
|
"Sequence": 5,
|
|
"Gate": "validate_sources",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run validate:sources",
|
|
"Owner": "Research",
|
|
"Lane": "Source drop validation",
|
|
"Inputs": [
|
|
"data/sources/amazon/",
|
|
"data/sources/trustpilot/",
|
|
"data/sources/reddit/"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Source drops ready: true | amazon: 1/1",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Source drops and claims library validate"
|
|
],
|
|
"UnblockInstruction": "Already passing for current source drops; more source evidence may still be needed by owners.",
|
|
"NextCommand": "bun run validate:sources"
|
|
},
|
|
{
|
|
"Sequence": 6,
|
|
"Gate": "validate_claims",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run validate:claims",
|
|
"Owner": "Compliance",
|
|
"Lane": "Claims library validation",
|
|
"Inputs": [
|
|
"data/content/claims-library.json"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Claims library ready: true | Claims: 5",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Source drops and claims library validate",
|
|
"Compliance clinical claim/blank decisions complete"
|
|
],
|
|
"UnblockInstruction": "Already passing structurally; remaining blank clinical claims still need decisions or source-backed refs.",
|
|
"NextCommand": "bun run validate:claims"
|
|
},
|
|
{
|
|
"Sequence": 7,
|
|
"Gate": "clinical_blank_decisions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run compliance:blank-decisions",
|
|
"Owner": "Compliance owner / Umar",
|
|
"Lane": "Compliance blank/source-backed claim decisions",
|
|
"Inputs": [
|
|
"data/content/compliance/clinical-blank-decisions.csv"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid.",
|
|
"OwnerResponseStatus": "Compliance blank/source-backed claim decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Compliance clinical claim/blank decisions complete"
|
|
],
|
|
"UnblockInstruction": "Fill approved_blank rows with approvedBy, approvedAt, rationale, constraintsAcknowledged=yes or provide source-backed claim refs and rerun claims sync.",
|
|
"NextCommand": "bun run compliance:blank-decisions"
|
|
},
|
|
{
|
|
"Sequence": 8,
|
|
"Gate": "intelligence_queue",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run intelligence:queue",
|
|
"Owner": "Dashboard intelligence lane",
|
|
"Lane": "Full catalogue intelligence coverage",
|
|
"Inputs": [
|
|
"data/intelligence/**"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Intelligence workqueue ready: true | Missing tasks: 0",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [
|
|
"Full catalogue content workspace exists"
|
|
],
|
|
"UnblockInstruction": "Already passing; rerun if product scope changes.",
|
|
"NextCommand": "bun run intelligence:queue"
|
|
},
|
|
{
|
|
"Sequence": 9,
|
|
"Gate": "product_approval_decisions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run approval:decisions",
|
|
"Owner": "Umar / JV reviewer",
|
|
"Lane": "Product approval decisions",
|
|
"Inputs": [
|
|
"data/content/approvals/product-approval-decisions.csv"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "Product approval decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Product approvals complete"
|
|
],
|
|
"UnblockInstruction": "Fill approve_all decisions with approver, timestamp, review evidence, and all acknowledgements.",
|
|
"NextCommand": "bun run approval:decisions"
|
|
},
|
|
{
|
|
"Sequence": 10,
|
|
"Gate": "product_approval_review_packet",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run approval:review-packet",
|
|
"Owner": "Umar / JV reviewer",
|
|
"Lane": "Product approval review packet",
|
|
"Inputs": [
|
|
"data/content/approvals/product-approval-decisions.csv",
|
|
"content_population_exports/product_approval_review_packet.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "Product approval decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Product approvals complete"
|
|
],
|
|
"UnblockInstruction": "Clears only after product approvals validate and no product remains blocked.",
|
|
"NextCommand": "bun run approval:review-packet"
|
|
},
|
|
{
|
|
"Sequence": 11,
|
|
"Gate": "handoff_actions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run handoff:actions",
|
|
"Owner": "Project owner",
|
|
"Lane": "Handoff action closure",
|
|
"Inputs": [
|
|
"content_population_exports/handoff_action_plan.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions",
|
|
"Staging import evidence",
|
|
"DataForSEO provider response",
|
|
"DataForSEO spend approval"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid. | DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | DataForSEO spend approval: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false | Staging import evidence: 0 import log file(s) found.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [
|
|
"Master handoff verifier passes"
|
|
],
|
|
"UnblockInstruction": "Closes after compliance, approval, staging, and provider owner lanes are resolved.",
|
|
"NextCommand": "bun run handoff:actions"
|
|
},
|
|
{
|
|
"Sequence": 12,
|
|
"Gate": "executive_decision_brief",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run handoff:decision-brief",
|
|
"Owner": "Project owner / Umar / Lewis / Euan",
|
|
"Lane": "Executive decision closure",
|
|
"Inputs": [
|
|
"content_population_exports/executive_decision_brief.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions",
|
|
"Staging import evidence",
|
|
"DataForSEO provider response"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid. | DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | Staging import evidence: 0 import log file(s) found.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [],
|
|
"UnblockInstruction": "Closes after named decisions have recorded evidence and owners.",
|
|
"NextCommand": "bun run handoff:decision-brief"
|
|
},
|
|
{
|
|
"Sequence": 13,
|
|
"Gate": "staging_handoff_packet",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:handoff-packet",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging handoff readiness",
|
|
"Inputs": [
|
|
"content_population_exports/staging_handoff_packet.*",
|
|
"data/staging/**"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Import files are present; real import/PDP/cutover evidence must be recorded.",
|
|
"NextCommand": "bun run staging:handoff-packet"
|
|
},
|
|
{
|
|
"Sequence": 14,
|
|
"Gate": "staging_evidence",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:evidence",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging evidence",
|
|
"Inputs": [
|
|
"data/staging/import-logs/",
|
|
"data/staging/pdp-checks/",
|
|
"data/staging/cutover-approval.json"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Save clean import logs, at least 5 real PDP spot checks, and signed cutover approval.",
|
|
"NextCommand": "bun run staging:evidence"
|
|
},
|
|
{
|
|
"Sequence": 15,
|
|
"Gate": "staging_checklist",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:checklist",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging checklist",
|
|
"Inputs": [
|
|
"content_population_exports/staging_import_checklist.*",
|
|
"data/staging/**"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Clears after staging evidence validator passes and preflight/import/PDP/cutover checks are recorded.",
|
|
"NextCommand": "bun run staging:checklist"
|
|
},
|
|
{
|
|
"Sequence": 16,
|
|
"Gate": "delivery_index",
|
|
"Status": "pass",
|
|
"ExitCode": 0,
|
|
"Command": "bun run delivery:index",
|
|
"Owner": "Project owner",
|
|
"Lane": "Delivery packet completeness",
|
|
"Inputs": [
|
|
"content_population_exports/delivery_index.*"
|
|
],
|
|
"UpstreamBlockers": [],
|
|
"BlockerEvidence": "Delivery index ready: true | Files present: 179/179",
|
|
"OwnerResponseStatus": "not needed while passing",
|
|
"EvidenceDossierLinks": [],
|
|
"UnblockInstruction": "Already passing; only proves files exist, not final readiness.",
|
|
"NextCommand": "bun run delivery:index"
|
|
},
|
|
{
|
|
"Sequence": 17,
|
|
"Gate": "content_audit",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run audit:content",
|
|
"Owner": "Dashboard / project owner",
|
|
"Lane": "Final content audit",
|
|
"Inputs": [
|
|
"content_population_exports/content_population_readiness.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [],
|
|
"UnblockInstruction": "Final aggregate gate; clears after compliance and approvals resolve remaining export blockers.",
|
|
"NextCommand": "bun run audit:content"
|
|
}
|
|
],
|
|
"blockedRows": [
|
|
{
|
|
"Sequence": 7,
|
|
"Gate": "clinical_blank_decisions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run compliance:blank-decisions",
|
|
"Owner": "Compliance owner / Umar",
|
|
"Lane": "Compliance blank/source-backed claim decisions",
|
|
"Inputs": [
|
|
"data/content/compliance/clinical-blank-decisions.csv"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid.",
|
|
"OwnerResponseStatus": "Compliance blank/source-backed claim decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Compliance clinical claim/blank decisions complete"
|
|
],
|
|
"UnblockInstruction": "Fill approved_blank rows with approvedBy, approvedAt, rationale, constraintsAcknowledged=yes or provide source-backed claim refs and rerun claims sync.",
|
|
"NextCommand": "bun run compliance:blank-decisions"
|
|
},
|
|
{
|
|
"Sequence": 9,
|
|
"Gate": "product_approval_decisions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run approval:decisions",
|
|
"Owner": "Umar / JV reviewer",
|
|
"Lane": "Product approval decisions",
|
|
"Inputs": [
|
|
"data/content/approvals/product-approval-decisions.csv"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "Product approval decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Product approvals complete"
|
|
],
|
|
"UnblockInstruction": "Fill approve_all decisions with approver, timestamp, review evidence, and all acknowledgements.",
|
|
"NextCommand": "bun run approval:decisions"
|
|
},
|
|
{
|
|
"Sequence": 10,
|
|
"Gate": "product_approval_review_packet",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run approval:review-packet",
|
|
"Owner": "Umar / JV reviewer",
|
|
"Lane": "Product approval review packet",
|
|
"Inputs": [
|
|
"data/content/approvals/product-approval-decisions.csv",
|
|
"content_population_exports/product_approval_review_packet.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "Product approval decisions: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Product approvals complete"
|
|
],
|
|
"UnblockInstruction": "Clears only after product approvals validate and no product remains blocked.",
|
|
"NextCommand": "bun run approval:review-packet"
|
|
},
|
|
{
|
|
"Sequence": 11,
|
|
"Gate": "handoff_actions",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run handoff:actions",
|
|
"Owner": "Project owner",
|
|
"Lane": "Handoff action closure",
|
|
"Inputs": [
|
|
"content_population_exports/handoff_action_plan.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions",
|
|
"Staging import evidence",
|
|
"DataForSEO provider response",
|
|
"DataForSEO spend approval"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid. | DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | DataForSEO spend approval: approved=false; maxSpendApproved=0; targetCap=0/10; runLimit=0/1; depth=0/10; hardStop=false; noCredentialStorage=false | Staging import evidence: 0 import log file(s) found.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [
|
|
"Master handoff verifier passes"
|
|
],
|
|
"UnblockInstruction": "Closes after compliance, approval, staging, and provider owner lanes are resolved.",
|
|
"NextCommand": "bun run handoff:actions"
|
|
},
|
|
{
|
|
"Sequence": 12,
|
|
"Gate": "executive_decision_brief",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run handoff:decision-brief",
|
|
"Owner": "Project owner / Umar / Lewis / Euan",
|
|
"Lane": "Executive decision closure",
|
|
"Inputs": [
|
|
"content_population_exports/executive_decision_brief.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions",
|
|
"Staging import evidence",
|
|
"DataForSEO provider response"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid. | DataForSEO provider response: responseReceived=false; endpointAvailable=false; replacementEndpoint=blank; retrySafe=false; credentialIncluded=false | Staging import evidence: 0 import log file(s) found.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [],
|
|
"UnblockInstruction": "Closes after named decisions have recorded evidence and owners.",
|
|
"NextCommand": "bun run handoff:decision-brief"
|
|
},
|
|
{
|
|
"Sequence": 13,
|
|
"Gate": "staging_handoff_packet",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:handoff-packet",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging handoff readiness",
|
|
"Inputs": [
|
|
"content_population_exports/staging_handoff_packet.*",
|
|
"data/staging/**"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Import files are present; real import/PDP/cutover evidence must be recorded.",
|
|
"NextCommand": "bun run staging:handoff-packet"
|
|
},
|
|
{
|
|
"Sequence": 14,
|
|
"Gate": "staging_evidence",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:evidence",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging evidence",
|
|
"Inputs": [
|
|
"data/staging/import-logs/",
|
|
"data/staging/pdp-checks/",
|
|
"data/staging/cutover-approval.json"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Save clean import logs, at least 5 real PDP spot checks, and signed cutover approval.",
|
|
"NextCommand": "bun run staging:evidence"
|
|
},
|
|
{
|
|
"Sequence": 15,
|
|
"Gate": "staging_checklist",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run staging:checklist",
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"Lane": "Staging checklist",
|
|
"Inputs": [
|
|
"content_population_exports/staging_import_checklist.*",
|
|
"data/staging/**"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Staging import evidence",
|
|
"Staging PDP spot checks",
|
|
"Staging cutover approval"
|
|
],
|
|
"BlockerEvidence": "Staging import evidence: 0 import log file(s) found. | Staging PDP spot checks: 0/5 PDP check file(s) found. | Staging cutover approval: approved=false; approver=blank; approvedAt=blank",
|
|
"OwnerResponseStatus": "Lewis/Euan staging import evidence: not_sent",
|
|
"EvidenceDossierLinks": [
|
|
"Lewis/Euan staging import evidence complete"
|
|
],
|
|
"UnblockInstruction": "Clears after staging evidence validator passes and preflight/import/PDP/cutover checks are recorded.",
|
|
"NextCommand": "bun run staging:checklist"
|
|
},
|
|
{
|
|
"Sequence": 17,
|
|
"Gate": "content_audit",
|
|
"Status": "blocked",
|
|
"ExitCode": 1,
|
|
"Command": "bun run audit:content",
|
|
"Owner": "Dashboard / project owner",
|
|
"Lane": "Final content audit",
|
|
"Inputs": [
|
|
"content_population_exports/content_population_readiness.*"
|
|
],
|
|
"UpstreamBlockers": [
|
|
"Compliance clinical blanks",
|
|
"Product approval decisions"
|
|
],
|
|
"BlockerEvidence": "Compliance clinical blanks: 0/184 valid approved_blank rows; 184 still pending/invalid. | Product approval decisions: 0/190 valid approve_all rows; 190 still pending/invalid.",
|
|
"OwnerResponseStatus": "no owner response recorded",
|
|
"EvidenceDossierLinks": [],
|
|
"UnblockInstruction": "Final aggregate gate; clears after compliance and approvals resolve remaining export blockers.",
|
|
"NextCommand": "bun run audit:content"
|
|
}
|
|
],
|
|
"ownerGroups": [
|
|
{
|
|
"Owner": "Compliance owner / Umar",
|
|
"BlockedGates": 1,
|
|
"Gates": "clinical_blank_decisions",
|
|
"FirstAction": "Fill approved_blank rows with approvedBy, approvedAt, rationale, constraintsAcknowledged=yes or provide source-backed claim refs and rerun claims sync."
|
|
},
|
|
{
|
|
"Owner": "Umar / JV reviewer",
|
|
"BlockedGates": 2,
|
|
"Gates": "product_approval_decisions | product_approval_review_packet",
|
|
"FirstAction": "Fill approve_all decisions with approver, timestamp, review evidence, and all acknowledgements."
|
|
},
|
|
{
|
|
"Owner": "Project owner",
|
|
"BlockedGates": 1,
|
|
"Gates": "handoff_actions",
|
|
"FirstAction": "Closes after compliance, approval, staging, and provider owner lanes are resolved."
|
|
},
|
|
{
|
|
"Owner": "Project owner / Umar / Lewis / Euan",
|
|
"BlockedGates": 1,
|
|
"Gates": "executive_decision_brief",
|
|
"FirstAction": "Closes after named decisions have recorded evidence and owners."
|
|
},
|
|
{
|
|
"Owner": "Lewis/Euan + dashboard owner",
|
|
"BlockedGates": 3,
|
|
"Gates": "staging_handoff_packet | staging_evidence | staging_checklist",
|
|
"FirstAction": "Import files are present; real import/PDP/cutover evidence must be recorded."
|
|
},
|
|
{
|
|
"Owner": "Dashboard / project owner",
|
|
"BlockedGates": 1,
|
|
"Gates": "content_audit",
|
|
"FirstAction": "Final aggregate gate; clears after compliance and approvals resolve remaining export blockers."
|
|
}
|
|
],
|
|
"files": {
|
|
"markdown": "content_population_exports/handoff_gate_dependency_map.md",
|
|
"json": "content_population_exports/handoff_gate_dependency_map.json",
|
|
"csv": "content_population_exports/handoff_gate_dependency_map.csv",
|
|
"ownerCsv": "content_population_exports/handoff_gate_dependency_by_owner.csv"
|
|
}
|
|
}
|