{
  "admitted_passages": [],
  "agreement_probability": null,
  "disagreement_probability": null,
  "effective_independent_source_count": 0,
  "evidence_pipeline_sha256": "c2270bf08cb6e34a3f06f4d1e52cc40d91c1803656a20d99cf94c9fd13dd1de7",
  "forecast_id": "hormuz-stays-disrupted",
  "forecast_published_at": "2026-07-24T01:31:38.194794+00:00",
  "hypothesis_id": "hyp_7771ec75c61113c32575176e",
  "limitation": "The current source spans were frozen after the forecast lock, so they are published as retrospective citations but cannot influence or score the original decision. No narrative probability is inferred.",
  "method_version": "registered-concept-evidence-v1",
  "public_claims": [
    {
      "citation_passage_ids": [
        "passage:imo-evacuation-paused"
      ],
      "citation_status": "verified_retrospective_span",
      "claim_id": "imo-safety-pause",
      "missing_citation_passage_ids": [],
      "text": "The IMO said its evacuation process was paused because vessel and seafarer safety could no longer be assured."
    },
    {
      "citation_passage_ids": [
        "passage:kpler-crossings-down-70"
      ],
      "citation_status": "verified_retrospective_span",
      "claim_id": "kpler-traffic-drop",
      "missing_citation_passage_ids": [],
      "text": "Kpler reported average Hormuz crossings falling about 70%, from roughly 45 to 13 per day after conflict resumed."
    }
  ],
  "retrieval": {
    "candidate_count": 17,
    "passages": [
      {
        "aspect_matches": [
          "shipping traffic"
        ],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 106,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock"
        ],
        "entity_matches": [
          "Strait of Hormuz"
        ],
        "host_cluster_id": "host:imo.org",
        "name": "IMO — protection of vital shipping lanes",
        "origin_cluster_id": "origin:imo",
        "passage_id": "passage:imo-evacuation-paused",
        "passage_sha256": "fa41ec88c40cdbc8399e0c85e0ecf6f75539f75ab366b22f394ade7d37d13d25",
        "published_at": "2026-07-08T00:00:00Z",
        "query_token_overlap": 0.045455,
        "relevance_status": "verified",
        "retrieval_score": 0.856818,
        "source_class": "intergovernmental_primary_source",
        "source_id": "imo-hormuz-council-july-2026",
        "source_locator": "The evacuation plan",
        "stance": "supports",
        "stance_markers": {
          "opposes": [],
          "supports": [
            "evacuation process has been paused"
          ]
        },
        "syndication_cluster_id": "syndication:imo-hormuz-council-july-2026",
        "temporal_class": "current_state",
        "temporal_markers": [
          "has been paused"
        ],
        "text": "The evacuation process has been paused, as the safety of vessels and seafarers could no longer be assured.",
        "text_kind": "normalized_source_extract",
        "url": "https://www.imo.org/en/mediacentre/secretarygeneral/pages/update-to-council-137.aspx"
      },
      {
        "aspect_matches": [
          "shipping traffic"
        ],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 121,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock"
        ],
        "entity_matches": [
          "Strait of Hormuz"
        ],
        "host_cluster_id": "host:kpler.com",
        "name": "Kpler — Hormuz crossings down 70%",
        "origin_cluster_id": "origin:kpler",
        "passage_id": "passage:kpler-crossings-down-70",
        "passage_sha256": "ef9acace7fe312a3b7d2c8a253961444026bab673a5e1ac9a3ac186ab9cbe351",
        "published_at": "2026-07-23T00:00:00Z",
        "query_token_overlap": 0.045455,
        "relevance_status": "verified",
        "retrieval_score": 0.856818,
        "source_class": "external_research_source",
        "source_id": "kpler-hormuz-july-23-2026",
        "source_locator": "Opening and traffic comparison",
        "stance": "supports",
        "stance_markers": {
          "opposes": [],
          "supports": [
            "drop of about 70%"
          ]
        },
        "syndication_cluster_id": "syndication:kpler-hormuz-july-23-2026",
        "temporal_class": "current_state",
        "temporal_markers": [
          "fell from roughly 45 to 13"
        ],
        "text": "After the return to conflict, average Strait of Hormuz crossings fell from roughly 45 to 13 per day, a drop of about 70%.",
        "text_kind": "normalized_source_extract",
        "url": "https://www.kpler.com/blog/strait-of-hormuz-crossings-drop-70-as-tanker-traffic-shifts-almost-entirely-to-the-iranian-route"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 115,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:bankofengland.co.uk",
        "name": "Bank of England — upcoming events",
        "origin_cluster_id": "origin:bank-of-england",
        "passage_id": "passage:boe-july-meeting",
        "passage_sha256": "adcbf141dae0675c769c25685ed12bb67007d8d25022664cf6569d4fda6446c3",
        "published_at": "2026-07-17T00:00:00Z",
        "query_token_overlap": 0.136364,
        "relevance_status": "abstain",
        "retrieval_score": 0.020455,
        "source_class": "official_public_authority",
        "source_id": "boe-upcoming-events-july-2026",
        "source_locator": "27 to 31 July, Thursday 30 July",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:boe-upcoming-events-july-2026",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "Monetary Policy Summary and minutes of the Monetary Policy Committee meeting - July 2026. Thursday 30 July at 12pm.",
        "text_kind": "normalized_source_extract",
        "url": "https://www.bankofengland.co.uk/events/upcoming-events"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 108,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:boj.or.jp",
        "name": "Bank of Japan — 2026 meeting schedule",
        "origin_cluster_id": "origin:bank-of-japan",
        "passage_id": "passage:boj-july-meeting",
        "passage_sha256": "bf575f42bee5ccb67f68803f81d0301dff3dffdc135a73f501be1ca3688e58bc",
        "published_at": null,
        "query_token_overlap": 0.136364,
        "relevance_status": "abstain",
        "retrieval_score": 0.020455,
        "source_class": "official_public_authority",
        "source_id": "boj-meeting-calendar-2026",
        "source_locator": "2026 Date of MPM table",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:boj-meeting-calendar-2026",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "The Bank of Japan's July Monetary Policy Meeting is scheduled for Thursday July 30 and Friday July 31, 2026.",
        "text_kind": "normalized_source_extract",
        "url": "https://www.boj.or.jp/en/mopo/mpmsche_minu/"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 109,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:investor.atmeta.com",
        "name": "Meta — Q2 2026 results date",
        "origin_cluster_id": "origin:meta",
        "passage_id": "passage:meta-july-29-results",
        "passage_sha256": "edb3633e0359ce35c4ad56cd01117f2a273e0d59b2ba66f18d7dd9d15eea74a9",
        "published_at": "2026-07-14T00:00:00Z",
        "query_token_overlap": 0.090909,
        "relevance_status": "abstain",
        "retrieval_score": 0.013636,
        "source_class": "company_primary_source",
        "source_id": "meta-q2-2026-date",
        "source_locator": "Press release, first paragraph",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:meta-q2-2026-results",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "Meta's second quarter 2026 financial results will be released after market close on Wednesday, July 29, 2026.",
        "text_kind": "normalized_source_extract",
        "url": "https://investor.atmeta.com/investor-news/press-release-details/2026/Meta-to-Announce-Second-Quarter-2026-Results/default.aspx"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 120,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:news.microsoft.com",
        "name": "Microsoft — FY2026 Q4 earnings date",
        "origin_cluster_id": "origin:microsoft",
        "passage_id": "passage:microsoft-july-29-results",
        "passage_sha256": "8f1a2811b38bb7ae0cd9ce1f975b70e976a2cf7a5fb0984fd2052b2046661420",
        "published_at": "2026-07-08T00:00:00Z",
        "query_token_overlap": 0.090909,
        "relevance_status": "abstain",
        "retrieval_score": 0.013636,
        "source_class": "company_primary_source",
        "source_id": "microsoft-fy2026-q4-date",
        "source_locator": "Company News release, first paragraph",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:microsoft-fy2026-q4-date",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "Microsoft will publish fiscal year 2026 fourth-quarter financial results after market close on Wednesday, July 29, 2026.",
        "text_kind": "normalized_source_extract",
        "url": "https://news.microsoft.com/source/2026/07/08/microsoft-announces-quarterly-earnings-release-date-68/"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 77,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:ir.aboutamazon.com",
        "name": "Amazon — Q2 2026 earnings call",
        "origin_cluster_id": "origin:amazon",
        "passage_id": "passage:amazon-july-30-call",
        "passage_sha256": "cfc805a7acf028300ce4c62d753cca9d78e25ce80b64e88874fb428b974ac406",
        "published_at": null,
        "query_token_overlap": 0.045455,
        "relevance_status": "abstain",
        "retrieval_score": 0.006818,
        "source_class": "company_primary_source",
        "source_id": "amazon-q2-2026-date",
        "source_locator": "Event Details",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:amazon-q2-2026-results",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "Q2 2026 Amazon.com, Inc. Earnings Conference Call. July 30, 2026, 2:00 PM PT.",
        "text_kind": "normalized_source_extract",
        "url": "https://ir.aboutamazon.com/events/event-details/default.aspx"
      },
      {
        "aspect_matches": [],
        "capture_status": "retrospective_backfill",
        "captured_at": "2026-07-24T09:35:14Z",
        "char_end": 89,
        "char_start": 0,
        "decision_eligible": false,
        "decision_exclusion_reasons": [
          "captured_after_forecast_lock",
          "entity_or_aspect_verifier_abstained",
          "stance_classifier_abstained"
        ],
        "entity_matches": [],
        "host_cluster_id": "host:bea.gov",
        "name": "BEA — Personal Consumption Expenditures Price Index",
        "origin_cluster_id": "origin:bea",
        "passage_id": "passage:bea-pce-next-release",
        "passage_sha256": "bcec80e6b8daaa922e9ec32892cb755b9fe955c3a4faed2c33d092305d75092e",
        "published_at": "2026-06-25T00:00:00Z",
        "query_token_overlap": 0.045455,
        "relevance_status": "abstain",
        "retrieval_score": 0.006818,
        "source_class": "official_public_authority",
        "source_id": "bea-pce-index-june-2026",
        "source_locator": "Current Release",
        "stance": "abstain",
        "stance_markers": {
          "opposes": [],
          "supports": []
        },
        "syndication_cluster_id": "syndication:bea-pce-index-june-2026",
        "temporal_class": "abstain",
        "temporal_markers": [],
        "text": "The PCE price index current release was June 25, 2026; the next release is July 30, 2026.",
        "text_kind": "normalized_source_extract",
        "url": "https://www.bea.gov/data/personal-consumption-expenditures-price-index"
      }
    ],
    "relevance_abstention_count": 6,
    "relevance_verified_count": 2,
    "retrieved_count": 8,
    "top_k": 8
  },
  "retrospective_verified_passages": [
    {
      "aspect_matches": [
        "shipping traffic"
      ],
      "capture_status": "retrospective_backfill",
      "captured_at": "2026-07-24T09:35:14Z",
      "char_end": 106,
      "char_start": 0,
      "decision_eligible": false,
      "decision_exclusion_reasons": [
        "captured_after_forecast_lock"
      ],
      "entity_matches": [
        "Strait of Hormuz"
      ],
      "host_cluster_id": "host:imo.org",
      "name": "IMO — protection of vital shipping lanes",
      "origin_cluster_id": "origin:imo",
      "passage_id": "passage:imo-evacuation-paused",
      "passage_sha256": "fa41ec88c40cdbc8399e0c85e0ecf6f75539f75ab366b22f394ade7d37d13d25",
      "published_at": "2026-07-08T00:00:00Z",
      "query_token_overlap": 0.045455,
      "relevance_status": "verified",
      "retrieval_score": 0.856818,
      "source_class": "intergovernmental_primary_source",
      "source_id": "imo-hormuz-council-july-2026",
      "source_locator": "The evacuation plan",
      "stance": "supports",
      "stance_markers": {
        "opposes": [],
        "supports": [
          "evacuation process has been paused"
        ]
      },
      "syndication_cluster_id": "syndication:imo-hormuz-council-july-2026",
      "temporal_class": "current_state",
      "temporal_markers": [
        "has been paused"
      ],
      "text": "The evacuation process has been paused, as the safety of vessels and seafarers could no longer be assured.",
      "text_kind": "normalized_source_extract",
      "url": "https://www.imo.org/en/mediacentre/secretarygeneral/pages/update-to-council-137.aspx"
    },
    {
      "aspect_matches": [
        "shipping traffic"
      ],
      "capture_status": "retrospective_backfill",
      "captured_at": "2026-07-24T09:35:14Z",
      "char_end": 121,
      "char_start": 0,
      "decision_eligible": false,
      "decision_exclusion_reasons": [
        "captured_after_forecast_lock"
      ],
      "entity_matches": [
        "Strait of Hormuz"
      ],
      "host_cluster_id": "host:kpler.com",
      "name": "Kpler — Hormuz crossings down 70%",
      "origin_cluster_id": "origin:kpler",
      "passage_id": "passage:kpler-crossings-down-70",
      "passage_sha256": "ef9acace7fe312a3b7d2c8a253961444026bab673a5e1ac9a3ac186ab9cbe351",
      "published_at": "2026-07-23T00:00:00Z",
      "query_token_overlap": 0.045455,
      "relevance_status": "verified",
      "retrieval_score": 0.856818,
      "source_class": "external_research_source",
      "source_id": "kpler-hormuz-july-23-2026",
      "source_locator": "Opening and traffic comparison",
      "stance": "supports",
      "stance_markers": {
        "opposes": [],
        "supports": [
          "drop of about 70%"
        ]
      },
      "syndication_cluster_id": "syndication:kpler-hormuz-july-23-2026",
      "temporal_class": "current_state",
      "temporal_markers": [
        "fell from roughly 45 to 13"
      ],
      "text": "After the return to conflict, average Strait of Hormuz crossings fell from roughly 45 to 13 per day, a drop of about 70%.",
      "text_kind": "normalized_source_extract",
      "url": "https://www.kpler.com/blog/strait-of-hormuz-crossings-drop-70-as-tanker-traffic-shifts-almost-entirely-to-the-iranian-route"
    }
  ],
  "schema_version": "1.0.0",
  "stance_counts": {
    "abstain": 0,
    "mixed": 0,
    "opposes": 0,
    "supports": 0
  },
  "status": "abstained_no_prepublication_directional_passages"
}
