{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.76,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is constructive for holding existing exposure, supported by recovery above key short-term/long-term averages, positive MACD turn, cash generation, and franchise quality. Timing is not yet actionable for adding because price remains below the 50-day SMA and recent resistance near 260.86-262.19; the plan explicitly requires confirmation via a daily close above 262.20 with volume, or a high-quality support retest near 254.87 or 251-252.",
      "counter_evidence": [
        "Current price is still below the 50-day SMA near 260.86 and recent high/resistance near 262.19.",
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Valuation is demanding, with limited safety margin cited from PER/PBR levels.",
        "False breakout risk is explicitly noted if volume is weak or price loses the 10-day EMA near 257.46.",
        "A daily close below 251 or failure of the 200-day SMA near 250.89 would invalidate the tactical thesis.",
        "Earnings, iPhone demand, margins, tariffs, services regulation, rates, dollar strength, and inflation remain material event/macro risks."
      ],
      "reason_codes": [
        "held_position_hold_only",
        "constructive_but_waiting_for_confirmation",
        "below_nearby_resistance",
        "explicit_breakout_trigger_defined",
        "support_retest_alternative_trigger",
        "risk_line_defined",
        "valuation_limits_sizing",
        "event_risk_pending"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "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": "ETHU has a constructive tactical rebound thesis, with price back above short-term support, improving MACD, non-overbought RSI, and some recent fund inflow evidence. However, the plan explicitly says to hold existing small exposure and wait before adding because confirmation is incomplete. Actionability depends on a daily close above 25.90-26.00 with clear volume expansion, or a controlled support hold near 24.65 or 23.50-23.10. A close below 23.10 would invalidate the near-term rebound setup.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so immediate add timing is not confirmed.",
        "ETHU remains far below the 200 SMA and the 50 SMA is still declining.",
        "25.90-26.00 resistance has not yet been confirmed as broken with volume.",
        "2x Ether structure increases path dependency, drawdown, gap, and timing risk.",
        "Data coverage is limited, with no disclosures, news-derived social sentiment, token usage unavailable, and several vendor fallbacks."
      ],
      "reason_codes": [
        "hold_existing_position",
        "entry_wait",
        "constructive_rebound_setup",
        "breakout_not_confirmed",
        "explicit_price_volume_trigger",
        "support_hold_alternative_trigger",
        "clear_invalidation_level",
        "leveraged_etf_path_dependency",
        "limited_data_quality"
      ],
      "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, strong recent fundamentals, AI/data-center power demand, and cash-flow quality, but timing is not yet actionable for adding. The plan explicitly calls for HOLD/WAIT until either a volume-backed daily close above 407-408 or a controlled pullback that stabilizes near 386. Existing exposure can be maintained while key supports hold, but new capital should wait for confirmation.",
      "counter_evidence": [
        "Price is near 407-408 resistance and the 52-week high, reducing near-term entry asymmetry.",
        "RSI around 67 and ATR around 12.7 indicate elevated momentum and volatility rather than a clean low-risk entry.",
        "The plan says not to chase immediately and to avoid new capital before confirmation.",
        "Valuation is sensitive with high TTM PER, forward PER, and PBR, requiring smaller sizing even if triggered.",
        "Data coverage is limited, with only one company news item, no disclosures, fallback vendor results, and unavailable token usage."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_near_407_408",
        "volume_confirmation_required",
        "pullback_support_watch_386",
        "elevated_rsi_and_atr",
        "valuation_sensitive",
        "held_position_core_hold",
        "limited_data_coverage"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "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": "Medium-term thesis is constructive: price remains above key longer moving averages and fundamentals/free cash flow support a bullish watch stance. Timing is not actionable yet because price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the recommendation is explicitly WAIT for a close above 190.01 with RSI recovery, preferably VWMA 193.36 plus volume and MACD improvement.",
      "counter_evidence": [
        "Current price is below the 10-day EMA near 190.01 and VWMA near 193.36.",
        "RSI remains below 50 and MACD histogram is negative, so short-term momentum has not confirmed.",
        "Recent high-volume selloff and oil sensitivity raise volatility risk before confirmation.",
        "Q1 earnings, margin pressure, capex, balance sheet liquidity, and major-holder selling remain unresolved risks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_confirmation_required",
        "momentum_not_confirmed",
        "below_short_term_averages",
        "small_starter_only_if_triggered",
        "clear_invalidation_level"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "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 a still-strong trend above key moving averages. Timing is not ready because the stock is extended near 999.43-1007.38 resistance after a sharp run, with RSI near overbought, high ATR, fading high-area volume, and slightly softer MACD histogram. Action should remain watch-only until a confirmed close above 1007.38 with volume and momentum expansion, or a controlled pullback holds 944-952 and reclaims the 10-day EMA.",
      "counter_evidence": [
        "Immediate entry_action is WAIT and suggested_action_now is WATCH, not buy.",
        "Price is near 999.43-1007.38 resistance after a rapid move from 817.35 to 991.12.",
        "RSI 68.42, ATR about 38.56, fading volume near highs, and MACD histogram softening reduce chase quality.",
        "High valuation, Vineyard Wind liability risk, Prolec integration risk, working-capital concerns, and limited disclosure coverage argue for smaller sizing and confirmation first."
      ],
      "reason_codes": [
        "constructive_structural_thesis",
        "entry_wait_for_confirmation",
        "near_resistance_after_sharp_run",
        "momentum_not_fully_confirmed",
        "high_volatility_requires_smaller_starter",
        "defined_breakout_and_pullback_triggers",
        "valuation_and_legal_risks"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.05,
      "timing_readiness": 0.05,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.05,
      "thesis_state": "neutral_watch",
      "semantic_summary": "Held GLDM position has no current analysis, no investment plan, no portfolio manager decision, and no trigger conditions from this run. The only supported action is to maintain a neutral watch/hold posture pending fresh analysis or explicit trigger definition.",
      "counter_evidence": [
        "Position is held, but the run flags missing analysis for the held position.",
        "No company news, disclosures, macro items, social inputs, structured decision, or trigger conditions are available.",
        "Suggested triggered action is NONE and decision source is rule-only."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "insufficient_data_coverage",
        "held_position_watch_only"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held GOOGL position has no current run analysis, no trigger conditions, no news/macro/social coverage, and only a rule-based HOLD/WAIT stance. This is not actionable timing evidence; it should remain watch-only pending fresh analysis.",
      "counter_evidence": [
        "Missing analysis for held position",
        "No trigger conditions were provided",
        "Company news, disclosures, social, and macro coverage are absent",
        "Decision source is RULE_ONLY with low confidence"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "insufficient_data_coverage",
        "low_confidence"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held LHX position has no current analysis, no investment plan, no manager decision, no trigger conditions, and zero data coverage in this run. The only defensible action is watch-only/hold pending fresh review rather than treating the position as actionable.",
      "counter_evidence": [
        "Missing analysis for held position",
        "No company news, disclosures, macro items, or social signal coverage available",
        "No structured decision, investment plan, or portfolio manager decision provided",
        "No trigger conditions or triggered action identified"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "insufficient_data_coverage",
        "held_position_requires_review"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held NVDA position has no current analysis, no trigger conditions, and rule-only HOLD/WAIT output. This is a maintenance/watch-only state rather than an actionable thesis.",
      "counter_evidence": [
        "Missing analysis for held position",
        "No company news, disclosures, social, or macro coverage in this run",
        "No trigger conditions or structured decision were provided",
        "Decision source is rule-only with low confidence"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held RSP position has no current analysis, no trigger conditions, no news/macro/disclosure coverage, and only a rule-based HOLD/WAIT interpretation. This is a maintenance/watch-only state rather than an actionable thesis.",
      "counter_evidence": [
        "Missing analysis for held position",
        "No trigger conditions were provided",
        "Data coverage is effectively zero across company news, disclosures, social, and macro inputs",
        "Decision source is RULE_ONLY with weak setup quality and low confidence"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "insufficient_data_coverage",
        "rule_only_decision",
        "weak_setup_quality"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held TSLA position has no current analysis, no news/macro/social/disclosure coverage, and no defined trigger conditions. The only supported action is to maintain watch/hold status until real analysis or actionable triggers are available.",
      "counter_evidence": [
        "Missing analysis for a held position",
        "No trigger conditions are provided",
        "Data coverage is effectively zero across company news, disclosures, social, and macro inputs",
        "Decision source is rule-only with weak setup quality and low confidence"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "zero_data_coverage",
        "rule_only_decision",
        "weak_setup_quality"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.76,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM thesis is constructive for an existing/partial overweight: AI-driven revenue growth, high margins, strong trend recovery above key moving averages, and MACD reversal support the bullish case. Timing is not yet actionable for adding because price has already rebounded sharply and is near Bollinger/prior-high resistance; the plan explicitly says HOLD/WAIT until either a volume-backed close above 378.90 or a controlled pullback holding the 359.54-351.56 support zone confirms entry.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is near Bollinger resistance around 378.90 and prior highs at 384.67-386.64, making immediate chase risk unattractive.",
        "Recent volume has reportedly fallen back toward the 9 million share range after the April 8 spike, so breakout demand still needs confirmation.",
        "ATR is elevated at 12.64, requiring smaller sizing and increasing gap/volatility risk.",
        "Earnings and guidance expectations for AI/HPC demand, margins, utilization, and capex efficiency are high and could disappoint."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_overweight_bias",
        "entry_wait_explicit",
        "setup_developing",
        "needs_volume_breakout_confirmation",
        "near_resistance_zone",
        "support_pullback_alternative",
        "elevated_volatility",
        "event_guidance_risk"
      ],
      "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.78,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VRT has a constructive medium-term thesis supported by AI data-center power/cooling demand, improving fundamentals, positive trend structure, S&P 500 inclusion, BMarko integration, and analyst support. Timing is not yet actionable for adding because the stock is extended after a sharp rebound, RSI is overbought, ATR/beta are high, and the stated action is WAIT/HOLD until either a volume-backed close above 312.46 or a controlled pullback holding 299.96/295.11 confirms entry conditions.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is extended after roughly a 32.6% rebound from near 234.22 to 310.51.",
        "RSI around 70.99 indicates overbought short-term conditions.",
        "High beta around 2.05 and ATR around 13.92 make near-term entry risk asymmetric.",
        "Valuation is demanding, including trailing P/E near 90 and P/B near 29.9.",
        "Some analyst target evidence is not uniformly supportive, with Barclays target around 300 below the cited close.",
        "Intraday same-day snapshot is missing and disclosures coverage is absent."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "overbought_rsi",
        "extended_after_sharp_rebound",
        "volume_confirmation_required",
        "pullback_support_alternative",
        "high_volatility_position_sizing",
        "valuation_risk",
        "data_quality_intraday_gap"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.36,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "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 international diversification/rebalancing rationale. Timing is not yet actionable because the recommendation is explicitly WAIT/HOLD, price is near the 82.90 breakout level and 84.11-84.28 resistance, RSI has risen quickly, volatility is elevated, and entry requires either a pullback-and-rebound near 80.10-79.70 or a confirmed high-volume breakout.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is HOLD, not immediate add.",
        "Price is close to resistance at 84.11-84.28 after a sharp rebound from 74.71 to 82.81.",
        "RSI has risen to 66.06 and could become overheated near resistance without volume confirmation.",
        "ATR is elevated at 1.52, implying higher tactical risk and reduced position sizing.",
        "Same-day intraday snapshot is missing and vendor fallback count is elevated."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "wait_for_confirmation",
        "near_resistance_zone",
        "pullback_or_breakout_trigger_required",
        "elevated_rsi_after_rebound",
        "higher_volatility",
        "data_quality_caveat"
      ],
      "review_required": false
    }
  ]
}