{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is moderately constructive: price has recovered above key short-term and 200-day references with MACD turning positive, and fundamental quality remains supportive. Timing is not ready because price remains below the 50-day SMA and recent resistance near 260.86-262.19, with the plan explicitly requiring a daily close above 262.20 on stronger volume or a confirmed support retest before starter entry.",
      "counter_evidence": [
        "Current price around 259.20 remains below the 50-day SMA near 260.86 and recent high/resistance near 262.19.",
        "Entry action is WAIT and setup quality is DEVELOPING, so immediate buy timing is not confirmed.",
        "Valuation is demanding, with high PER/PBR limiting safety margin.",
        "Data coverage has gaps, including no disclosures, news-derived social input, fallback vendor results, and token usage unavailable.",
        "Macro, tariff/input-cost, Apple Pay/services regulation, and earnings guidance risks could invalidate the thesis."
      ],
      "reason_codes": [
        "constructive_thesis_waiting_for_confirmation",
        "below_near_term_resistance",
        "breakout_requires_daily_close_and_volume",
        "support_retest_alternative_not_yet_confirmed",
        "starter_only_if_triggered",
        "valuation_limits_safety_margin",
        "data_quality_gaps"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETHU has a constructive tactical rebound thesis but is not ready for immediate entry. Price has recovered key short-term averages and momentum has improved, but action is explicitly conditioned on a confirmed close above 25.90-26.00 with stronger volume or a controlled support test around 24.65 or 23.50-23.10. Current guidance is watch/wait, with only a small starter allowed after confirmation due to the 2x Ether structure.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "ETHU remains far below the 200 SMA near 79 and the 50 SMA is still declining.",
        "25.90-26.00 resistance has not yet been cleared with volume confirmation.",
        "2x Ether exposure creates amplified loss, gap, and path-dependency risk.",
        "Data quality is imperfect, with fallback vendor calls and token usage unavailable."
      ],
      "reason_codes": [
        "constructive_momentum_but_unconfirmed",
        "wait_for_breakout_close",
        "volume_confirmation_required",
        "leveraged_product_timing_risk",
        "support_test_alternative_entry",
        "defined_downside_invalidation"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETN has a constructive medium-term thesis supported by trend recovery, improving MACD, strong recent fundamentals, FCF, lower net debt, and AI/data-center power demand exposure. Timing is not actionable yet because the recommended entry is explicitly WAIT: price is near 407-408 resistance and a 52-week high with RSI elevated and ATR high. A starter position only becomes reasonable after a volume-backed daily close above 407-408 or a controlled pullback that stabilizes near 386.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is near 407-408 resistance and the 52-week high, creating poor immediate entry asymmetry.",
        "RSI around 67 and ATR around 12.7 indicate elevated momentum/volatility risk.",
        "Upside target of 415-420 appears limited relative to downside risk toward 386, 374-369, and invalidation below 369.",
        "Data coverage is incomplete, with only one company news item, no disclosures, social sentiment fallback, and multiple vendor fallbacks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_and_52_week_high",
        "elevated_rsi_and_atr",
        "volume_confirmation_required",
        "pullback_alternative_not_yet_observed",
        "valuation_sensitive_position_sizing",
        "incomplete_data_coverage"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term thesis is constructive but not actionable now: FANG remains above major 50-day and 200-day trend support with supportive EBITDA, FCF, debt reduction, and oil/geopolitical upside, but current price is still below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says to wait for confirmation before any starter position.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy.",
        "Price remains below 10-day EMA 190.01 and VWMA 193.36.",
        "RSI 48.31 is below 50 and MACD histogram is negative at -1.96.",
        "Recent high-volume selloff has not been fully offset by rebound volume.",
        "Oil sensitivity, earnings risk, elevated ATR, weak liquidity metrics, and insider or major-holder selling constrain sizing."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_for_confirmation",
        "below_short_term_resistance",
        "momentum_not_recovered",
        "starter_only_after_trigger",
        "risk_controls_defined",
        "event_and_oil_dependency"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis tied to AI/data-center power demand, gas turbine scarcity, grid and transformer bottlenecks, and an intact uptrend above key moving averages. However, the current setup is not actionable yet because price is extended into the 999.43-1007.38 resistance area after a sharp rally, with RSI elevated, ATR high, volume fading near highs, and MACD histogram slightly weakening. A starter position is only justified after confirmation, preferably a daily close above 1007.38 with stronger volume and renewed momentum, or a controlled pullback holding 944-952 followed by a strong reclaim of the 10-day EMA.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is near the 999.43-1007.38 resistance zone after a rapid move from 817.35 to 991.12.",
        "RSI 68.42, high ATR around 38.56, fading volume near highs, and modest MACD histogram softening argue against immediate chase buying.",
        "High valuation metrics and Vineyard Wind, Prolec integration, working-capital, inventory, receivables, and current ratio risks limit position aggressiveness.",
        "No disclosures were available and data quality includes fallback usage and token usage unavailable."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_not_confirmed",
        "extended_near_resistance",
        "momentum_volume_confirmation_needed",
        "pullback_support_alternative",
        "high_valuation_risk",
        "legal_execution_risks",
        "data_quality_limitations"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term thesis supported by AI-driven revenue growth, strong margins, positive trend recovery above key moving averages, and improving MACD. However, the action table explicitly says WAIT because price is near Bollinger/prior-high resistance, volatility is elevated, and new exposure requires confirmation through either a volume-backed close above 378.90 or a controlled pullback holding the 359.54-351.56 support zone.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is already near 378.90 Bollinger resistance and the 384.67-386.64 prior high zone, reducing immediate reward/risk.",
        "Volume has reportedly faded back toward the 9 million share range after the April 8 spike, so breakout demand is not yet confirmed.",
        "ATR is elevated at 12.64, increasing gap and position sizing risk.",
        "Upcoming earnings/guidance must still validate elevated AI/HPC, margin, utilization, and capex expectations."
      ],
      "reason_codes": [
        "bullish_thesis_wait_entry",
        "timing_confirmation_required",
        "near_resistance_zone",
        "volume_confirmation_missing",
        "support_or_breakout_trigger_defined",
        "event_risk_pending",
        "elevated_volatility"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.7,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VRT has a constructive medium-term thesis supported by trend, momentum, AI data-center demand, improving fundamentals, S&P 500 inclusion, acquisition optionality, and analyst revisions. Timing is not yet actionable because the recommended action is WAIT after a sharp rebound, overbought RSI, high ATR, and price extension; entry requires either a volume-backed close above 312.46 or a controlled pullback holding 299.96/295.11.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is still DEVELOPING, not confirmed.",
        "Price has rebounded about 32.6% from the 234.22 area to 310.51, creating poor short-term asymmetry.",
        "RSI is 70.99 and ATR is elevated, indicating overbought and volatile conditions.",
        "Some valuation evidence is stretched, including trailing P/E around 90 and P/B around 29.9.",
        "Barclays target of 300 is below the latest close, limiting near-term confirmation quality.",
        "Intraday same-day snapshot is missing and disclosures count is zero."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait",
        "developing_setup",
        "overbought_extension",
        "volume_breakout_required",
        "pullback_support_alternative",
        "high_volatility_beta",
        "valuation_risk",
        "data_quality_flags"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VXUS has a constructive medium-term overweight thesis supported by recovery above key moving averages, positive MACD, and a diversification/relative-strength case for non-US equities. Timing is not yet actionable because the recommendation is explicitly WAIT: price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, with RSI elevated and volatility still high. A starter only becomes appropriate after a controlled 80.10-79.70 retest and rebound or a confirmed 82.90 breakout on above-average volume with follow-through.",
      "counter_evidence": [
        "Entry action is WAIT, not buy; setup quality is DEVELOPING.",
        "Price is close to resistance at 84.11-84.28 after recovering sharply from 74.71 to 82.81.",
        "RSI has risen quickly to 66.06 and could become overbought near resistance.",
        "ATR remains elevated at 1.52, implying higher tactical risk and smaller sizing.",
        "Same-day intraday snapshot is missing, reducing confidence in immediate timing."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "developing_setup",
        "near_resistance",
        "breakout_not_confirmed",
        "pullback_retest_pending",
        "elevated_rsi",
        "high_atr",
        "volume_confirmation_required",
        "intraday_snapshot_missing"
      ],
      "review_required": false
    }
  ]
}