{
  "schema_version": "market-tactical-agent-v1.1",
  "updated": "2026-08-19T06:42:09+09:00",
  "visibility": "public",
  "run_context": {
    "generated_at": "2026-08-19T06:42:09+09:00",
    "timezone": "Asia/Tokyo",
    "intended_run_window": "after_us_close_before_tokyo_open",
    "session_state_basis": "time_window_only_not_exchange_calendar",
    "us_session_state": "post_close_window",
    "tokyo_session_state": "pre_open_window",
    "driver_observation_date": "2026-08-18",
    "japan_trading_date": "2026-08-18",
    "jp_confirmation_available": false,
    "jp_confirmation_basis": "latest_japan_trading_date_precedes_generation_date_or_is_unavailable",
    "next_check": "Tokyo open"
  },
  "freshness": {
    "generated_at": "2026-08-19T06:42:09+09:00",
    "timezone": "Asia/Tokyo",
    "next_expected_refresh_at": "2026-08-20T06:20:00+09:00",
    "refresh_grace_minutes": 90,
    "schedule_basis": "after_us_close_before_tokyo_open",
    "stale_after_hours": 24,
    "expired_after_hours": 72,
    "status_at_generation": "fresh",
    "age_hours_at_generation": 0.0,
    "overdue_minutes_at_generation": 0.0,
    "freshness_policy": "schedule-aware browser state uses the published next refresh and grace window without rewriting generated_at"
  },
  "universe": {
    "mode": "curated_core_with_bounded_discovery",
    "generated_at": "2026-08-19T06:42:09+09:00",
    "curated": {
      "fmp_symbol_count": 17,
      "jp_symbol_count": 14,
      "exposure_theme_count": 4
    },
    "discovery": {
      "enabled": true,
      "lanes": [
        "event",
        "change",
        "pressure",
        "intraday"
      ],
      "fmp_event_extra_candidates": 1681,
      "fmp_event_extra_allowed": 1,
      "fmp_event_extra_selected": 3,
      "fmp_event_extra_candidates_raw": 1681,
      "fmp_event_extra_prefiltered": 3,
      "fmp_event_extra_deep_fetch_selected": 3,
      "fmp_event_extra_allowed_after_quality": 1,
      "fmp_event_extra_rejected_after_quality": 2,
      "fmp_market_discovery_candidates": 50,
      "fmp_market_discovery_allowed": 0,
      "fmp_market_discovery_rejected_missing_price": 0,
      "fmp_market_discovery_rejected_thin_exchange": 0,
      "fmp_market_discovery_rejected_low_dollar_volume": 50,
      "fmp_market_discovery_rejected_low_move": 0,
      "fmp_market_discovery_rejected_duplicate_or_curated": 0,
      "jp_discovery_candidates": 60,
      "jp_discovery_allowed": 10,
      "raw_candidate_count": 1822,
      "allowed_candidate_count": 44,
      "discovered_candidate_count": 13,
      "skipped_reasons": [],
      "discovered_signal_count": 8,
      "fmp_event_extra_signal_count": 3
    },
    "request_budget": {
      "max_fmp_quote_symbols": 50,
      "max_fmp_event_extra_symbols": 18,
      "max_fmp_market_discovery_raw": 50,
      "max_fmp_market_discovery_symbols": 15,
      "max_jp_deep_symbols": 40,
      "max_jp_discovery_symbols": 10,
      "max_total_external_requests_estimate": 280,
      "cache_ttl_minutes_quote": 15,
      "cache_ttl_minutes_news": 30,
      "cache_ttl_minutes_market_movers": 15,
      "cache_ttl_hours_calendar": 6,
      "cache_ttl_hours_historical_eod": 24,
      "cache_ttl_hours_master_listed": 24,
      "cache_ttl_hours_jq_daily_bars": 6
    },
    "request_estimate": 169,
    "candidates": [
      {
        "symbol": "NVDA",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:NVDA"
      },
      {
        "symbol": "AMD",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AMD"
      },
      {
        "symbol": "AVGO",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AVGO"
      },
      {
        "symbol": "SMH",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SMH"
      },
      {
        "symbol": "SOXX",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SOXX"
      },
      {
        "symbol": "AAPL",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Mega-cap Tech",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:AAPL"
      },
      {
        "symbol": "MSFT",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Mega-cap Tech",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:MSFT"
      },
      {
        "symbol": "TSLA",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Auto / Growth",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:TSLA"
      },
      {
        "symbol": "COIN",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:COIN"
      },
      {
        "symbol": "MSTR",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:MSTR"
      },
      {
        "symbol": "BTCUSD",
        "market": "Crypto",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:BTCUSD"
      },
      {
        "symbol": "ETHUSD",
        "market": "Crypto",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:ETHUSD"
      },
      {
        "symbol": "USDJPY",
        "market": "FX",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:USDJPY"
      },
      {
        "symbol": "XOM",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:XOM"
      },
      {
        "symbol": "CVX",
        "market": "US",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:CVX"
      },
      {
        "symbol": "SPY",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Major Indices",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:SPY"
      },
      {
        "symbol": "QQQ",
        "market": "US ETF",
        "source": "curated_core",
        "reason": "Curated US/ETF/FX/Crypto driver in the Market Signal Radar core.",
        "theme_hint": "Major Indices",
        "priority_hint": 100,
        "discovered": false,
        "name": "",
        "code": "",
        "dedupe_key": "FMP:QQQ"
      },
      {
        "symbol": "8035",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "東京エレクトロン",
        "code": "80350",
        "dedupe_key": "JP:8035"
      },
      {
        "symbol": "6857",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "アドバンテスト",
        "code": "68570",
        "dedupe_key": "JP:6857"
      },
      {
        "symbol": "6723",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "ルネサスエレクトロニクス",
        "code": "67230",
        "dedupe_key": "JP:6723"
      },
      {
        "symbol": "6920",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 100,
        "discovered": false,
        "name": "レーザーテック",
        "code": "69200",
        "dedupe_key": "JP:6920"
      },
      {
        "symbol": "8698",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "マネックスグループ",
        "code": "86980",
        "dedupe_key": "JP:8698"
      },
      {
        "symbol": "8473",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Crypto",
        "priority_hint": 100,
        "discovered": false,
        "name": "SBIホールディングス",
        "code": "84730",
        "dedupe_key": "JP:8473"
      },
      {
        "symbol": "7203",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "トヨタ自動車",
        "code": "72030",
        "dedupe_key": "JP:7203"
      },
      {
        "symbol": "7267",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "本田技研工業",
        "code": "72670",
        "dedupe_key": "JP:7267"
      },
      {
        "symbol": "6758",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "ソニーグループ",
        "code": "67580",
        "dedupe_key": "JP:6758"
      },
      {
        "symbol": "6902",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "USDJPY / Exporters",
        "priority_hint": 100,
        "discovered": false,
        "name": "デンソー",
        "code": "69020",
        "dedupe_key": "JP:6902"
      },
      {
        "symbol": "1605",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "INPEX",
        "code": "16050",
        "dedupe_key": "JP:1605"
      },
      {
        "symbol": "5020",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "ENEOSホールディングス",
        "code": "50200",
        "dedupe_key": "JP:5020"
      },
      {
        "symbol": "8058",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "三菱商事",
        "code": "80580",
        "dedupe_key": "JP:8058"
      },
      {
        "symbol": "8001",
        "market": "JP",
        "source": "curated_core",
        "reason": "Curated Japan impact name in the Market Signal Radar core.",
        "theme_hint": "Energy / Commodities",
        "priority_hint": 100,
        "discovered": false,
        "name": "伊藤忠商事",
        "code": "80010",
        "dedupe_key": "JP:8001"
      },
      {
        "symbol": "FLUX",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 125.0,
        "discovered": true,
        "name": "Flux Power Holdings, Inc.",
        "code": "",
        "dedupe_key": "FMP:FLUX"
      },
      {
        "symbol": "DVLT",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 125.0,
        "discovered": true,
        "name": "Datavault AI Inc.",
        "code": "",
        "dedupe_key": "FMP:DVLT"
      },
      {
        "symbol": "IPST",
        "market": "US",
        "source": "fmp_event_extra",
        "reason": "Bounded FMP earnings-calendar extra prequalified by market movers before liquidity/news filtering.",
        "theme_hint": "Event Calendar",
        "priority_hint": 121.0,
        "discovered": true,
        "name": "IP Strategy Holdings, Inc.",
        "code": "",
        "dedupe_key": "FMP:IPST"
      },
      {
        "symbol": "9984",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid technology holding company connected to US tech and AI risk tone.",
        "theme_hint": "Mega-cap Tech / AI",
        "priority_hint": 96.0,
        "discovered": true,
        "name": "SoftBank Group",
        "code": "99840",
        "dedupe_key": "JP:9984"
      },
      {
        "symbol": "9983",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid index-heavy consumer name sensitive to broad Japan risk tone.",
        "theme_hint": "Consumer / Index Weight",
        "priority_hint": 94.0,
        "discovered": true,
        "name": "Fast Retailing",
        "code": "99830",
        "dedupe_key": "JP:9983"
      },
      {
        "symbol": "6861",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid automation bellwether linked to global capex and semiconductor cycles.",
        "theme_hint": "Automation / Semiconductor",
        "priority_hint": 92.0,
        "discovered": true,
        "name": "Keyence",
        "code": "68610",
        "dedupe_key": "JP:6861"
      },
      {
        "symbol": "6146",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 91.0,
        "discovered": true,
        "name": "Disco",
        "code": "61460",
        "dedupe_key": "JP:6146"
      },
      {
        "symbol": "7735",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid semiconductor equipment candidate connected to US chip moves.",
        "theme_hint": "Semiconductor / AI",
        "priority_hint": 90.0,
        "discovered": true,
        "name": "SCREEN Holdings",
        "code": "77350",
        "dedupe_key": "JP:7735"
      },
      {
        "symbol": "6981",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid electronics exporter connected to USDJPY and US tech demand.",
        "theme_hint": "Electronics / Exporters",
        "priority_hint": 88.0,
        "discovered": true,
        "name": "Murata Manufacturing",
        "code": "69810",
        "dedupe_key": "JP:6981"
      },
      {
        "symbol": "6762",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid component maker connected to US tech and currency sensitivity.",
        "theme_hint": "Electronics / Exporters",
        "priority_hint": 87.0,
        "discovered": true,
        "name": "TDK",
        "code": "67620",
        "dedupe_key": "JP:6762"
      },
      {
        "symbol": "6501",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid industrial technology name connected to global capex tone.",
        "theme_hint": "Industrial Tech",
        "priority_hint": 86.0,
        "discovered": true,
        "name": "Hitachi",
        "code": "65010",
        "dedupe_key": "JP:6501"
      },
      {
        "symbol": "6503",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid automation and electronics name connected to export and capex themes.",
        "theme_hint": "Industrial Tech",
        "priority_hint": 85.0,
        "discovered": true,
        "name": "Mitsubishi Electric",
        "code": "65030",
        "dedupe_key": "JP:6503"
      },
      {
        "symbol": "6954",
        "market": "JP",
        "source": "fallback_seed",
        "reason": "Liquid factory automation candidate connected to global manufacturing and USDJPY.",
        "theme_hint": "Automation / Exporters",
        "priority_hint": 84.0,
        "discovered": true,
        "name": "Fanuc",
        "code": "69540",
        "dedupe_key": "JP:6954"
      }
    ]
  },
  "tactical_summary": {
    "primary_theme": "Semiconductor",
    "theme_id": "semiconductor",
    "signal_id": "cross-us_ai_japan_semiconductor",
    "primary_impact_theme": {
      "signal_id": "cross-us_ai_japan_semiconductor",
      "theme_id": "semiconductor",
      "theme_label": "Semiconductor",
      "impact_score": 92,
      "priority_score": 0.89,
      "actionability_score": 0.82,
      "watch_priority_score": 0.6,
      "reviewability_score": 0.82,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "SOX/NVDA",
        "Nikkei futures",
        "USDJPY",
        "JP basket dispersion"
      ],
      "watch_reason": "Semiconductor breadth needs a Tokyo opening check despite aligned overseas input."
    },
    "primary_watch_theme": {
      "signal_id": "cross-usdjpy_japan_exporters",
      "theme_id": "exporters",
      "theme_label": "Exporters",
      "impact_score": 55,
      "priority_score": 0.58,
      "actionability_score": 0.32,
      "watch_priority_score": 0.6,
      "reviewability_score": 0.32,
      "divergence": "Mixed",
      "follow_fade_bias": "Opening check required",
      "scenario_bias": "Opening check required",
      "confidence": 0.46,
      "confidence_label": "Medium",
      "pre_open_watch": [
        "USDJPY",
        "US index futures",
        "Nikkei futures",
        "US peer stocks"
      ],
      "watch_reason": "Exporter participation is split while FX and US index tone are active."
    },
    "headline": "Primary impact is Semiconductor; Exporters is the highest watch-risk theme.",
    "body": "Semiconductor is the main impact theme: US drivers and Tokyo prior-close direction are aligned enough to monitor follow-through. Exporters is the highest watch-risk theme because exporter participation is split while FX and US index tone are active.",
    "watchline": "Watch before open: SOX/NVDA, Nikkei futures, USDJPY, US index futures.",
    "divergence": "Aligned",
    "follow_fade_bias": "Provisional follow",
    "scenario_bias": "Provisional follow",
    "confidence": 0.74,
    "confidence_label": "Medium-High"
  },
  "theme_priority_ranking": [
    {
      "rank": 1,
      "signal_id": "cross-us_ai_japan_semiconductor",
      "theme_id": "semiconductor",
      "theme_label": "Semiconductor",
      "priority_score": 0.89,
      "actionability_score": 0.82,
      "reviewability_score": 0.82,
      "watch_priority_score": 0.6,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "SOX/NVDA",
        "Nikkei futures",
        "USDJPY",
        "JP basket dispersion"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "8035",
            "name": "東京エレクトロン",
            "score": 1.0,
            "reason": "Stronger recent reaction inside the Japan Semiconductor Equipment basket."
          }
        ],
        "laggards": [
          {
            "code": "6723",
            "name": "ルネサスエレクトロニクス",
            "score": 0.71,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": true,
        "is_primary_watch": false,
        "legacy_is_primary_theme": true
      },
      "is_primary_impact": true,
      "is_primary_watch": false
    },
    {
      "rank": 2,
      "signal_id": "cross-energy_japan_resources_trading_houses",
      "theme_id": "energy",
      "theme_label": "Energy / Trading Houses",
      "priority_score": 0.86,
      "actionability_score": 0.78,
      "reviewability_score": 0.78,
      "watch_priority_score": 0.56,
      "divergence": "Aligned",
      "follow_fade_bias": "Provisional follow",
      "scenario_bias": "Provisional follow",
      "confidence": 0.74,
      "confidence_label": "Medium-High",
      "pre_open_watch": [
        "WTI",
        "XOM/CVX",
        "USDJPY",
        "Trading company reaction"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "1605",
            "name": "ＩＮＰＥＸ",
            "score": 0.91,
            "reason": "Stronger recent reaction inside the Japan Resources / Trading Houses basket."
          }
        ],
        "laggards": [
          {
            "code": "8001",
            "name": "伊藤忠商事",
            "score": 0.56,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": false,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": false
    },
    {
      "rank": 3,
      "signal_id": "cross-usdjpy_japan_exporters",
      "theme_id": "exporters",
      "theme_label": "Exporters",
      "priority_score": 0.58,
      "actionability_score": 0.32,
      "reviewability_score": 0.32,
      "watch_priority_score": 0.6,
      "divergence": "Mixed",
      "follow_fade_bias": "Opening check required",
      "scenario_bias": "Opening check required",
      "confidence": 0.46,
      "confidence_label": "Medium",
      "pre_open_watch": [
        "USDJPY",
        "US index futures",
        "Nikkei futures",
        "US peer stocks"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "6758",
            "name": "ソニーグループ",
            "score": 0.71,
            "reason": "Stronger recent reaction inside the Japan Exporters basket."
          }
        ],
        "laggards": [
          {
            "code": "7267",
            "name": "本田技研工業",
            "score": 0.31,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": true,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": true
    },
    {
      "rank": 4,
      "signal_id": "cross-crypto_japan_brokers",
      "theme_id": "crypto",
      "theme_label": "Crypto / Brokerage",
      "priority_score": 0.48,
      "actionability_score": 0.42,
      "reviewability_score": 0.42,
      "watch_priority_score": 0.46,
      "divergence": "Resilient",
      "follow_fade_bias": "Local-only / fragile",
      "scenario_bias": "Local-only / fragile",
      "confidence": 0.31,
      "confidence_label": "Low-Medium",
      "pre_open_watch": [
        "BTC",
        "ETH",
        "COIN/MSTR",
        "USDJPY"
      ],
      "leader_laggard": {
        "leaders": [
          {
            "code": "8473",
            "name": "ＳＢＩホールディングス",
            "score": 0.48,
            "reason": "Stronger recent reaction inside the Japan Crypto / Brokerage basket."
          }
        ],
        "laggards": [
          {
            "code": "8698",
            "name": "マネックスグループ",
            "score": 0.37,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "note": ""
      },
      "primary_flags": {
        "is_primary_impact": false,
        "is_primary_watch": false,
        "legacy_is_primary_theme": false
      },
      "is_primary_impact": false,
      "is_primary_watch": false
    }
  ],
  "signals": [
    {
      "id": "cross-us_ai_japan_semiconductor",
      "title": "US AI → Japan Semiconductor",
      "lane": "cross_market",
      "symbol": "US AI → Japan Semiconductor",
      "impact_score": 92,
      "confidence": 0.74,
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "semiconductor",
        "theme_label": "Semiconductor",
        "priority_rank": 1,
        "priority_score": 0.89,
        "actionability_score": 0.82,
        "reviewability_score": 0.82,
        "watch_priority_score": 0.6,
        "is_primary_theme": true,
        "us_catalyst": {
          "label": "SOX/NVDA strength",
          "direction": "negative",
          "strength": 0.96,
          "evidence": [
            "SOXX",
            "AMD",
            "SMH",
            "AVGO"
          ]
        },
        "jp_basket_state": {
          "label": "prior close aligned",
          "reaction_score": 0.86,
          "dispersion": 0.44,
          "state": "prior_close_aligned"
        },
        "divergence": {
          "label": "Aligned",
          "score": 0.6,
          "expected_direction": "negative",
          "actual_reaction": "prior-close aligned",
          "reason": "US catalyst and Japan basket direction are aligned."
        },
        "confidence": {
          "score": 0.74,
          "label": "Medium-High",
          "components": {
            "us_signal_strength": 0.96,
            "jp_basket_fit": 0.92,
            "recent_reaction_alignment": 0.64,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.75,
            "us_driver_agreement": 1.0,
            "jp_basket_breadth": 1.0,
            "directional_cleanliness": 0.9,
            "dispersion_penalty": -0.1,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.04
          },
          "explanation": "US signal high / JP fit high / driver agreement high / breadth high / freshness high. Basket dispersion reduces signal quality."
        },
        "follow_fade_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "scenario_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "pre_open_watch": [
          {
            "factor": "SOX/NVDA",
            "watch_type": "opening_check",
            "invalidates_when": "US semiconductor proxies lose overnight strength",
            "reason": "SOX/NVDA is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "Nikkei futures",
            "watch_type": "opening_check",
            "invalidates_when": "Futures fail to follow US semiconductor strength",
            "reason": "Nikkei futures is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "JPY strengthens against the tech/export setup",
            "reason": "USDJPY is a pre-open check for Semiconductor quality."
          },
          {
            "factor": "JP basket dispersion",
            "watch_type": "opening_check",
            "invalidates_when": "8035/6857/6920 do not move in the same direction",
            "reason": "JP basket dispersion is a pre-open check for Semiconductor quality."
          }
        ],
        "leaders": [
          {
            "code": "8035",
            "name": "東京エレクトロン",
            "score": 1.0,
            "reason": "Stronger recent reaction inside the Japan Semiconductor Equipment basket."
          }
        ],
        "laggards": [
          {
            "code": "6723",
            "name": "ルネサスエレクトロニクス",
            "score": 0.71,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Semiconductor is the primary tactical theme today.",
          "body": "Overseas input: SOX/NVDA strength. Tokyo prior-close move in the Japan Semiconductor Equipment basket is prior close aligned. Divergence is Aligned; scenario is Provisional follow.",
          "watchline": "Watch before open: SOX/NVDA, Nikkei futures, USDJPY, JP basket dispersion."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -3.77,
          "jp_avg_move": -4.67,
          "jp_avg_volume": 0.78
        },
        "primary_flags": {
          "is_primary_impact": true,
          "is_primary_watch": false,
          "legacy_is_primary_theme": true
        }
      }
    },
    {
      "id": "cross-energy_japan_resources_trading_houses",
      "title": "Energy → Japan Resources / Trading Houses",
      "lane": "cross_market",
      "symbol": "Energy → Japan Resources / Trading Houses",
      "impact_score": 72,
      "confidence": 0.74,
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "energy",
        "theme_label": "Energy / Trading Houses",
        "priority_rank": 2,
        "priority_score": 0.86,
        "actionability_score": 0.78,
        "reviewability_score": 0.78,
        "watch_priority_score": 0.56,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "US energy majors",
          "direction": "positive",
          "strength": 0.68,
          "evidence": [
            "XOM",
            "CVX"
          ]
        },
        "jp_basket_state": {
          "label": "prior close aligned",
          "reaction_score": 0.82,
          "dispersion": 0.26,
          "state": "prior_close_aligned"
        },
        "divergence": {
          "label": "Aligned",
          "score": 0.62,
          "expected_direction": "positive",
          "actual_reaction": "prior-close aligned",
          "reason": "US catalyst and Japan basket direction are aligned."
        },
        "confidence": {
          "score": 0.74,
          "label": "Medium-High",
          "components": {
            "us_signal_strength": 0.68,
            "jp_basket_fit": 0.92,
            "recent_reaction_alignment": 0.64,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.75,
            "us_driver_agreement": 1.0,
            "jp_basket_breadth": 1.0,
            "directional_cleanliness": 0.9,
            "dispersion_penalty": -0.06,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.02
          },
          "explanation": "US signal medium-high / JP fit high / driver agreement high / breadth high / freshness high."
        },
        "follow_fade_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "scenario_bias": {
          "label": "Provisional follow",
          "score": 0.6,
          "reason": "The theme is directionally aligned, but breadth and volume quality are still partial."
        },
        "pre_open_watch": [
          {
            "factor": "WTI",
            "watch_type": "opening_check",
            "invalidates_when": "Oil diverges from the energy-major move",
            "reason": "WTI is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "XOM/CVX",
            "watch_type": "opening_check",
            "invalidates_when": "US energy majors split direction",
            "reason": "XOM/CVX is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "FX move offsets resource sensitivity",
            "reason": "USDJPY is a pre-open check for Energy / Trading Houses quality."
          },
          {
            "factor": "Trading company reaction",
            "watch_type": "opening_check",
            "invalidates_when": "8058/8001 do not participate together",
            "reason": "Trading company reaction is a pre-open check for Energy / Trading Houses quality."
          }
        ],
        "leaders": [
          {
            "code": "1605",
            "name": "ＩＮＰＥＸ",
            "score": 0.91,
            "reason": "Stronger recent reaction inside the Japan Resources / Trading Houses basket."
          }
        ],
        "laggards": [
          {
            "code": "8001",
            "name": "伊藤忠商事",
            "score": 0.56,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Energy / Trading Houses is a tactical theme to monitor today.",
          "body": "Overseas input: US energy majors. Tokyo prior-close move in the Japan Resources / Trading Houses basket is prior close aligned. Divergence is Aligned; scenario is Provisional follow.",
          "watchline": "Watch before open: WTI, XOM/CVX, USDJPY, Trading company reaction."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": 2.04,
          "jp_avg_move": 1.77,
          "jp_avg_volume": 0.78
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": false,
          "legacy_is_primary_theme": false
        }
      }
    },
    {
      "id": "cross-crypto_japan_brokers",
      "title": "Crypto → Japan Brokers",
      "lane": "cross_market",
      "symbol": "Crypto → Japan Brokers",
      "impact_score": 66,
      "confidence": 0.31,
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "crypto",
        "theme_label": "Crypto / Brokerage",
        "priority_rank": 4,
        "priority_score": 0.48,
        "actionability_score": 0.42,
        "reviewability_score": 0.42,
        "watch_priority_score": 0.46,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "BTC/ETH and listed crypto proxies",
          "direction": "negative",
          "strength": 0.61,
          "evidence": [
            "MSTR",
            "COIN",
            "BTCUSD",
            "ETHUSD"
          ]
        },
        "jp_basket_state": {
          "label": "resilient",
          "reaction_score": 0.55,
          "dispersion": 0.11,
          "state": "resilient"
        },
        "divergence": {
          "label": "Resilient",
          "score": 0.57,
          "expected_direction": "negative",
          "actual_reaction": "holding up",
          "reason": "US catalyst is negative, but the Japan basket is not aligned with weakness."
        },
        "confidence": {
          "score": 0.31,
          "label": "Low-Medium",
          "components": {
            "us_signal_strength": 0.61,
            "jp_basket_fit": 0.67,
            "recent_reaction_alignment": 0.25,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.7,
            "us_driver_agreement": 0.68,
            "jp_basket_breadth": 0.25,
            "directional_cleanliness": 0.18,
            "dispersion_penalty": -0.02,
            "regime_penalty": 0.0,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.1,
            "driver_dispersion_penalty": -0.1
          },
          "explanation": "US signal medium-high / JP fit medium-high / driver agreement medium-high / breadth low / freshness high."
        },
        "follow_fade_bias": {
          "label": "Local-only / fragile",
          "score": 0.46,
          "reason": "Japan basket resilience is visible, but the overseas driver is not supportive."
        },
        "scenario_bias": {
          "label": "Local-only / fragile",
          "score": 0.46,
          "reason": "Japan basket resilience is visible, but the overseas driver is not supportive."
        },
        "pre_open_watch": [
          {
            "factor": "BTC",
            "watch_type": "opening_check",
            "invalidates_when": "Spot crypto direction splits or reverses",
            "reason": "BTC is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "ETH",
            "watch_type": "opening_check",
            "invalidates_when": "Spot crypto direction splits or reverses",
            "reason": "ETH is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "COIN/MSTR",
            "watch_type": "opening_check",
            "invalidates_when": "Listed crypto proxies diverge from spot crypto",
            "reason": "COIN/MSTR is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "USDJPY",
            "watch_type": "opening_check",
            "invalidates_when": "FX move weakens risk appetite",
            "reason": "USDJPY is a pre-open check for Crypto / Brokerage quality."
          },
          {
            "factor": "JP crypto basket reaction",
            "watch_type": "opening_check",
            "invalidates_when": "8698 and 8473 do not participate together",
            "reason": "JP crypto basket reaction is a pre-open check for Crypto / Brokerage quality."
          }
        ],
        "leaders": [
          {
            "code": "8473",
            "name": "ＳＢＩホールディングス",
            "score": 0.48,
            "reason": "Stronger recent reaction inside the Japan Crypto / Brokerage basket."
          }
        ],
        "laggards": [
          {
            "code": "8698",
            "name": "マネックスグループ",
            "score": 0.37,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Crypto / Brokerage is a tactical theme to monitor today.",
          "body": "Overseas input: BTC/ETH and listed crypto proxies. Tokyo prior-close move in the Japan Crypto / Brokerage basket is resilient. Divergence is Resilient; scenario is Local-only / fragile.",
          "watchline": "Watch before open: BTC, ETH, COIN/MSTR, USDJPY."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -2.03,
          "jp_avg_move": 0.59,
          "jp_avg_volume": 0.55
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": false,
          "legacy_is_primary_theme": false
        }
      }
    },
    {
      "id": "cross-usdjpy_japan_exporters",
      "title": "USDJPY → Japan Exporters",
      "lane": "cross_market",
      "symbol": "USDJPY → Japan Exporters",
      "impact_score": 55,
      "confidence": 0.46,
      "universe_source": "exposure_map",
      "discovered": false,
      "discovery_reason": "Curated cross-market exposure theme.",
      "tactical": {
        "theme_id": "exporters",
        "theme_label": "Exporters",
        "priority_rank": 3,
        "priority_score": 0.58,
        "actionability_score": 0.32,
        "reviewability_score": 0.32,
        "watch_priority_score": 0.6,
        "is_primary_theme": false,
        "us_catalyst": {
          "label": "USDJPY and US index tone",
          "direction": "negative",
          "strength": 0.41,
          "evidence": [
            "QQQ",
            "SPY",
            "USDJPY"
          ]
        },
        "jp_basket_state": {
          "label": "mixed",
          "reaction_score": 0.55,
          "dispersion": 0.29,
          "state": "mixed"
        },
        "divergence": {
          "label": "Mixed",
          "score": 0.56,
          "expected_direction": "negative",
          "actual_reaction": "mixed basket reaction",
          "reason": "The Japan basket is not moving as one group, so theme quality needs an opening check."
        },
        "confidence": {
          "score": 0.46,
          "label": "Medium",
          "components": {
            "us_signal_strength": 0.41,
            "jp_basket_fit": 0.81,
            "recent_reaction_alignment": 0.48,
            "freshness": 0.86,
            "liquidity_or_basket_quality": 0.73,
            "us_driver_agreement": 0.78,
            "jp_basket_breadth": 0.44,
            "directional_cleanliness": 0.42,
            "dispersion_penalty": -0.06,
            "regime_penalty": -0.05,
            "missing_data_penalty": -0.0,
            "basket_size_penalty": -0.0,
            "driver_dispersion_penalty": -0.03
          },
          "explanation": "US signal low-medium / JP fit high / driver agreement high / breadth low-medium / freshness high."
        },
        "follow_fade_bias": {
          "label": "Opening check required",
          "score": 0.48,
          "reason": "Theme evidence is mixed, so the Tokyo opening check matters more than score alone."
        },
        "scenario_bias": {
          "label": "Opening check required",
          "score": 0.48,
          "reason": "Theme evidence is mixed, so the Tokyo opening check matters more than score alone."
        },
        "pre_open_watch": [
          {
            "factor": "USDJPY",
            "watch_type": "risk",
            "invalidates_when": "FX reverses against exporter support",
            "reason": "USDJPY is a pre-open check for Exporters quality."
          },
          {
            "factor": "US index futures",
            "watch_type": "risk",
            "invalidates_when": "US risk tone fades before Tokyo open",
            "reason": "US index futures is a pre-open check for Exporters quality."
          },
          {
            "factor": "Nikkei futures",
            "watch_type": "risk",
            "invalidates_when": "Nikkei futures alignment is absent",
            "reason": "Nikkei futures is a pre-open check for Exporters quality."
          },
          {
            "factor": "US peer stocks",
            "watch_type": "opening_check",
            "invalidates_when": "Auto/electronics peers diverge",
            "reason": "US peer stocks is a pre-open check for Exporters quality."
          }
        ],
        "leaders": [
          {
            "code": "6758",
            "name": "ソニーグループ",
            "score": 0.71,
            "reason": "Stronger recent reaction inside the Japan Exporters basket."
          }
        ],
        "laggards": [
          {
            "code": "7267",
            "name": "本田技研工業",
            "score": 0.31,
            "reason": "Theme fit is present, but recent reaction is weaker than basket peers."
          }
        ],
        "leader_laggard_note": "",
        "summary": {
          "headline": "Exporters is a tactical theme to monitor today.",
          "body": "Overseas input: USDJPY and US index tone. Tokyo prior-close move in the Japan Exporters basket is mixed. Divergence is Mixed; scenario is Opening check required.",
          "watchline": "Watch before open: USDJPY, US index futures, Nikkei futures, US peer stocks."
        },
        "source": {
          "llm_used": false,
          "summary_generation": "deterministic_template",
          "us_avg_move": -0.75,
          "jp_avg_move": 0.23,
          "jp_avg_volume": 0.68
        },
        "primary_flags": {
          "is_primary_impact": false,
          "is_primary_watch": true,
          "legacy_is_primary_theme": false
        }
      }
    }
  ],
  "methodology": {
    "version": "tactical-layer-v1.1",
    "llm_used": false,
    "summary_generation": "deterministic_template",
    "score_policy": "uncalibrated_heuristic",
    "score_explanation": "Scores are deterministic, uncalibrated heuristics for ranking attention, not backtested probabilities.",
    "generated_at": "2026-08-19T06:42:09+09:00"
  }
}
