{"schemaVersion":"dunvale-report-derived-facts-operator-review.v1","status":"ready_for_no_write_operator_review","packageId":"border-pulse:laredo:pilot","reviewEndpoint":"GET /public/border-pulse/report-derived-facts/operator-review","previewCommand":"npm run preview:report-derived-facts -- --out-dir tmp/openai-analysis/report-derived-facts-preview","artifactDirectory":"tmp/openai-analysis/report-derived-facts-preview","artifactProof":{"schemaVersion":"dunvale-report-derived-facts-artifact-proof.v1","freshnessStatus":"manual_snapshot_current_through_2026-05-23","generatedAtField":"generatedAt","previewArtifact":"facts-preview.json","resultArtifact":"result.json","sourceAnalysisSnapshotId":"report-corpus-manual-v2","sourceAnalysisSnapshotHash":"sha256:3f1c9737420ec2df8dad39fe41ae7143ba94ed535845a011b9ff3bd012e7d210","previewContractHash":"sha256:b15831c3b7adde0fead45fdbe0392322952af7e7f5f85276bc9c2b688f7e5ca3","hashAlgorithm":"sha256","hashInput":"artifact directories, corpus date range, report count, token count, model, store flag, fact-family IDs, and closed runtime flags","routeReadsLocalFiles":false,"databaseWritesPerformed":false,"persistencePerformed":false},"sourceAnalysisArtifactDirectory":"tmp/openai-analysis/report-corpus-manual-v2","corpus":{"days":60,"reportCount":268,"firstReportDate":"2026-04-11","lastReportDate":"2026-05-23","storedChunkTokens":110585},"sourceAnalysis":{"model":"gpt-5.4-nano","callPerformed":true,"store":false,"estimatedInputTokens":110585,"maxOutputTokens":4000,"estimatedCostUsd":0.027117},"claimPolicy":{"claimBoundary":"Report-derived preview facts may use only manual report-corpus analysis, supplied report IDs, sample-reviewed fixture IDs, and explicit operator-review checks.","requiredEvidence":"Each later durable fact must cite report IDs, supplied policy evidence IDs, or packet/source_ref claim policy before becoming claim-bearing.","contextOnlyRows":"Weather, aviation, road, policy, data-gap, no-row, stale, scheduled, planned, retired, future, and unknown rows remain context-only unless reviewed evidence says otherwise.","noCausalityRule":"Do not infer dispatch, legal, operational, weather, road, or policy causality from report co-occurrence; unsupported causality fails sample review.","persistenceBoundary":"This preview opens no publication, customer delivery, billing, DB persistence, queue starts, source enablement, grants, scheduled model work, or report-derived fact persistence."},"observabilityProof":{"status":"repo_backed_grafana_dashboard_installed","dashboardFolder":"Dunvale","dashboardExport":"deploy/grafana/dunvale-unified-overview.json","dashboardCountInstalled":9,"dashboardSource":"repo_json_provisioning","apiTokenRequired":false,"databaseWritesPerformed":false},"factFamilyReviews":[{"id":"wait-volatility-ops","title":"Wait-volatility operations view","previewFactShape":"Extract explicitly stated top delays, lane labels, and largest increases/decreases from report text.","buyerUse":"Support Laredo routing and departure-window review without inferring unseen lanes.","proposedDisplaySurface":"top delays and largest deltas panel","confidence":0.78,"reviewStatus":"ready_for_operator_review","persistenceGateStatus":"closed_pending_separate_approval","requiredOperatorChecks":["preview artifact exists under artifactDirectory","sample facts cite report IDs or supplied policy evidence IDs","fact text avoids causal claims not present in reports","Grafana or buyer packet need is explicit before persistence"],"blockedUntil":["operator accepts preview coverage","separate internal approval is opened","durable schema/write path is reviewed"]},{"id":"risk-overlay-weather-aviation","title":"Weather and airport risk overlay","previewFactShape":"Attach weather-alert and airport-status statements only when report sections explicitly mention them.","buyerUse":"Show operational instability context beside observed waits without causal overclaiming.","proposedDisplaySurface":"operational risk factors strip","confidence":0.74,"reviewStatus":"ready_for_operator_review","persistenceGateStatus":"closed_pending_separate_approval","requiredOperatorChecks":["preview artifact exists under artifactDirectory","sample facts cite report IDs or supplied policy evidence IDs","fact text avoids causal claims not present in reports","Grafana or buyer packet need is explicit before persistence"],"blockedUntil":["operator accepts preview coverage","separate internal approval is opened","durable schema/write path is reviewed"]},{"id":"trade-compliance-evidence","title":"Trade-policy evidence packet","previewFactShape":"Extract listed AD/CVD, Federal Register, ITC, ITA, CBP, or ACE notice bullets from policy reports.","buyerUse":"Give compliance teams dated notice lists for review while avoiding legal conclusions.","proposedDisplaySurface":"trade notices inbox","confidence":0.81,"reviewStatus":"ready_for_operator_review","persistenceGateStatus":"closed_pending_separate_approval","requiredOperatorChecks":["preview artifact exists under artifactDirectory","sample facts cite report IDs or supplied policy evidence IDs","fact text avoids causal claims not present in reports","Grafana or buyer packet need is explicit before persistence"],"blockedUntil":["operator accepts preview coverage","separate internal approval is opened","durable schema/write path is reviewed"]},{"id":"data-gap-transparency","title":"Data-gap transparency badge","previewFactShape":"Extract explicit unavailable, missing, mismatch, or data-not-provided statements from reports.","buyerUse":"Keep buyer artifacts honest about what is evidenced versus absent.","proposedDisplaySurface":"evidence coverage badge","confidence":0.86,"reviewStatus":"ready_for_operator_review","persistenceGateStatus":"closed_pending_separate_approval","requiredOperatorChecks":["preview artifact exists under artifactDirectory","sample facts cite report IDs or supplied policy evidence IDs","fact text avoids causal claims not present in reports","Grafana or buyer packet need is explicit before persistence"],"blockedUntil":["operator accepts preview coverage","separate internal approval is opened","durable schema/write path is reviewed"]}],"sampleReviews":[{"schemaVersion":"dunvale-report-derived-fact-sample-review.v1","familyId":"wait-volatility-ops","status":"fixture_validator_ready","fixtureOnly":true,"validatorCommand":"npm run validate:report-derived-facts -- --family wait-volatility-ops --example accepted --out-dir tmp/openai-analysis/report-derived-facts-preview/wait-volatility-ops","artifactDirectory":"tmp/openai-analysis/report-derived-facts-preview/wait-volatility-ops","sampleReviewArtifact":"sample-review.json","acceptedExampleSource":"fixture.acceptedWaitVolatilityOpsSample","rejectedExampleSource":"fixture.rejectedWaitVolatilityOpsSample","allowedReportIds":["report:laredo-wait-volatility-digest:2026-05-20"],"allowedWaitMetricIds":["metric:laredo:world-trade-bridge:commercial-standard:top-delay:2026-05-20","metric:laredo:bridge-ii:commercial-ready-lane:largest-increase:2026-05-20","metric:laredo:colombia-solidarity:commercial-standard:largest-decrease:2026-05-20"],"requiredChecks":["familyId is wait-volatility-ops","metric items cite the fixture report ID plus allowlisted wait metric IDs","lane labels and wait/delta values are explicit fixture observations","sample text avoids causal claims, dispatch instructions, and unseen lane inference","publication, delivery, billing, grants, queues, source enablement, schedules, DB writes, and persistence remain false"],"writePolicy":{"mode":"fixture_only_no_write_sample_review","publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"databaseWritesPerformed":false,"persistencePerformed":false},"nextAction":"Inspect accepted sample-review output, then keep wait-volatility facts local-only until a separate buyer-packet or persistence approval gate exists."},{"schemaVersion":"dunvale-report-derived-fact-sample-review.v1","familyId":"risk-overlay-weather-aviation","status":"fixture_validator_ready","fixtureOnly":true,"validatorCommand":"npm run validate:report-derived-facts -- --family risk-overlay-weather-aviation --example accepted --out-dir tmp/openai-analysis/report-derived-facts-preview/risk-overlay-weather-aviation","artifactDirectory":"tmp/openai-analysis/report-derived-facts-preview/risk-overlay-weather-aviation","sampleReviewArtifact":"sample-review.json","acceptedExampleSource":"fixture.acceptedRiskOverlayWeatherAviationSample","rejectedExampleSource":"fixture.rejectedRiskOverlayWeatherAviationSample","allowedReportIds":["report:laredo-weather-aviation-overlay:2026-05-20"],"allowedRiskIds":["risk:laredo:nws-weather-watch-context:2026-05-20","risk:laredo:laredo-airport-status-context:2026-05-20","risk:laredo:wind-visibility-operations-context:2026-05-20"],"allowedSourceFamilies":["NWS weather alert","FAA airport status","NOAA weather observation"],"requiredChecks":["familyId is risk-overlay-weather-aviation","risk items cite the fixture report ID plus allowlisted weather or aviation risk IDs","source family is NWS weather alert, FAA airport status, or NOAA weather observation","sample text frames weather and airport status as context only, not cause or dispatch instruction","publication, delivery, billing, grants, queues, source enablement, schedules, DB writes, and persistence remain false"],"writePolicy":{"mode":"fixture_only_no_write_sample_review","publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"databaseWritesPerformed":false,"persistencePerformed":false},"nextAction":"Inspect accepted sample-review output, then keep risk-overlay facts local-only until a separate buyer-packet or persistence approval gate exists."},{"schemaVersion":"dunvale-report-derived-fact-sample-review.v1","familyId":"trade-compliance-evidence","status":"fixture_validator_ready","fixtureOnly":true,"validatorCommand":"npm run validate:report-derived-facts -- --family trade-compliance-evidence --example accepted --out-dir tmp/openai-analysis/report-derived-facts-preview/trade-compliance-evidence","artifactDirectory":"tmp/openai-analysis/report-derived-facts-preview/trade-compliance-evidence","sampleReviewArtifact":"sample-review.json","acceptedExampleSource":"fixture.acceptedTradeComplianceEvidenceSample","rejectedExampleSource":"fixture.rejectedTradeComplianceEvidenceSample","allowedReportIds":["report:trade-policy-digest:2026-05-20"],"allowedNoticeIds":["notice:federal-register:aluminum-containers-circumvention:2026-05-20","notice:itc:preserved-mushrooms-review-results:2026-05-20","notice:cbp-ace:broker-compliance-message:2026-05-20"],"requiredChecks":["familyId is trade-compliance-evidence","notice items cite the fixture report ID plus allowlisted notice IDs","source authority is Federal Register, ITC, or CBP/ACE","sample text avoids legal conclusions and unsupported causal claims","publication, delivery, billing, grants, queues, source enablement, schedules, DB writes, and persistence remain false"],"writePolicy":{"mode":"fixture_only_no_write_sample_review","publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"databaseWritesPerformed":false,"persistencePerformed":false},"nextAction":"Inspect accepted sample-review output, then keep trade-compliance facts local-only until a separate publication or persistence approval gate exists."},{"schemaVersion":"dunvale-report-derived-fact-sample-review.v1","familyId":"data-gap-transparency","status":"fixture_validator_ready","fixtureOnly":true,"validatorCommand":"npm run validate:report-derived-facts -- --family data-gap-transparency --example accepted --out-dir tmp/openai-analysis/report-derived-facts-preview/data-gap-transparency","artifactDirectory":"tmp/openai-analysis/report-derived-facts-preview/data-gap-transparency","sampleReviewArtifact":"sample-review.json","acceptedExampleSource":"fixture.acceptedDataGapTransparencySample","rejectedExampleSource":"fixture.rejectedDataGapTransparencySample","allowedReportIds":["report:laredo-source-coverage-digest:2026-05-20"],"allowedGapIds":["gap:cbp:bridge-ii-commercial-lane-status-unavailable:2026-05-20","gap:weather:airport-impact-not-provided:2026-05-20","gap:traffic:i-35-incident-feed-not-linked:2026-05-20"],"requiredChecks":["familyId is data-gap-transparency","gap items cite the fixture report ID plus allowlisted gap IDs","sample text states missing, unavailable, mismatch, or not-provided source coverage","sample text does not claim the gap is closed, published, persisted, billed, delivered, or source-enabled","publication, delivery, billing, grants, queues, source enablement, schedules, DB writes, and persistence remain false"],"writePolicy":{"mode":"fixture_only_no_write_sample_review","publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"databaseWritesPerformed":false,"persistencePerformed":false},"nextAction":"Inspect accepted sample-review output, then keep data-gap facts local-only until a separate publication or persistence approval gate exists."}],"writePolicy":{"mode":"read_only_operator_review","routeModelCallPerformed":false,"publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"databaseWritesPerformed":false,"persistencePerformed":false},"allowedUse":"Operator review surface for deciding whether report-derived fact families deserve a later reporting panel, customer-facing field, or durable workflow.","blockedActions":["report publication","customer delivery","billing or settlement action","database writes","queue starts","source enablement","scheduled model work","key grants","report-derived fact persistence"],"nextAction":"Inspect this operator review route and local preview artifacts, then approve a separate persistence or publication gate only for fact families that pass review."}