{
  "changes": {},
  "data_quality_todos": [
    {
      "category": "manual_review",
      "detail": "Netherlands \u2013 Measuring instruments \u2013 European Open Tender for a Vector Network Analyzer: manual review required before recommendation can be trusted."
    },
    {
      "category": "manual_review",
      "detail": "Poland \u2013 Laboratory reagents \u2013 62/PN/2026- Dostawa zestaw\u00f3w odczynnikowych do oznacze\u0144 metod\u0105 immunochemiluminescencji wraz z dzier\u017caw\u0105 analizator\u00f3w dla Laboratori\u00f3w UCK.: manual review required before recommendation can be trusted."
    },
    {
      "category": "manual_review",
      "detail": "Finland \u2013 Firefighting, rescue and safety equipment \u2013 V\u00c4EST\u00d6H\u00c4LYTTIMIEN KAIUTINPATTERISTOJEN HANKINTA VUOSINA 2026-2028: manual review required before recommendation can be trusted."
    },
    {
      "category": "manual_review",
      "detail": "Romania \u2013 Filter paper \u2013 \u201dAchizi\u021bie consumabile de laborator\u201d Lotul I \u0219i Lotul II: manual review required before recommendation can be trusted."
    },
    {
      "category": "manual_review",
      "detail": "France \u2013 Mass spectrometer \u2013 Acquisition d'un spectrom\u00e8tre de masse haute r\u00e9solution MALDI-TOF/TOF pour l'Institut de Chimie de Toulouse: manual review required before recommendation can be trusted."
    }
  ],
  "driver_join": {
    "candidates_total": 121,
    "candidates_with_basket_hint": 121,
    "generated_at": "2026-04-08T16:50:38.154323+00:00",
    "inputs": {
      "alias_map_path": "configs/joins/basket_aliases.yaml",
      "candidates_paths": [
        "data/weekly/ted_candidates_2026-04-08.json",
        "data/weekly/doe_candidates_2026-04-08.json"
      ],
      "driver_pressure_path": "data/weekly/pm_driver_pressure_2026-04-08.json",
      "hint_map_path": "configs/polymarket/basket_hint_map.yml"
    },
    "join_rate": 1.0,
    "join_rate_threshold": 0.2,
    "joined_rows": 121,
    "matched_tenders": 121,
    "missing_input_paths": [],
    "ok": true,
    "pressure_r2_keys": [],
    "pressure_rows_total": 4,
    "pressure_source": "override",
    "reasons": {
      "canon_mismatch": 118,
      "missing_basket_hint": 0,
      "missing_in_pressure": 0,
      "pressure_missing": 0
    },
    "run_date": "2026-04-08",
    "sample_failed_keys": [],
    "status": "OK",
    "top_drivers": [
      {
        "basket_name": "europe_escalation",
        "headroom": 0.0,
        "oi_raw": 8258511.4964
      },
      {
        "basket_name": "sanctions_export_controls",
        "headroom": 0.0,
        "oi_raw": 6144823.8821
      },
      {
        "basket_name": "aviation_security",
        "headroom": 0.0,
        "oi_raw": 64264.9166
      }
    ]
  },
  "driver_radar": [
    {
      "basket_name": "europe_escalation",
      "headroom_delta_7d": null,
      "headroom_oi_weighted": 1.0,
      "oi_percentile": 1.0,
      "oi_raw": 8258511.4964,
      "quadrant": "Act now"
    },
    {
      "basket_name": "sanctions_export_controls",
      "headroom_delta_7d": null,
      "headroom_oi_weighted": 0.9318,
      "oi_percentile": 0.6667,
      "oi_raw": 6144823.8821,
      "quadrant": "Low urgency"
    },
    {
      "basket_name": "aviation_security",
      "headroom_delta_7d": null,
      "headroom_oi_weighted": 0.1179,
      "oi_percentile": 0.3333,
      "oi_raw": 64264.9166,
      "quadrant": "Ignore"
    }
  ],
  "drivers": [
    {
      "basket_name": "europe_escalation",
      "basket_oi_sum": 8258511.496415,
      "basket_pressure": 1.0,
      "top_markets": [
        {
          "condition_id": "0xaeea5f917fc5746387b5f9c0a4263dba035dbb3f0ac6ad72bf92183d21e26739",
          "market": "0xaeea5f917fc5746387b5f9c0a4263dba035dbb3f0ac6ad72bf92183d21e26739",
          "oi": 5044693.041904,
          "value": 5044693.041904
        },
        {
          "condition_id": "0x6bd56627aa21311850825edb27e53434a0e17a4f782be0086bc07f71eee00d0d",
          "market": "0x6bd56627aa21311850825edb27e53434a0e17a4f782be0086bc07f71eee00d0d",
          "oi": 1640257.541242,
          "value": 1640257.541242
        },
        {
          "condition_id": "0x51f624dbbf14f9edb575fef1be6f7a303751de70783fa144fce27b957452c803",
          "market": "0x51f624dbbf14f9edb575fef1be6f7a303751de70783fa144fce27b957452c803",
          "oi": 901950.619453,
          "value": 901950.619453
        },
        {
          "condition_id": "0x1d54eb5eac2cee8f595f3097c65da7d07f8ab5dee63d7c0c6883eb70e1e9af30",
          "market": "0x1d54eb5eac2cee8f595f3097c65da7d07f8ab5dee63d7c0c6883eb70e1e9af30",
          "oi": 345313.293922,
          "value": 345313.293922
        },
        {
          "condition_id": "0x495e6b49e7397bb4e6f8ce69e246ccb33b744678bd9bf88cbecbd3a113b05423",
          "market": "0x495e6b49e7397bb4e6f8ce69e246ccb33b744678bd9bf88cbecbd3a113b05423",
          "oi": 266290.464645,
          "value": 266290.464645
        }
      ]
    },
    {
      "basket_name": "sanctions_export_controls",
      "basket_oi_sum": 6144823.882057,
      "basket_pressure": 0.9494,
      "top_markets": [
        {
          "condition_id": "0xd9fb1184af0064e5e34b129f5b79afa5a17b7e32f2953ab05efed82315fee6d4",
          "market": "0xd9fb1184af0064e5e34b129f5b79afa5a17b7e32f2953ab05efed82315fee6d4",
          "oi": 5086953.261278,
          "value": 5086953.261278
        },
        {
          "condition_id": "0x4c80df6f557bb0b9de08c0301ebdce500dd9bdc58400d9269fb8fab1709ed584",
          "market": "0x4c80df6f557bb0b9de08c0301ebdce500dd9bdc58400d9269fb8fab1709ed584",
          "oi": 484494.844166,
          "value": 484494.844166
        },
        {
          "condition_id": "0xb215decbedd846168842f6e207f09bd5f50ce51d2191f238887d976ec21b6f66",
          "market": "0xb215decbedd846168842f6e207f09bd5f50ce51d2191f238887d976ec21b6f66",
          "oi": 397673.928503,
          "value": 397673.928503
        },
        {
          "condition_id": "0x4bd2d6744cfb40bd33520963069947643140e9facccec0b44d1e61944aa96997",
          "market": "0x4bd2d6744cfb40bd33520963069947643140e9facccec0b44d1e61944aa96997",
          "oi": 115043.449716,
          "value": 115043.449716
        },
        {
          "condition_id": "0xffff6c984d7adab19e799c46d1a478d5ab6483479b41f9639d04617f07a8bab0",
          "market": "0xffff6c984d7adab19e799c46d1a478d5ab6483479b41f9639d04617f07a8bab0",
          "oi": 27088.554435,
          "value": 27088.554435
        }
      ]
    },
    {
      "basket_name": "aviation_security",
      "basket_oi_sum": 64264.916575,
      "basket_pressure": 0.1696,
      "top_markets": [
        {
          "condition_id": "0x6e7f9ca2cf14c89b5c43186b391636fe3257b6e54561af8435690c8e558a7739",
          "market": "0x6e7f9ca2cf14c89b5c43186b391636fe3257b6e54561af8435690c8e558a7739",
          "oi": 24545.03993,
          "value": 24545.03993
        },
        {
          "condition_id": "0x1a65d4eb8ac985309e78b48906291fffbf137cee590d8d75365f77a0549e9ab9",
          "market": "0x1a65d4eb8ac985309e78b48906291fffbf137cee590d8d75365f77a0549e9ab9",
          "oi": 20776.708341,
          "value": 20776.708341
        },
        {
          "condition_id": "0x7f6dadade6357d3ce6681860d002bd3521554aba8b5acda912917b3db41c9549",
          "market": "0x7f6dadade6357d3ce6681860d002bd3521554aba8b5acda912917b3db41c9549",
          "oi": 9968.645595,
          "value": 9968.645595
        },
        {
          "condition_id": "0x0a1b551058f78174cf64ed9d61edb103a76c4df88232ee1188dbc9e390896e7d",
          "market": "0x0a1b551058f78174cf64ed9d61edb103a76c4df88232ee1188dbc9e390896e7d",
          "oi": 5786.082422,
          "value": 5786.082422
        },
        {
          "condition_id": "0x2a4d3cf51d27425b0c51d241a7ba6bc44dd27034b44f9e437624f9e0953b1ea9",
          "market": "0x2a4d3cf51d27425b0c51d241a7ba6bc44dd27034b44f9e437624f9e0953b1ea9",
          "oi": 2853.79153,
          "value": 2853.79153
        }
      ]
    },
    {
      "basket_name": "border_pressure",
      "basket_oi_sum": 23830.653222,
      "basket_pressure": 0.0,
      "top_markets": [
        {
          "condition_id": "0x49686d26fb712515cd5e12c23f0a1c7e10214c7faa3cb0a730aabe0c33694082",
          "market": "0x49686d26fb712515cd5e12c23f0a1c7e10214c7faa3cb0a730aabe0c33694082",
          "oi": 16617.250628,
          "value": 16617.250628
        },
        {
          "condition_id": "0x22ac5f75af18fdb453497fbf7ac0606a09a6fd55b78b2d08aace6b946ad62038",
          "market": "0x22ac5f75af18fdb453497fbf7ac0606a09a6fd55b78b2d08aace6b946ad62038",
          "oi": 2956.363971,
          "value": 2956.363971
        },
        {
          "condition_id": "0xaf9d0e448129a9f657f851d49495ba4742055d80e0ef1166ba0ee81d4d594214",
          "market": "0xaf9d0e448129a9f657f851d49495ba4742055d80e0ef1166ba0ee81d4d594214",
          "oi": 1940.279813,
          "value": 1940.279813
        },
        {
          "condition_id": "0x2393ed0b0fdc450054c7b9071907eca75cf4fc36e385adf4a0a5f99ee62243e8",
          "market": "0x2393ed0b0fdc450054c7b9071907eca75cf4fc36e385adf4a0a5f99ee62243e8",
          "oi": 1230.755804,
          "value": 1230.755804
        },
        {
          "condition_id": "0xc55db914f0fd1fee18997706712c0dfd8d0369cdbef93a9fef12bd001914ca77",
          "market": "0xc55db914f0fd1fee18997706712c0dfd8d0369cdbef93a9fef12bd001914ca77",
          "oi": 311.816628,
          "value": 311.816628
        }
      ]
    }
  ],
  "generated_at": "2026-04-08T00:00:00Z",
  "generated_at_display_utc": "2026-04-08 00:00 UTC",
  "generated_tz": "UTC",
  "join_quality": {
    "by_basket_hint": [
      {
        "basket_hint": "other",
        "gamma_markets_n": null,
        "oi_markets_n": null,
        "oi_markets_with_value": null,
        "oi_total": null,
        "pm_basket_pressure": null,
        "pm_present": false,
        "reason": "missing_in_pm",
        "ted_rows": 20,
        "ted_rows_driver_pressure_gt0": 20
      }
    ],
    "counts": {
      "joined_baskets": 0,
      "pm_baskets": 4,
      "pm_only_baskets": 4,
      "pressure_zero_with_oi_gt0": 0,
      "rows_driver_pressure_gt0": 20,
      "rows_missing_basket_hint": 0,
      "rows_total": 20,
      "rows_with_basket_hint": 20,
      "ted_baskets": 1,
      "ted_only_baskets": 1
    },
    "generated_at": "2026-04-08T00:00:00Z",
    "missing_reason_totals": {
      "OK": 0,
      "mapping_mismatch": 0,
      "missing_gamma_map": 0,
      "missing_in_pm": 1,
      "missing_oi": 0,
      "pressure_zero": 0
    },
    "run_date": "2026-04-08",
    "schema_version": 1
  },
  "join_trend": {
    "latest_run_date": "2026-01-22",
    "schema_version": 1,
    "series": [
      {
        "run_date": "2026-01-22",
        "with_driver_pressure_share": 0.25
      }
    ]
  },
  "quality_note": "",
  "quality_status": "ok",
  "recommendations": [
    {
      "action_reason": null,
      "action_reason_code": null,
      "action_reason_codes": null,
      "buyer_name": "Nederlandse Organisatie voor toegepast-natuurwetenschappelijk onderzoek TNO",
      "capability_tags": [],
      "competition_provenance": null,
      "competition_proxy_known": null,
      "competition_proxy_reason": null,
      "competition_proxy_type": null,
      "competition_proxy_value": null,
      "deadline": "2026-03-30",
      "deadline_best": null,
      "deadline_best_ts": null,
      "decision_statement": "Watch: Netherlands \u2013 Measuring instruments \u2013 European Open Tender for a Vector Network Analyzer",
      "docs_status": null,
      "docs_url": "https://ted.europa.eu/en/notice/227357-2026/html",
      "docs_url_best": null,
      "driver_slugs": [],
      "evidence_url": "https://ted.europa.eu/en/notice/227357-2026/html",
      "geo_bucket": "NLD",
      "notice_family_key": null,
      "notice_id": null,
      "operator_next_step": null,
      "recommended_action": "Watch",
      "risk_driver_tags": [],
      "score": 0.6,
      "tender_id": "227357-2026",
      "ticket_id": "227357-2026",
      "title": "Netherlands \u2013 Measuring instruments \u2013 European Open Tender for a Vector Network Analyzer"
    },
    {
      "action_reason": null,
      "action_reason_code": null,
      "action_reason_codes": null,
      "buyer_name": "Uniwersyteckie Centrum Kliniczne",
      "capability_tags": [],
      "competition_provenance": null,
      "competition_proxy_known": null,
      "competition_proxy_reason": null,
      "competition_proxy_type": null,
      "competition_proxy_value": null,
      "deadline": "2026-04-14",
      "deadline_best": null,
      "deadline_best_ts": null,
      "decision_statement": "Watch: Poland \u2013 Laboratory reagents \u2013 62/PN/2026- Dostawa zestaw\u00f3w odczynnikowych do oznacze\u0144 metod\u0105 immunochemiluminescencji wraz z dzier\u017caw\u0105 analizator\u00f3w dla Laboratori\u00f3w UCK.",
      "docs_status": null,
      "docs_url": "https://ted.europa.eu/en/notice/227518-2026/html",
      "docs_url_best": null,
      "driver_slugs": [],
      "evidence_url": "https://ted.europa.eu/en/notice/227518-2026/html",
      "geo_bucket": "POL",
      "notice_family_key": null,
      "notice_id": null,
      "operator_next_step": null,
      "recommended_action": "Watch",
      "risk_driver_tags": [],
      "score": 0.6,
      "tender_id": "227518-2026",
      "ticket_id": "227518-2026",
      "title": "Poland \u2013 Laboratory reagents \u2013 62/PN/2026- Dostawa zestaw\u00f3w odczynnikowych do oznacze\u0144 metod\u0105 immunochemiluminescencji wraz z dzier\u017caw\u0105 analizator\u00f3w dla Laboratori\u00f3w UCK."
    },
    {
      "action_reason": null,
      "action_reason_code": null,
      "action_reason_codes": null,
      "buyer_name": "Helsingin kaupungin pelastuslaitos",
      "capability_tags": [],
      "competition_provenance": null,
      "competition_proxy_known": null,
      "competition_proxy_reason": null,
      "competition_proxy_type": null,
      "competition_proxy_value": null,
      "deadline": "2026-03-30",
      "deadline_best": null,
      "deadline_best_ts": null,
      "decision_statement": "Watch: Finland \u2013 Firefighting, rescue and safety equipment \u2013 V\u00c4EST\u00d6H\u00c4LYTTIMIEN KAIUTINPATTERISTOJEN HANKINTA VUOSINA 2026-2028",
      "docs_status": null,
      "docs_url": "https://ted.europa.eu/en/notice/228050-2026/html",
      "docs_url_best": null,
      "driver_slugs": [],
      "evidence_url": "https://ted.europa.eu/en/notice/228050-2026/html",
      "geo_bucket": "FIN",
      "notice_family_key": null,
      "notice_id": null,
      "operator_next_step": null,
      "recommended_action": "Watch",
      "risk_driver_tags": [],
      "score": 0.6,
      "tender_id": "228050-2026",
      "ticket_id": "228050-2026",
      "title": "Finland \u2013 Firefighting, rescue and safety equipment \u2013 V\u00c4EST\u00d6H\u00c4LYTTIMIEN KAIUTINPATTERISTOJEN HANKINTA VUOSINA 2026-2028"
    },
    {
      "action_reason": null,
      "action_reason_code": null,
      "action_reason_codes": null,
      "buyer_name": "ADMINISTRATIA NATIONALA APELE ROMANE",
      "capability_tags": [],
      "competition_provenance": null,
      "competition_proxy_known": null,
      "competition_proxy_reason": null,
      "competition_proxy_type": null,
      "competition_proxy_value": null,
      "deadline": "2026-03-30",
      "deadline_best": null,
      "deadline_best_ts": null,
      "decision_statement": "Watch: Romania \u2013 Filter paper \u2013 \u201dAchizi\u021bie consumabile de laborator\u201d Lotul I \u0219i Lotul II",
      "docs_status": null,
      "docs_url": "https://ted.europa.eu/en/notice/229394-2026/html",
      "docs_url_best": null,
      "driver_slugs": [],
      "evidence_url": "https://ted.europa.eu/en/notice/229394-2026/html",
      "geo_bucket": "ROU",
      "notice_family_key": null,
      "notice_id": null,
      "operator_next_step": null,
      "recommended_action": "Watch",
      "risk_driver_tags": [],
      "score": 0.6,
      "tender_id": "229394-2026",
      "ticket_id": "229394-2026",
      "title": "Romania \u2013 Filter paper \u2013 \u201dAchizi\u021bie consumabile de laborator\u201d Lotul I \u0219i Lotul II"
    },
    {
      "action_reason": null,
      "action_reason_code": null,
      "action_reason_codes": null,
      "buyer_name": "Universit\u00e9 de Toulouse",
      "capability_tags": [],
      "competition_provenance": null,
      "competition_proxy_known": null,
      "competition_proxy_reason": null,
      "competition_proxy_type": null,
      "competition_proxy_value": null,
      "deadline": "2026-03-29",
      "deadline_best": null,
      "deadline_best_ts": null,
      "decision_statement": "Watch: France \u2013 Mass spectrometer \u2013 Acquisition d'un spectrom\u00e8tre de masse haute r\u00e9solution MALDI-TOF/TOF pour l'Institut de Chimie de Toulouse",
      "docs_status": null,
      "docs_url": "https://ted.europa.eu/en/notice/230666-2026/html",
      "docs_url_best": null,
      "driver_slugs": [],
      "evidence_url": "https://ted.europa.eu/en/notice/230666-2026/html",
      "geo_bucket": "FRA",
      "notice_family_key": null,
      "notice_id": null,
      "operator_next_step": null,
      "recommended_action": "Watch",
      "risk_driver_tags": [],
      "score": 0.6,
      "tender_id": "230666-2026",
      "ticket_id": "230666-2026",
      "title": "France \u2013 Mass spectrometer \u2013 Acquisition d'un spectrom\u00e8tre de masse haute r\u00e9solution MALDI-TOF/TOF pour l'Institut de Chimie de Toulouse"
    }
  ],
  "run_date": "2026-04-08",
  "schema_version": 1,
  "shipbar": {
    "enforced_status": "unknown",
    "observed_status": "unknown",
    "reason": "receipt_not_found",
    "receipt_path": "reports/evidence/tmp/self_b2_shipbar/date=2026-04-08/receipt.json",
    "run_date": "2026-04-08",
    "warnings": 0
  },
  "sources": {
    "driver_join_receipt": "reports/evidence/tmp/driver_pressure_join/date=2026-04-08/receipt.json",
    "driver_pressure": "data/weekly/pm_driver_pressure_2026-04-08.json",
    "join_quality": "reports/ci/pm_ted_join_quality/date=2026-04-08/join_quality.json",
    "join_trend": "reports/ci/pm_ted_join_quality/index.json",
    "shipbar_receipt": "reports/evidence/tmp/self_b2_shipbar/date=2026-04-08/receipt.json",
    "shortlist": "public/2026-04-08/ted_shortlist.json",
    "shortlist_diff": "public/2026-04-08/ted_shortlist_diff.json"
  },
  "summary": {
    "days_requested": 1,
    "days_used": 0,
    "items_considered": 20,
    "items_selected": 5,
    "window_end": "2026-04-08",
    "window_start": "2026-04-08"
  },
  "top_opportunities_with_why": [
    {
      "title": "Netherlands \u2013 Measuring instruments \u2013 European Open Tender for a Vector Network Analyzer (Nederlandse Organisatie voor toegepast-natuurwetenschappelijk onderzoek TNO)",
      "why": "deadline=2026-03-30; action=WATCH; action_reason_codes=manual_review_required; why=manual_review_required"
    },
    {
      "title": "Poland \u2013 Laboratory reagents \u2013 62/PN/2026- Dostawa zestaw\u00f3w odczynnikowych do oznacze\u0144 metod\u0105 immunochemiluminescencji wraz z dzier\u017caw\u0105 analizator\u00f3w dla Laboratori\u00f3w UCK. (Uniwersyteckie Centrum Kliniczne)",
      "why": "deadline=2026-04-14; action=WATCH; action_reason_codes=manual_review_required; why=manual_review_required"
    },
    {
      "title": "Finland \u2013 Firefighting, rescue and safety equipment \u2013 V\u00c4EST\u00d6H\u00c4LYTTIMIEN KAIUTINPATTERISTOJEN HANKINTA VUOSINA 2026-2028 (Helsingin kaupungin pelastuslaitos)",
      "why": "deadline=2026-03-30; action=WATCH; action_reason_codes=manual_review_required; why=manual_review_required"
    },
    {
      "title": "Romania \u2013 Filter paper \u2013 \u201dAchizi\u021bie consumabile de laborator\u201d Lotul I \u0219i Lotul II (ADMINISTRATIA NATIONALA APELE ROMANE)",
      "why": "deadline=2026-03-30; action=WATCH; action_reason_codes=manual_review_required; why=manual_review_required"
    },
    {
      "title": "France \u2013 Mass spectrometer \u2013 Acquisition d'un spectrom\u00e8tre de masse haute r\u00e9solution MALDI-TOF/TOF pour l'Institut de Chimie de Toulouse (Universit\u00e9 de Toulouse)",
      "why": "deadline=2026-03-29; action=WATCH; action_reason_codes=manual_review_required; why=manual_review_required"
    }
  ]
}