{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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": "AAPL has a constructive medium-term overweight thesis supported by earnings quality, free cash flow, buybacks, China shipment recovery, services durability, and improving momentum above key moving averages. However, the table explicitly says entry_action is WAIT and setup_quality is DEVELOPING; immediate add/chase is not justified until either a controlled 260-261 support test stabilizes or a volume-confirmed close above 266.56 occurs.",
      "counter_evidence": [
        "Entry action is WAIT and execution_feasibility_now is not_actionable_now.",
        "Timing is incomplete because the setup requires either 260-261 support confirmation or a 266.56 volume-backed close.",
        "Valuation is elevated with trailing P/E near 33.3, forward P/E near 28.3, and PEG near 2.37.",
        "270-275 resistance is nearby and ATR around 5.90 indicates elevated short-term volatility.",
        "Same-day intraday volume confirmation was not available, so liquidity and breakout quality must be rechecked before orders.",
        "Loss of 256.48 VWMA or decisive break of the 251.51-251.83 200-day SMA zone would weaken or invalidate the recovery thesis."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "developing_setup",
        "confirmation_required",
        "breakout_or_pullback_trigger",
        "elevated_valuation_risk",
        "nearby_resistance",
        "high_short_term_volatility",
        "intraday_confirmation_missing",
        "held_position_add_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "COST has a constructive medium-term quality thesis supported by strong fundamentals, cash flow, ROE, and dividend growth, but timing is not actionable now. Price remains below the 994-1000 resistance cluster and key short/intermediate averages, MACD histogram is negative, RSI is neutral, and relative volume confirmation is absent. A small starter is only justified after a confirmed close above 994-1000/1000 with volume and improving MACD, or a defended 974-980 support retest with improving RSI/MACD.",
      "counter_evidence": [
        "Current price around 984.75 is below the 10-day EMA, 50-day SMA, and VWMA, so the technical setup has not confirmed.",
        "MACD histogram remains negative and RSI near 47 is neutral rather than an oversold reversal signal.",
        "Relative volume confirmation is not present, and execution feasibility is marked not actionable now.",
        "Valuation is demanding with PER near 51x, forward PER near 44x, PEG above 5, and thin margins, increasing sensitivity to small disappointments.",
        "A close below 968 or break near the 947 200-day area would shift the setup toward tactical or structural risk."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_wait_state",
        "below_key_moving_averages",
        "breakout_confirmation_required",
        "momentum_not_confirmed",
        "volume_confirmation_missing",
        "high_valuation_risk",
        "defined_support_and_invalidation_levels"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "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 ETHU position has no current run analysis, no trigger conditions, no news/macro/social coverage, and only a rule-only HOLD/WAIT interpretation. This is not actionable and should remain watch-only until fresh analysis or explicit confirmation is available.",
      "counter_evidence": [
        "Missing analysis for a held position.",
        "No structured decision, investment plan, or portfolio manager decision is available.",
        "No trigger conditions or trigger profile rules are defined.",
        "Data coverage is effectively absent across company news, disclosures, social, and macro inputs."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "held_position_watch_only"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "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": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, debt reduction, AI power infrastructure exposure, and analyst target upgrades, but timing is not confirmed. Current guidance is to hold existing exposure and wait before adding until support at 388-390 is defended or price reclaims 400 and potentially breaks 407.01 with clear volume confirmation, while earnings quality and demand commentary remain important confirmation events.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is near recent highs with elevated valuation multiples, leaving limited room for disappointment.",
        "MACD histogram is fading and RSI is cooling, so momentum confirmation is incomplete.",
        "Relative volume confirmation is not present despite session VWAP being acceptable.",
        "Q1 earnings, orders, backlog, margins, and demand conversion still need confirmation."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "held_position_core_hold",
        "add_only_if_triggered",
        "breakout_requires_volume",
        "support_defense_required",
        "earnings_confirmation_pending",
        "momentum_cooling",
        "valuation_risk_near_highs",
        "not_actionable_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term FANG thesis is constructive on Permian scale, cash flow, debt reduction, shareholder returns, and supportive oil leverage, but entry timing is not confirmed. Current price remains below key near-term repair levels around the 10-day EMA and VWAP, RSI is below 50, MACD remains negative, and recent high-volume weakness argues for waiting. A starter is only justified after a confirmed daily close above roughly 191.9-192 with above-average volume and RSI recovery, or a successful 181-182 support test without further high-volume downside.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price remains below 10-day EMA 188.78 and VWAP 191.89, with RSI 48.66 and MACD histogram -1.88.",
        "Recent high-volume weakness on 2026-04-14 and the 2026-04-08 low at 175.14 show sellers have not been fully absorbed.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with delayed/non-realtime quote capability.",
        "Balance-sheet and liquidity risks include Current Ratio 0.416, negative working capital, net debt, and insider/sponsor selling risk."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "breakout_not_confirmed",
        "below_vwap_and_short_ema",
        "momentum_below_threshold",
        "support_test_pending",
        "degraded_execution_data",
        "starter_only_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis supported by power demand, grid/gas turbine exposure, improving profitability, and an intact uptrend, but the current setup is not ready for immediate entry. Price is near the 985-1007 resistance zone, momentum is cooling, relative volume confirmation is absent, and the plan explicitly requires either a volume-supported close above 1007.38 or a controlled pullback holding 956-960 before a starter position is justified.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not immediate buy.",
        "Price is near resistance around 985-1007 while MACD histogram is fading and RSI has cooled.",
        "Relative volume confirmation is not currently present and intraday confirmation was unavailable.",
        "Valuation is demanding, with elevated P/E and P/B multiples leaving limited room for disappointment.",
        "Vineyard Wind liability and blade defect uncertainty remain material risks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_waiting_for_confirmation",
        "breakout_requires_volume_close",
        "pullback_support_alternative",
        "momentum_cooling_near_resistance",
        "relative_volume_not_confirmed",
        "valuation_risk_elevated",
        "legal_liability_overhang"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "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": "GLDM is a held position, but this run contains no instrument-level analysis, no explicit investment plan, no trigger conditions, and no actionable timing signal. The appropriate interpretation is maintain/watch only, not add, trim, or execute based on this context.",
      "counter_evidence": [
        "Held position has missing analysis flag.",
        "No trigger conditions or confirmation rules are provided.",
        "Decision source is rule-only with neutral stance, weak setup quality, and not actionable now.",
        "Coverage is effectively absent across news, disclosures, social, and macro inputs."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "neutral_hold_watch"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by strong fundamentals, price above key moving averages, and positive MACD, but current action is HOLD/WAIT rather than add. Timing is incomplete because the setup requires either support confirmation around 317.24-321.31/10 EMA 320.61 or a volume-backed daily close above 337.12, while RSI near 70, elevated ATR, a fast rally, valuation, and Q1/AI capex risk argue against chasing now.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not actionable.",
        "RSI 70.19 and elevated ATR 8.29 indicate near-term overbought/volatile conditions after a fast rebound from 274.34 to the mid-330s.",
        "Relative volume is not confirmed and breakout above 337.12 requires volume-backed close confirmation.",
        "Q1 earnings, AI capex guidance, depreciation, Cloud margins, and free cash flow conversion remain unresolved event risks.",
        "Valuation around 31x TTM earnings and high AI infrastructure spending expectations create bad-entry-price risk."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "support_or_breakout_confirmation_required",
        "overbought_rsi",
        "elevated_atr",
        "volume_not_confirmed",
        "earnings_capex_event_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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": "LHX has a constructive medium-term defense and cash-flow thesis, and existing holders can maintain exposure, but the table explicitly says WAIT for additional buying. Price is still inside the 340-365 range with neutral RSI, weak/uncertain MACD confirmation, and no volume-confirmed breakout, so timing is not actionable now. A daily close above 365 on materially higher volume, or a disciplined pullback holding 340 with improving reversal volume, would be needed before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not_actionable_now.",
        "Price remains in the middle of the 340-365 range rather than above resistance.",
        "RSI near 48.79 and MACD around 0.28 do not confirm momentum.",
        "Volume confirmation above the recent 1.0M-1.4M share range has not occurred.",
        "Margin recovery and repeatable free cash flow quality still need confirmation."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "range_bound_price_action",
        "neutral_momentum",
        "volume_confirmation_missing",
        "existing_holder_hold_only",
        "defined_breakout_and_pullback_triggers"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LLY has a constructive medium-term overweight thesis supported by strong growth, margins, EPS expansion, and Foundayo-related catalysts, but the action table is explicitly not ready for immediate entry. Price is sitting just above 200-day support near 902-903, remains below the preferred 923-925 reclaim zone, and requires volume-backed daily close confirmation or a cleaner support-defense pattern before a starter position is justified.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Recent close near 905 is only slightly above 200-day support at 902-903, while ATR around 28 makes the support test fragile.",
        "Price has not reclaimed the 923-925 confirmation zone with volume and remains below higher resistance near 939-955 and 976-979.",
        "Free cash flow conversion, capex, debt, FDA labeling/timing, and competitive GLP-1 pressure remain material thesis risks."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "support_test_near_200dma",
        "high_atr_vs_support_distance",
        "volume_confirmation_required",
        "event_and_fcf_risks"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term overweight thesis supported by AI, memory and foundry equipment demand, strong margins, cash flow, and an uptrend above key moving averages. Timing is not actionable now because the decision explicitly says WAIT, price is extended near highs, momentum is decelerating, and earnings/export-control event risk remains unresolved. A starter position only becomes reasonable after either controlled support confirmation near 252.84 with healthy RSI and fading selling volume, or a high-volume breakout above 272.41 with no negative earnings or BIS confirmation.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is near the 52-week high with elevated valuation multiples including trailing P/E near 53, forward P/E near 36, and P/B above 32.",
        "MACD histogram is decelerating and ATR near 11.85 indicates elevated volatility.",
        "2026-04-22 Q3 earnings and BIS export-control uncertainty could create adverse confirmation before entry triggers mature.",
        "No current session VWAP or relative-volume confirmation is present."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "setup_developing_not_confirmed",
        "breakout_or_pullback_confirmation_needed",
        "earnings_event_risk_pending",
        "export_control_risk_pending",
        "extended_valuation_near_highs",
        "momentum_deceleration",
        "not_actionable_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "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": "MU has a constructive medium-term thesis supported by AI/HBM and advanced DRAM demand, strong margins, cash flow, and positive trend structure, but current execution is not ready because price is extended after a sharp rebound and is near 471.14 resistance. Action should remain watch-only until either a volume-confirmed close above 471.14 with follow-through or a controlled pullback that confirms 424-426 support.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not actionable.",
        "Price has rebounded roughly 42% from the 2026-03-30 low and is near resistance, making immediate chase risk elevated.",
        "No current session VWAP or relative-volume confirmation is present.",
        "Key downside levels remain active: failure to hold 456 after a resistance test, loss of 424-426 support, or decisive break of 404-405 50-day SMA.",
        "Fundamental risks include HBM/DRAM pricing weakness, inventory digestion, margin rollover, receivables failing to convert to cash, capex burden, and broader insider selling."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_after_extended_rebound",
        "support_retest_alternative",
        "volume_confirmation_required",
        "not_actionable_now",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NET has a constructive medium-term OVERWEIGHT thesis supported by strong revenue growth, high gross margin, positive free cash flow, AI/security partnership optionality, and favorable analyst targets. Timing is not yet actionable because price remains below key VWMA/EMA/SMA resistance levels, MACD is still negative, RSI is only neutral, and the plan explicitly calls for waiting for a volume-confirmed close above $192.70-$194.37 before starting a reduced position.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy.",
        "Price is below VWMA $192.70, 10-day EMA $193.83, 50-day SMA $194.37, and 200-day SMA $202.01.",
        "MACD remains negative and RSI 49.58 does not confirm bullish momentum.",
        "Relative volume is not confirmed and execution feasibility now is not_actionable_now.",
        "Valuation is demanding with forward P/E 136.9, P/B 47.6, PEG 2.38, SBC/dilution risk, insider sales, and high-beta software downside risk."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "volume_confirmation_missing",
        "momentum_not_confirmed",
        "high_valuation_risk",
        "reduced_starter_only_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NVDA thesis is constructive for an existing overweight/hold: price has reclaimed key moving averages, momentum and volume have improved, and AI infrastructure fundamentals remain supportive. Timing is not ready for immediate add because the plan explicitly says WAIT and requires either a confirmed daily close above the 196.51-200.40 breakout zone with sustained volume or a controlled pullback/reversal near 189.12.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "RSI near 68.90, elevated ATR around 5.27, and beta 2.335 increase chase and mean-reversion risk after a sharp rebound.",
        "Intraday confirmation was unavailable and realtime quote capability was limited.",
        "A failed breakout near 200 or loss of 189.12 with MACD histogram deterioration would weaken tactical timing.",
        "Close below the 181.52-182.74 moving-average support cluster or deterioration in AI demand, margin, guidance, or free cash flow would invalidate the medium-term thesis."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "trigger_required_before_add",
        "breakout_confirmation_needed",
        "pullback_reversal_alternative",
        "overbought_chase_risk",
        "elevated_volatility",
        "held_position_hold_not_add_now",
        "intraday_confirmation_missing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ORCL has a constructive medium-term AI/OCI thesis with credible catalysts, improving momentum, and defined entry triggers, but the current setup is not actionable because price has already rebounded sharply into overbought resistance near 171. A starter position should wait for either a confirmed daily breakout above 171 with above-average volume and follow-through, or a controlled pullback to 153-157 that holds above the 50-day area with renewed buying.",
      "counter_evidence": [
        "Immediate entry is explicitly marked WAIT/WATCH and not actionable now.",
        "Price has rebounded sharply from 138.09 to 169.81 in a few sessions and is near the upper Bollinger band around 170.71.",
        "RSI near 70.88 and ATR around 8.16 indicate elevated short-term extension and volatility.",
        "The stock remains below the 200-day SMA near 214.26, so long-term trend repair is incomplete.",
        "Free cash flow is deeply negative and leverage/debt-funded data-center capex remain material thesis risks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "explicit_wait_entry_action",
        "breakout_not_confirmed",
        "pullback_entry_not_confirmed",
        "overbought_near_resistance",
        "below_200_day_trend",
        "fcf_and_leverage_risk",
        "defined_but_untriggered_levels"
      ],
      "review_required": false
    },
    {
      "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": "RSP is a held position, but this run contains no substantive analysis, no portfolio manager decision, no investment plan, and no trigger conditions. The only defensible interpretation is to maintain a watch/hold posture rather than treat the position as actionable.",
      "counter_evidence": [
        "Held position has missing analysis flag.",
        "No company news, disclosures, social, or macro coverage was available in the candidate context.",
        "No trigger conditions or trigger profile rules were provided.",
        "Suggested action is HOLD with execution feasibility marked not actionable now."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "held_position_watch_only"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.58,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSLA thesis is conditionally constructive for an existing holder, but the action is not ready now. The plan explicitly says HOLD/WAIT, with any add dependent on a close above the 398 resistance cluster, next-session support confirmation, better volume quality, and/or a credible 2026-04-22 update. Until those conditions occur, this remains a developing setup rather than an actionable entry.",
      "counter_evidence": [
        "Price remains below the 398 resistance area where the 200 SMA and upper Bollinger band converge.",
        "Entry action is WAIT and execution feasibility is not_actionable_now.",
        "Valuation is stretched with high P/E and forward P/E, raising compression risk.",
        "Fundamental concerns remain around revenue, margins, FCF, and finished-goods inventory.",
        "The 2026-04-22 company update is still needed to confirm demand, margin, FCF, robotaxi, AI, and semiconductor execution details.",
        "Failure at 398 followed by a close below 390 would shift the setup toward trim/reduction."
      ],
      "reason_codes": [
        "hold_wait_not_actionable_now",
        "constructive_but_unconfirmed_setup",
        "breakout_above_398_required",
        "next_session_support_confirmation_required",
        "event_confirmation_pending",
        "valuation_and_fundamental_risks",
        "existing_position_maintain_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.36,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong Q1 profit growth, raised revenue outlook, AI/3nm demand, and price still above major moving averages. However, the action is explicitly WAIT/HOLD because price has already rebounded sharply into the 380-385 resistance area, momentum has cooled, and new buying is conditional on either a 362-365 support hold or a confirmed close above 380-385 with MACD and volume confirmation.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is near 380-385 resistance after a sharp rebound from 316.50 to 375.10.",
        "RSI cooled from 66.01 to 55.44 and MACD eased from 7.39 to 7.11.",
        "ATR is elevated near 12.58, so position sizing should remain staged and smaller than normal.",
        "Alpha Vantage news and macro calls had fallback/timeouts, and disclosures coverage is zero.",
        "Downside invalidation remains relevant if TSM loses 350-353 on a closing basis."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_action_wait",
        "not_actionable_now",
        "confirmation_required",
        "resistance_nearby",
        "momentum_cooling",
        "support_or_breakout_trigger_needed",
        "held_position_hold_not_add",
        "medium_quality_trigger",
        "partial_data_fallbacks"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "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": "VRT has a constructive medium-term overweight thesis supported by strong trend, fundamentals, AI data-center demand, and cash flow, but the action is explicitly WAIT/HOLD. Adding is not actionable until either a volume-backed daily close above 310.51-312.46 or a confirmed 287-290 support pullback occurs; earnings and guidance confirmation remain important before increasing size.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Relative volume is not confirmed and the breakout trigger has not occurred.",
        "Valuation is elevated with trailing P/E near 86, forward P/E near 36, P/B near 28.5, beta above 2, and ATR around 4.6%.",
        "Upcoming earnings and guidance create event risk around orders, margins, free cash flow, and AI data-center demand.",
        "MACD histogram is described as slowing, reducing urgency for chase buying."
      ],
      "reason_codes": [
        "constructive_thesis_wait_for_confirmation",
        "breakout_trigger_not_confirmed",
        "pullback_support_trigger_not_confirmed",
        "event_risk_before_adding",
        "high_valuation_and_volatility",
        "held_position_maintain_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.05,
      "timing_readiness": 0.05,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "neutral_watch",
      "semantic_summary": "VXUS is a held position, but this run contains no substantive analysis, no trigger conditions, no investment plan, and rule-only guidance to hold/watch. Timing is not actionable and should remain a monitoring state rather than a buy, trim, or exit signal.",
      "counter_evidence": [
        "Held position is missing current analysis for this run.",
        "No company news, macro items, disclosures, social inputs, trigger rules, or portfolio manager decision were provided.",
        "Suggested action is HOLD with no triggered action and execution feasibility marked not actionable now."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "not_actionable_now",
        "insufficient_data_coverage"
      ],
      "review_required": false
    }
  ]
}