{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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": "AAPL thesis is constructive for an existing holding and possible staged overweight: fundamentals, free cash flow, buybacks, China shipment recovery, services durability, and improving technicals support the bullish bias. Timing is not complete because the plan explicitly says to wait for either a controlled 260-261 support test with fading selling pressure or a confirmed close above 266.56 with volume before adding. Current action is HOLD, not immediate ADD.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "The setup is described as developing, not confirmed.",
        "No same-day intraday volume or liquidity confirmation was available.",
        "Valuation is elevated with trailing P/E near 33.3, forward P/E near 28.3, and PEG near 2.37.",
        "Nearby 270-275 resistance and ATR around 5.90 imply elevated short-term volatility.",
        "Breaks below 256.48 VWMA or the 251.51-251.83 200-day SMA zone would weaken or invalidate the recovery thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "trigger_required_before_add",
        "breakout_or_support_confirmation_needed",
        "elevated_valuation_risk",
        "nearby_resistance",
        "intraday_confirmation_missing",
        "held_position_hold_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "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 moving averages, with negative MACD histogram and neutral RSI. Entry should wait for a confirmed close above 994-1000 with volume and momentum improvement, or a defended 974-980 support retest with RSI/MACD improvement; otherwise it remains a watchlist starter candidate only.",
      "counter_evidence": [
        "Current price is below the 10-day EMA, 50-day moving average, and VWMA, so resistance has not been reclaimed.",
        "MACD histogram remains negative and RSI is neutral rather than oversold or clearly turning up.",
        "Valuation is demanding, with PER near 51x, forward PER near 44x, PEG above 5, and thin margin structure.",
        "A close below 968 would trigger tactical risk reduction, while a break near 947 would imply structural trend damage.",
        "Monthly sales, traffic, membership, and margin data still need to justify the premium valuation."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_waiting_for_confirmation",
        "price_below_key_resistance",
        "negative_momentum_not_resolved",
        "starter_only_if_triggered",
        "valuation_risk_elevated",
        "defined_downside_invalidators"
      ],
      "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": "ETHU is a held position, but the run contains no usable instrument analysis, no trigger conditions, no investment plan, and no confirmation evidence. The only defensible interpretation is to maintain watch/hold status rather than treat this as an actionable setup.",
      "counter_evidence": [
        "Held position is missing analysis for this run.",
        "No trigger conditions or trigger profile rules are provided.",
        "Decision source is rule-only with neutral stance, weak setup quality, and not actionable execution feasibility.",
        "Data coverage is effectively absent across news, disclosures, social, and macro inputs."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "weak_setup_quality",
        "not_actionable_now",
        "insufficient_data_coverage"
      ],
      "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.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, deleveraging, AI/data-center power infrastructure exposure, and analyst target-price support. Timing is not yet actionable because the plan explicitly says WAIT, avoids chasing near recent highs, and requires support defense at 388-390 or a reclaim of 400/407.01 with stronger volume before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is near recent highs while valuation is elevated, leaving limited room for disappointment.",
        "MACD histogram is fading and RSI is cooling, so momentum confirmation is incomplete.",
        "Earnings, backlog, margin, and demand confirmation are still pending.",
        "A close below 388, loss of VWMA near 377, or loss of 50-day SMA near 370 would weaken or invalidate the setup."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "held_position_core_hold",
        "entry_wait_required",
        "breakout_confirmation_needed",
        "support_confirmation_needed",
        "volume_confirmation_missing",
        "near_high_valuation_risk",
        "momentum_cooling",
        "earnings_event_pending",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "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": "FANG has a constructive medium-term overweight thesis supported by Permian scale, cash flow, debt reduction, shareholder returns, oil leverage, and analyst target support, but timing is not yet actionable. Current price remains below key near-term confirmation levels around the 10-day EMA/VWAP and 191.9-192, RSI is still below 50, MACD momentum is negative, and recent high-volume weakness argues for waiting. A starter position is only justified after a confirmed close above 192 with above-average volume and RSI recovery, or a successful 181-182 support test with improving momentum.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not_actionable_now.",
        "Price remains below the 10-day EMA near 188.78 and VWAP near 191.89, so the primary breakout trigger has not confirmed.",
        "RSI 48.66 and MACD histogram -1.88 indicate momentum has not recovered.",
        "Recent high-volume weakness on 2026-04-14 and the 2026-04-08 low at 175.14 leave downside risk unresolved.",
        "A close below 181 or break of 175.14 would invalidate the tactical setup."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "momentum_below_confirmation",
        "support_test_pending",
        "high_volume_weakness_risk",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "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": "GEV has a constructive medium-term thesis supported by power demand, grid modernization, gas turbine exposure, improving profitability, and an intact rising technical trend. Timing is not actionable now because the stock is near 985-1007 resistance, momentum has cooled, intraday confirmation is unavailable, and the plan explicitly calls for waiting for either a volume-supported close above 1007.38 or a controlled support/reversal setup near 956-960 or 920.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, so the setup is not immediately executable.",
        "Price is close to the 985-1007 resistance zone, making chase risk elevated.",
        "MACD histogram has slowed and RSI has cooled from near-overbought levels.",
        "Breakout requires a close above 1007.38 with volume above the recent 1.4M-2.3M share range, which is not yet confirmed.",
        "Vineyard Wind liability, valuation compression, and earnings quality remain material risks."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "near_resistance",
        "momentum_cooling",
        "volume_breakout_required",
        "support_reversal_alternative",
        "valuation_risk",
        "legal_liability_risk"
      ],
      "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": "Held GLDM position has no current run analysis, no portfolio decision, no investment plan, and no defined trigger conditions. Existing HOLD/WAIT interpretation is rule-only and not actionable, so this should remain a watch-only or manual-review item rather than a timing-ready action.",
      "counter_evidence": [
        "Held position is flagged as missing current analysis.",
        "No trigger conditions or trigger profile rules are defined.",
        "Decision source is RULE_ONLY with weak setup quality and neutral stance.",
        "No company news, disclosures, social, or macro coverage is available in the candidate context."
      ],
      "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.42,
      "trigger_type": "breakout_confirmation",
      "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 profitability, cash generation, price above key moving averages, and improving MACD, but the action is still WAIT/HOLD because the setup is developing rather than confirmed. Additional exposure should wait for support confirmation around 317.24-321.31 with 10 EMA 320.61 held or reclaimed, or a volume-backed daily close above 337.12. Elevated RSI, recent rapid rally, high ATR, valuation, and upcoming earnings/AI capex guidance keep timing below actionable readiness.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not_actionable_now.",
        "RSI near 70.19 and the fast rebound from 274.34 to the mid-330s indicate near-term overbought/chase risk.",
        "Q1 earnings, AI capex guidance, depreciation, Cloud margin, and free cash flow risks remain unresolved.",
        "Valuation is demanding around 31x TTM earnings and capex expectations are high.",
        "No confirmed volume-backed close above 337.12 or verified support hold near 317.24-321.31 is present."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "developing_setup",
        "breakout_or_support_confirmation_needed",
        "overbought_rsi",
        "earnings_capex_event_risk",
        "valuation_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 thesis supported by rocket motor expansion, government funding narrative, missile and hypersonics demand, strong reported free cash flow, and debt reduction. However, current timing is not actionable because price remains mid-range between 340 and 365, momentum is neutral, and the plan explicitly says WAIT/HOLD until a confirmed breakout above 365 with strong volume or a controlled pullback holding above 340.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not_actionable_now.",
        "Price is described as mid-box within the 340-365 range rather than breaking resistance.",
        "RSI around 48.79 and MACD around 0.28 indicate unconfirmed momentum.",
        "Additional buying is explicitly discouraged until confirmation despite bullish stance.",
        "Free cash flow quality, margin recovery, valuation, and event gap risk remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_midpoint_no_confirmation",
        "breakout_trigger_defined",
        "volume_confirmation_required",
        "neutral_momentum",
        "existing_holder_hold_not_add",
        "risk_level_340_defined",
        "event_and_fundamental_confirmation_needed"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LLY has a constructive medium-term overweight thesis supported by strong growth, high margins, EPS expansion, and Foundayo-related catalysts, but the action table explicitly says WAIT because price is only marginally above 200-day support and has not reclaimed the 923-925 confirmation zone with volume. Timing is therefore watchlist-only until a daily close above 923-925 with volume, a successful retest, or a clear 902-903 support defense with improving RSI/MACD.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable_now.",
        "Recent price near 905 is only slightly above 200-day support at 902-903, while ATR around 28 makes the support hold technically fragile.",
        "Price remains below the preferred 923-925 reclaim zone and below higher resistance/trend repair areas at 939-955 and 976-979.",
        "Free cash flow, capex, leverage, FDA label/timing, and GLP-1 competitive risks remain material thesis risks."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_trigger_required",
        "near_critical_support",
        "elevated_atr_vs_support_distance",
        "not_actionable_now",
        "event_and_fcf_risks"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "event_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term overweight thesis supported by AI capex demand, strong profitability, free cash flow, and an uptrend above key moving averages, but the table explicitly says WAIT. Timing is not actionable now because price is near highs, momentum is decelerating, volatility is elevated, and Q3 earnings plus BIS export-control risk remain unresolved. A starter position is only justified after confirmation from earnings/export-control evidence, a controlled pullback holding 252.84 with RSI above 55 and lighter selling, or a high-volume breakout above 272.41.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is extended near the 52-week high with elevated ATR around 11.85.",
        "MACD histogram is decelerating, so momentum confirmation is incomplete.",
        "Q3 earnings on 2026-04-22 and BIS export-control uncertainty could create adverse event risk.",
        "Valuation is demanding with trailing P/E around 53, forward P/E around 36, and P/B above 32."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait",
        "event_risk_before_entry",
        "breakout_or_pullback_confirmation_needed",
        "extended_near_highs",
        "momentum_deceleration",
        "elevated_valuation",
        "not_currently_actionable"
      ],
      "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 reported profitability, cash flow, and improving technical trend. However, the current action is WAIT because price is extended after a sharp rebound and is near 471.14 resistance. Timing becomes actionable only after a volume-confirmed close above 471.14 with follow-through, or a controlled pullback that confirms support near 424-426.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility is not actionable now.",
        "Price is near 471.14 resistance after an approximately 42% rebound from the 2026-03-30 low, making chase risk elevated.",
        "Trigger rules require confirmation through volume, follow-through close, or support retest; these are not yet satisfied.",
        "High ATR around 26 and beta around 1.606 require reduced sizing and staged entry.",
        "Invalidation risks include HBM/DRAM pricing weakness, margin guidance rollover, receivables failing to convert to cash, broader insider selling, and decisive break below 404-405."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "near_resistance_after_sharp_rebound",
        "breakout_confirmation_required",
        "support_retest_alternative",
        "high_volatility_reduced_sizing",
        "not_actionable_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "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": "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 supportive analyst targets. Timing is not actionable now because entry_action is WAIT, price remains below key VWMA/EMA/SMA resistance, MACD is still negative, RSI is not confirming, and the plan requires a volume-backed close above $192.70-$194.37 before even a reduced starter position.",
      "counter_evidence": [
        "Current 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 near 49.58 does not confirm bullish momentum.",
        "The candidate is not held and suggested_action_now is WATCH, with execution_feasibility_now marked not_actionable_now.",
        "Valuation and risk flags are elevated, including forward P/E 136.9, P/B 47.6, PEG 2.38, insider selling, SBC, dilution, debt sensitivity, and high-beta software drawdown risk.",
        "Data coverage is only moderate with no disclosures and social sentiment derived from news fallback."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "momentum_unconfirmed",
        "volume_confirmation_required",
        "reduced_starter_only_if_triggered",
        "valuation_risk_elevated",
        "not_held_watchlist_candidate"
      ],
      "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, supported by recovered moving-average structure, improving MACD, strong recent volume, and AI infrastructure fundamentals. Timing is not yet actionable for adding because the plan explicitly says WAIT after a sharp rebound, with confirmation required via a daily close above 200.40 with sustained volume or a controlled pullback and strong recovery near 189.12.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "RSI near 68.90, elevated ATR 5.27, beta 2.335, and a fast rebound from 165.17 to 198.87 raise chase and mean-reversion risk.",
        "Intraday confirmation data is unavailable, and breakout rules are not populated beyond daily close conditions.",
        "Regulatory, China/export-control, supply-chain, and AI-theme rotation risks remain explicit invalidators."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_overweight_hold",
        "entry_wait_for_confirmation",
        "breakout_close_required",
        "pullback_alternative_trigger",
        "elevated_volatility_and_beta",
        "near_overbought_after_sharp_rebound",
        "intraday_confirmation_missing",
        "medium_trigger_quality"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "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": "ORCL has a constructive medium-term AI/OCI thesis supported by cloud catalysts, database adoption, revenue growth, margin strength, and improving momentum, but the current setup is not actionable. Price has already rebounded sharply into an overextended area near the upper Bollinger band with RSI elevated, while the long-term trend remains unconfirmed below the 200-day average. Entry should wait for either a controlled pullback that holds above the 50-day area or a confirmed breakout above 171 with above-average volume and follow-through.",
      "counter_evidence": [
        "Recent sharp rebound from 138.09 to 169.81 makes immediate chase risk unattractive.",
        "RSI around 70.88 and proximity to the upper Bollinger band near 170.71 indicate overextension.",
        "Price remains below the 200-day moving average 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 risks.",
        "No current trigger has confirmed; proposed entries require either pullback support or breakout follow-through."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "overextended_short_term_price",
        "breakout_not_confirmed",
        "pullback_support_not_confirmed",
        "long_term_trend_unrepaired",
        "fcf_and_leverage_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.05,
      "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 investment plan, no explicit trigger conditions, and only a rule-only HOLD/WAIT interpretation. There is not enough evidence to treat the thesis as constructive or actionable, so timing should remain unavailable rather than merely early.",
      "counter_evidence": [
        "Missing analysis for a held position",
        "No trigger conditions or trigger profile rules provided",
        "Decision source is RULE_ONLY with weak setup quality and low confidence",
        "Suggested action if triggered is NONE"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "weak_setup_quality",
        "low_confidence",
        "not_actionable_now"
      ],
      "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.64,
      "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 a developing setup, requiring a daily close above 398, next-session support confirmation, and healthier volume before adding. Event confirmation from the 2026-04-22 update is also important, but the near-term actionable trigger is breakout confirmation above the clustered 398 resistance area.",
      "counter_evidence": [
        "Price remains below the 398 resistance zone where the upper Bollinger band and 200 SMA converge.",
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Valuation is stretched with cited P/E and forward P/E concerns.",
        "Fundamental risks include revenue, margin, FCF, and finished-goods inventory pressure.",
        "A close below 390 after rejection at 398 would trigger reduction, and a decisive break below 368 would invalidate tactical exposure.",
        "The 2026-04-22 update must provide concrete demand, margin, FCF, robotaxi, AI, and semiconductor evidence before chasing strength."
      ],
      "reason_codes": [
        "hold_wait_setup",
        "constructive_but_unconfirmed",
        "breakout_above_398_required",
        "next_session_support_required",
        "volume_confirmation_required",
        "event_confirmation_pending",
        "valuation_risk_high",
        "fundamental_quality_risk",
        "defined_risk_levels_390_368"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "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 and 3nm demand, and intact moving-average trend structure. Timing is not actionable now because the position is already held, entry_action is WAIT, price is near 380-385 resistance after a sharp rebound, momentum has cooled, and additions require either 362-365 support confirmation or a close above 380-385 with MACD and volume confirmation.",
      "counter_evidence": [
        "Immediate add is not confirmed because price is near the 380-385 resistance zone after a rapid rebound.",
        "RSI has cooled and MACD has eased, so momentum confirmation is incomplete.",
        "ATR is elevated and position sizing guidance calls for only small staged additions after confirmation.",
        "A close below 353, or sustained closes below 350, would shift the setup toward risk reduction.",
        "Data quality is imperfect with fallback vendor calls and no disclosures coverage."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "held_position_hold_now",
        "resistance_nearby_after_rebound",
        "momentum_confirmation_incomplete",
        "requires_close_confirmation",
        "support_or_breakout_trigger_needed",
        "risk_level_defined_below_350_353",
        "medium_trigger_quality"
      ],
      "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 thesis supported by strong trend positioning, AI data-center infrastructure demand, earnings/free-cash-flow strength, and an OVERWEIGHT/BULLISH stance, but the action is explicitly WAIT/HOLD. Additional buying is not ready until either a volume-backed daily close above 310.51-312.46 confirms a breakout, or a controlled pullback holds 287-290 with improving momentum and no negative catalyst. Existing exposure can be maintained, but timing for adding remains incomplete.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so current conditions are not actionable for adding.",
        "Valuation and volatility are elevated: trailing P/E near 86, forward P/E near 36, P/B near 28.5, beta above 2, and ATR around 4.6% of price.",
        "MACD histogram is noted as slowing, reducing confidence in chasing strength before confirmation.",
        "Earnings and guidance risk are material because high expectations require confirmation of orders, margins, free cash flow, and 2026 guidance.",
        "Company-specific data coverage is limited, with only one company news item and no disclosures."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "breakout_requires_daily_close_confirmation",
        "pullback_support_trigger_alternative",
        "high_valuation_and_volatility",
        "earnings_event_risk",
        "existing_position_hold_not_add",
        "medium_quality_trigger"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "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": "VXUS is a held position, but this run produced no actionable analysis, no trigger conditions, and only a rule-only HOLD/WAIT interpretation. Timing is not confirmed and there is no execution setup beyond maintaining or watching the existing position.",
      "counter_evidence": [
        "Held position is missing analysis for this run.",
        "No company news, disclosures, macro items, or social inputs are available.",
        "No trigger conditions or trigger profile rules are defined.",
        "Execution feasibility is marked not actionable now."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "not_actionable_now"
      ],
      "review_required": true
    }
  ]
}