{"schemaVersion":"agent-resource-catalog.v1","lastUpdated":"2026-06-19","productRule":"Free no-key access is limited to published reports, report feeds, manifests, discovery pages, and current public crossing pages. Paid/scoped resources are compact cited evidence packets, historical analytics, parsed exports, routing context, caveated raw context, or reviewed watch scopes. Claim-bearing output requires cited report text, cited packet evidence, saved source_ref claim policy, or replay claim guidance inside the returned scope.","resources":[{"id":"agent.evidence.retrieve","resourceId":"agent.evidence.retrieve","name":"Agent evidence packet","resourceType":"evidence_packet","unitPriceUsd":"0.00059","startingPriceUsd":"0.00059","displayPrice":"$0.00059","unit":"request","billingUnit":"usage","endpoint":"POST /v1/evidence/request","compatibleEndpoint":"POST /v1/agents/request","x402Endpoint":"POST /public/x402/agents/request","description":"Compact retrieval packet for one scoped freight or Border Pulse question.","freshnessSla":"Packet includes generated time, cache status, source timestamps, and source-quality profile when source facts are returned.","evidenceContract":["stable evidence IDs returned with every claim-bearing packet","source_ref parser provenance, source timestamps, validity bounds, and citations preserved","per-fact claim guidance controls whether rows are claim-bearing or context-only","candidate windows remain internal unless explicitly approved","x402 served billing event means packet delivery returned 2xx/3xx"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["source facts","source-run freshness","packet evidence links"],"deliveryChannels":["account API key","24h transaction key","direct x402 USDC endpoint","packet replay"],"accountKeyStatus":"live","transactionKeyStatus":"live","x402Status":"direct_endpoint","status":"live"},{"id":"agent.evidence.answer","resourceId":"agent.evidence.answer","name":"Grounded answer packet","resourceType":"answer_packet","unitPriceUsd":"0.00059","startingPriceUsd":"0.00059","displayPrice":"$0.00059","unit":"request","billingUnit":"usage","endpoint":"POST /v1/evidence/request","compatibleEndpoint":"POST /v1/agents/request","x402Endpoint":null,"description":"Answer-mode packet with cited source context for keyed agents.","freshnessSla":"Same packet freshness contract as retrieval; model wording must stay grounded in returned evidence.","evidenceContract":["answer output must cite returned evidence","source_ref provenance remains visible in replay before answer wording is reused","unsupported causal language rejected by candidate validators","account/key replay remains available through /v1/packets"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["source facts","retrieval context","packet evidence links"],"deliveryChannels":["account API key","24h transaction key","packet replay"],"accountKeyStatus":"live","transactionKeyStatus":"live","x402Status":"account_or_transaction_only","status":"live"},{"id":"map.snapshot","resourceId":"map.snapshot","name":"Map evidence snapshot","resourceType":"map_snapshot","unitPriceUsd":"0.00059","startingPriceUsd":"0.00059","displayPrice":"$0.00059","unit":"snapshot","billingUnit":"usage","endpoint":"GET /v1/map/snapshot","x402Endpoint":null,"description":"Scoped map payload for source-fact-ready waits/alerts plus caveated raw-current aircraft, vessels, gauges, and source health.","freshnessSla":"Layer freshness and mapped/unmapped counts are returned by /v1/map/health and snapshot metadata.","evidenceContract":["bbox and zoom scope the payload","source-health status remains separate from visual rendering","map is investigation surface, not persistence approval"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["border waits","traffic events","weather alerts","map layer freshness"],"deliveryChannels":["account API key","24h transaction key"],"accountKeyStatus":"live","transactionKeyStatus":"live","x402Status":"account_or_transaction_only","status":"live"},{"id":"report.export","resourceId":"report.export","name":"Report/export package","resourceType":"report_export","unitPriceUsd":"0.00059","startingPriceUsd":"0.00059","displayPrice":"$0.00059","unit":"export","billingUnit":"usage","endpoint":"GET /public/reports","x402Endpoint":null,"description":"One generated report/export packet with cited source-fact-ready claims and caveated raw context where entitlement permits.","freshnessSla":"Report freshness follows report generated_at and source snippets embedded in the packet.","evidenceContract":["public snippets remain free where published","entitled report bodies keep structured metadata and value signals","future exports must preserve evidence IDs and keep raw-only context caveated"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["published reports","report metadata","source snippets"],"deliveryChannels":["account API key","account portal","RSS where entitled"],"accountKeyStatus":"preview","transactionKeyStatus":"preview","x402Status":"account_or_transaction_only","status":"preview"},{"id":"border_pulse.watch_scope.laredo","resourceId":"border_pulse.watch_scope.laredo","name":"Laredo Border Pulse","resourceType":"watch_scope","unitPriceUsd":"199.00","startingPriceUsd":"199.00","displayPrice":"$199/month","unit":"month","billingUnit":"subscription","endpoint":"GET /public/border-pulse/watch-scopes","x402Endpoint":null,"description":"What threatens my Laredo freight today, and what evidence backs it?","freshnessSla":"Confirm coverage, source freshness, and account delivery preferences before customer delivery.","evidenceContract":["sourceQuality must be clean before reviewed alerting","evidence coverage must equal 1 with no missing IDs","claims must cite reviewed source-fact IDs","likely driver stays contextual unless source facts prove causality","persistence approval remains separate from public proof"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["CBP border waits","border anomalies","NWS/weather alerts","traffic events","source-run freshness","reviewed packet history"],"deliveryChannels":["account packet replay","email/private RSS","webhook for commercial plans","agent evidence API","public proof artifact when reviewed"],"accountKeyStatus":"live","transactionKeyStatus":"not_applicable","x402Status":"not_applicable","status":"commercial_ready"},{"id":"border_pulse.watch_scope.priority_custom_review","resourceId":"border_pulse.watch_scope.priority_custom_review","name":"Priority Border Pulse custom review","resourceType":"watch_scope","unitPriceUsd":"0.00","startingPriceUsd":"0.00","displayPrice":"custom quote","unit":"review","billingUnit":"subscription","endpoint":"GET /public/border-pulse/watch-scopes","x402Endpoint":null,"description":"Custom-review intake for San Ysidro, Otay Mesa, and high-traffic Texas lanes before pricing, delivery, or claim-bearing expansion.","freshnessSla":"Review current watch-scope queue, source gaps, source-fact health, and package approvals before any customer delivery.","evidenceContract":["priority request scopes must name explicit crossing or bridge aliases","San Ysidro, Otay Mesa, and high-traffic Texas lanes stay visible beside the listed Laredo package","source gaps and context-only rows must be disclosed before quote or delivery","claim-bearing use requires cited packet evidence or saved source_ref claim policy","custom review opens no billing, source enablement, model calls, queues, grants, or persistence"],"claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"replayGuardrails":{"usePacketDetail":true,"requiredDetailEndpoint":"/v1/packets/{packetId}","replayEndpoint":"GET /v1/packets/:packetId","claimPolicy":{"claimBearingEvidence":"cited report text, cited packet evidence, saved source_ref claim policy, or replay claimBearing/claimGuidance inside returned evidence scope","citedReportEvidence":"published reports may carry claims only inside report citation, timestamp, and stated caveats","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless packet claim_guidance or replay claimGuidance says otherwise","requiredForClaims":["POST packet: evidence_id, claim_bearing, claim_guidance, evidence_mode, source_ref when available","packet replay: evidenceId, claimBearing, claimGuidance, evidenceMode/sourceRef when available"],"packetEvidenceFields":["evidence_id","claim_bearing","claim_guidance","evidence_mode","source_ref"],"replayEvidenceFields":["evidenceId","claimBearing","claimGuidance","evidenceMode","sourceRef"],"sourceRefFields":["source_table","source_pk","evidence_mode","valid_from","valid_to","claim_bearing","claim_guidance"],"sourceHealthEndpoint":"GET /v1/sources","sourceHealthPreflight":["read top-level sourceClaimAudit before broad source-level claims","check sourceClaimAudit.claimPolicy.sourceHealthPreflight and nextAction","check /v1/sources claimBearing=true before broad source-level claims","check sourceFactHealth.total > 0 before broad source-level claims","check sourceFactHealth.claimBearingPolicyRows > 0 before broad source-level claims","check sourceClaimAudit.rawCurrentContextOnlyCount, nonLiveSourceCount, staleLiveSourceCount, and noRowSourceCount","check sourceFactHealth.missingClaimPolicyRows before trusting broad source readiness","check sourceFactHealth.parserLagHours and maxParserLagHours before current-source claims","check sourceFactHealth.futureEventsBeyond7d before current road/source claims","check pendingEmbeddings and failedEmbeddings before relying on semantic retrieval alone","check degraded-run claimWarnings before trusting source-run freshness","treat claimWarnings as stronger than generic freshness or catalog copy"],"causalLanguageRule":"do not assert causality unless returned evidence proves causality"},"listRowsAre":"replay_pointers_not_claim_proof","requiredForClaimBearing":["evidenceId","timestamp","citation","claimBearing=true","claimGuidance","sourceRef parser provenance when available"],"sourceRefFields":["fact_id","source_table","source_pk","fact_kind","evidence_mode","claim_bearing","claim_guidance","valid_from","valid_to"],"sourceHealthPreflight":{"endpoint":"/v1/sources","fields":["claimBearing","sourceFactHealth.total","sourceFactHealth.claimBearingPolicyRows","sourceFactHealth.missingClaimPolicyRows","sourceFactHealth.parserLagHours","sourceFactHealth.maxParserLagHours","sourceFactHealth.futureEventsBeyond7d","pendingEmbeddings","failedEmbeddings","degraded-run claimWarnings","claimWarnings"]},"embeddingPolicy":"Semantic retrieval uses only hash-current embedded facts; pending or failed embeddings require deterministic fallback or direct evidence review.","retrievalMetadata":"Packet replay may include retrievalMetadata.sourceFacts.method=semantic_hash_current or deterministic_fallback plus fallbackReason and hashCurrentOnly.","causalLanguageRule":"Do not assert causality unless returned evidence proves the causal link; co-occurrence stays contextual overlap.","contextOnlyRows":"raw-current, stale, no-row, scheduled, planned, retired, unknown, inactive, future, parser-lagged, parser-incomplete, degraded-run, or embedding-backlog rows stay context only unless replay claimGuidance says otherwise","borderPulsePriorityContext":{"schemaVersion":"border-pulse-priority-context.v1","listedPackagePath":"laredo","priorityCoverageAreas":["San Ysidro","Otay Mesa","high-traffic Texas lanes"],"guidance":"Laredo is one listed package path, not the whole product boundary. Treat San Ysidro, Otay Mesa, and high-traffic Texas lanes as priority coverage/custom-review areas.","claimBoundary":"Priority status does not make a source claim-bearing. Broad source-level claims still require sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and packet evidence IDs or saved source_ref claim policy."},"nextAction":"Fetch packet detail and inspect evidenceId, claimBearing, claimGuidance, evidenceMode, sourceRef, replayAudit, and sourceFactParserPolicy before quoting claims."},"requiredSourceFamilies":["CBP border waits","SANDAG border waits","border anomalies","NWS/weather alerts or weather observations","California/Baja road or alert context","source-run freshness","TTI BCIS lane context where available","Texas road or alert context"],"deliveryChannels":["custom review","account delivery after approval","agent API after approval"],"accountKeyStatus":"preview","transactionKeyStatus":"not_applicable","x402Status":"not_applicable","status":"preview"}],"commerceClaimPolicy":{"schemaVersion":"agent-commerce-readback-claim-policy.v1","claimBearing":false,"evidenceMode":"commerce_status_readback_context","sourceHealthPreflight":"Agent resource, demo-key, billing, checkout, portal, and x402 status readbacks are pricing/access context only. Claim-bearing source use requires sourceClaimAudit review, /v1/sources claimBearing=true, sourceFactHealth.total > 0, sourceFactHealth.claimBearingPolicyRows > 0, sourceFactHealth.parserLagHours within sourceFactHealth.maxParserLagHours, sourceFactHealth.futureEventsBeyond7d=0 for current road claims, no pending/failed embedding backlog for semantic-only claims, no degraded-run caveats, no blocking claimWarnings, and cited packet/report evidence or saved source_ref claim policy.","contextOnlyRows":"Resource catalog rows, prices, checkout URLs, portal URLs, settlement readiness, disabled demo access, transaction-key policy, x402 requirements, billing configuration, watch-scope price labels, no-row package states, planned resources, preview resources, parser-lagged rows, embedding-backlog rows, degraded-run rows, and unavailable settlement paths stay context only.","noRowPolicy":"Missing resources, disabled x402, disabled demo issuance, missing pay-to address, unsupported payment state, unsupported checkout tier, failed portal session, or empty package readiness means no approved source evidence, source currentness proof, source quality proof, customer receipt, delivery, billing, account grant, durable key grant, or settlement action exists from that readback.","plannedFutureRule":"Planned, preview, custom-review, inactive, source-gap, parser-incomplete, and recovery-gated resources must stay non-current or context-only until cited packet/report evidence and operator approval prove claim-bearing use.","noCausalityRule":"Pricing, access, checkout, portal, billing, settlement, or demo-key readiness never proves source conditions, source currentness, source quality, customer receipt, account entitlement, grant creation, or causality."},"borderPulsePackageReadiness":{"schemaVersion":"border-pulse-buyer-readiness-summary.v1","status":"ready_for_buyer_triage","packageCount":4,"commercialReadyPackageIds":["border-pulse:laredo:pilot"],"privateQuotePackageIds":["border-pulse:otay-mesa:private-source-pack","border-pulse:detroit-windsor:private-source-pack"],"notYetPricedPackageIds":["border-pulse:otay-mesa:expansion-checkpoint"],"listedPricePackages":[{"packageId":"border-pulse:laredo:pilot","pricingStatus":"pilot_price_listed","price":"$199/month"}],"quoteRequiredPackages":[{"packageId":"border-pulse:otay-mesa:private-source-pack","pricingStatus":"private_quote_required","quoteStatus":"private_quote_required"},{"packageId":"border-pulse:detroit-windsor:private-source-pack","pricingStatus":"private_quote_required","quoteStatus":"private_quote_required"}],"commercialNextAction":"Choose the listed Laredo service where it fits with MVE/USMCA policy-watch context; route San Ysidro, Otay Mesa, Texas lanes, Detroit/Windsor, and other priority crossings through custom review while source coverage remains under review.","priceQuoteStatus":"Laredo has a listed $199/month service. Otay Mesa and Detroit/Windsor require custom quote review. Otay Mesa planned coverage is not yet priced.","coverageIndexEndpoint":"GET /public/border-pulse/coverage","packageIndexEndpoint":"GET /public/border-pulse/packages","surfaceProof":{"schemaVersion":"border-pulse-package-surface-proof.v1","verifiedAt":"2026-06-01T23:37:30Z","verificationScope":"buyer_ready_package_proof_goal_surfaces","sourceCommit":"259fe5e","surfaces":[{"surface":"/border-pulse","route":"GET /border-pulse","proofLocation":"shared package readiness panel","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/agents","route":"GET /agents","proofLocation":"shared package readiness panel and agent resource links","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/portal/account","route":"GET /portal/account","proofLocation":"server-rendered package readiness panel before account usage panels","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/public/account/overview","route":"GET /public/account/overview","proofLocation":"accountReplayReadiness.packageLedger","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/public/border-pulse/packages","route":"GET /public/border-pulse/packages","proofLocation":"buyerReadinessSummary","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/public/border-pulse/coverage","route":"GET /public/border-pulse/coverage","proofLocation":"buyerReadinessSummary buyer-facing coverage alias","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/docs","route":"GET /docs","proofLocation":"package readiness section","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/ai.txt","route":"GET /ai.txt","proofLocation":"Border Pulse Package Readiness block","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true},{"surface":"/llms.txt","route":"GET /llms.txt","proofLocation":"Border Pulse Package Readiness block","exposesPackageReadiness":true,"exposesPriceQuoteStatus":true,"exposesBlockedActions":true,"exposesNextOperatorAction":true}],"blockedActionsRemainClosed":["delivery","billing","grants","queues","source enablement","scheduled model work","database writes","persistence"],"nextVerification":"Use this JSON proof before text scraping; refresh verifiedAt and sourceCommit after the next deployed route check."},"packageProof":[{"packageId":"border-pulse:laredo:pilot","packageName":"Laredo Border Pulse","status":"commercial_ready","pricingStatus":"pilot_price_listed","price":"$199/month","reviewPacketHash":"candidate-review:laredo_border_waits:a5217c2caa41","evidenceFactCount":14,"detailEndpoint":"GET /public/border-pulse/packages/border-pulse%3Alaredo%3Apilot","operatorSummaryEndpoint":"GET /public/border-pulse/packages/border-pulse%3Alaredo%3Apilot/operator-summary","blockedActions":["feature-window persistence","gemma candidate persistence","candidate persistence without verifier approval","customer delivery without refreshed preview/smoke","openai_responses_call_without_explicit_key_spend_scope"],"nextAction":"Use the listed Laredo service where it fits, confirm delivery preferences, and keep San Ysidro, Otay Mesa, Texas lanes, and other priority crossings in custom review."},{"packageId":"border-pulse:otay-mesa:expansion-checkpoint","packageName":"Otay Mesa / San Diego Expansion Checkpoint","status":"review_smoke_passed","pricingStatus":"not_yet_priced","price":null,"reviewPacketHash":"candidate-review:otay_mesa_border_waits:39906d675922","evidenceFactCount":16,"detailEndpoint":"GET /public/border-pulse/packages/border-pulse%3Aotay-mesa%3Aexpansion-checkpoint","operatorSummaryEndpoint":"GET /public/border-pulse/packages/border-pulse%3Aotay-mesa%3Aexpansion-checkpoint/operator-summary","blockedActions":["commercial package without road-event context","customer delivery","feature-window persistence","gemma candidate persistence","candidate persistence"],"nextAction":"Keep Otay Mesa planned coverage under review until California/Baja road-event context is ready."},{"packageId":"border-pulse:otay-mesa:private-source-pack","packageName":"Otay Mesa Private Source Pack Review","status":"ready_for_private_package_review","pricingStatus":"private_quote_required","price":null,"reviewPacketHash":"candidate-review:otay_mesa_border_waits:39906d675922","evidenceFactCount":16,"detailEndpoint":"GET /public/border-pulse/packages/border-pulse%3Aotay-mesa%3Aprivate-source-pack","operatorSummaryEndpoint":"GET /public/border-pulse/packages/border-pulse%3Aotay-mesa%3Aprivate-source-pack/operator-summary","blockedActions":["database writes","queue starts","feed fetches","model calls from this route","feature-window persistence","gemma candidate persistence","candidate persistence","customer delivery without package approval"],"nextAction":"Use custom Otay Mesa review and disclose current California/Baja road-event coverage limits before delivery."},{"packageId":"border-pulse:detroit-windsor:private-source-pack","packageName":"Detroit / Windsor Private Source Pack Review","status":"ready_for_private_package_review","pricingStatus":"private_quote_required","price":null,"reviewPacketHash":"candidate-review:detroit_windsor_border_waits:305231151f2c","evidenceFactCount":20,"detailEndpoint":"GET /public/border-pulse/packages/border-pulse%3Adetroit-windsor%3Aprivate-source-pack","operatorSummaryEndpoint":"GET /public/border-pulse/packages/border-pulse%3Adetroit-windsor%3Aprivate-source-pack/operator-summary","blockedActions":["database writes","queue starts","feed fetches","model calls from this route","feature-window persistence","gemma candidate persistence","candidate persistence","customer delivery without package approval"],"nextAction":"Use custom Detroit/Windsor review and disclose current Michigan road-event coverage limits before delivery."}],"policyWatchProofSummary":{"schemaVersion":"border-pulse-package-policy-watch-summary.v1","packageId":"border-pulse:laredo:pilot","status":"ready_for_manual_openai_gate","analysisKind":"laredo_policy_watch","evidenceIds":["candidate-review:laredo_border_waits:a5217c2caa41","policy:mexico-mve:2026-06-01","policy:usmca-review:2026-07-01"],"policyWatchDates":[{"label":"Mexico MVE enforcement","effectiveDate":"2026-06-01","evidenceId":"policy:mexico-mve:2026-06-01"},{"label":"USMCA joint review milestone","effectiveDate":"2026-07-01","evidenceId":"policy:usmca-review:2026-07-01"}],"runtimeGate":{"openaiAnalysisEnabled":false,"callPerformed":false,"scheduled":false,"store":false,"apiKeyRequired":true},"blockedActions":["openai_responses_call_without_explicit_key_spend_scope","scheduled_openai_analysis","customer delivery","billing or settlement action","database writes","queue starts","source enablement","feature-window persistence","candidate persistence"],"nextAction":"Use preview and validator proof in Laredo activation review; run one manual OpenAI call only after Jeff opens API key and spend scope."},"pressBriefingPreviewSummary":{"schemaVersion":"border-pulse-package-press-briefing-preview.v1","packageId":"border-pulse:laredo:pilot","status":"attachment_path_selected","attachmentPath":"laredo_activation_operator_summary","artifactDirectory":"tmp/openai-analysis/biweekly-press-briefing-preview","latestLocalArtifactStatus":"request_preview_ready","reportCount":8,"model":"gpt-5.5","tier":"strategic","store":false,"callPerformedByRoute":false,"publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"persistencePerformed":false,"scheduled":false,"blockedActions":["report publication","customer delivery","billing or settlement action","database writes","queue starts","source enablement","scheduled model work","key grants"],"nextAction":"Use Laredo activation preview and operator summary as the no-write attachment path; keep the briefing artifact local until a separate publication approval gate exists."},"reportDerivedFactPreviewSummary":{"schemaVersion":"dunvale-report-derived-facts-preview.v1","packageId":"border-pulse:laredo:pilot","status":"preview_contract_ready","operatorReviewEndpoint":"GET /public/border-pulse/report-derived-facts/operator-review","operatorReviewStatus":"ready_for_no_write_operator_review","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."}],"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."},"factFamilyIds":["wait-volatility-ops","risk-overlay-weather-aviation","trade-compliance-evidence","data-gap-transparency"],"factFamilyCount":4,"previewRuntime":{"routeModelCallPerformed":false,"publicationPerformed":false,"deliveryPerformed":false,"billingPerformed":false,"grantsPerformed":false,"queuesStarted":false,"sourceEnablementPerformed":false,"scheduled":false,"persistencePerformed":false,"databaseWritesPerformed":false},"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":"Run the report-derived facts preview, inspect fact-family coverage, then open a separate approval gate only if Grafana panels or buyer packets need durable rows."},"blockedExecutionActions":["database writes","queue starts","feed fetches","model calls","feature-window persistence","gemma candidate persistence","candidate persistence","customer delivery","billing or settlement action"],"nextOperatorAction":"Use the commercial options page to choose the listed Laredo service where it fits, request custom review for San Ysidro, Otay Mesa, Texas lanes, Detroit/Windsor, or route another priority crossing before account setup.","writePolicy":{"writesPerformed":false,"persistenceStatus":"closed","blockedActions":["database writes","queue starts","feed fetches","model calls","feature-window persistence","gemma candidate persistence","candidate persistence","customer delivery","billing or settlement action"]},"laredoBuyerPacketEndpoint":"GET /public/border-pulse/buyer-packets/laredo"},"settlement":{"accountKeys":"live","transactionKeys":"live","x402":"direct_usdc_agent_endpoint_configured","x402Endpoint":"/public/x402/agents/request","x402StatusEndpoint":"/public/x402/agents/status","x402Configured":true,"network":"eip155:84532","currency":"USDC","directX402Resources":["agent.evidence.retrieve"]},"publicAccessPolicy":{"schemaVersion":"agent-public-access-policy.v1","freeNoKey":"Published reports, public report feeds, product/about manifests, discovery pages, and current public crossing pages.","scopedOrPaid":"Historical wait/volume analytics, parsed exports, routing geometry, traffic/weather feature windows, raw rows, packet replay, map snapshots, and agent evidence packets.","browserPolicy":"Do not place Dunvale bearer keys or historical-data routes in browser code. Use server-side keys, x402 settlement, account portals, or internal local integrations."},"relatedEndpoints":["/public/billing/x402/status","/public/x402/agents/status","/public/border-pulse/watch-scopes","/public/border-pulse/packages","/public/border-pulse/coverage","/public/border-pulse/buyer-packets/laredo","/public/border-pulse/report-derived-facts/operator-review","/public/border-analytics/ports","/public/border-analytics/lane-normalization","/public/border-analytics/waits/aggregate","/public/border-analytics/volumes/series","/public/border-analytics/samples","/v1/border-analytics/waits/border-times-export","/v1/evidence/request","/v1/agents/request","/v1/packets","/v1/border-analytics/waits/raw"]}