{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is constructive for existing holders, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not actionable now because price is at the 266.43-272 resistance zone after a sharp rebound and faces 2026-04-30 earnings gap risk. Add only after a volume-backed daily close above 266.43 with RSI near or above 60 and MACD staying positive, or after a controlled 260-262 pullback confirms support.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded about 8% from 246.63 to the 266.43 resistance area.",
        "AAPL is approaching 266.43 first resistance and the 272 prior congestion zone without confirmed follow-through.",
        "2026-04-30 earnings create gap risk that ordinary stop logic may not control.",
        "Premium valuation leaves the setup vulnerable to multiple compression if guidance, AI roadmap, services, iPhone demand, margins, or buyback commentary disappoint."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_after_rebound",
        "earnings_gap_risk",
        "clear_trigger_levels_defined",
        "existing_holder_hold_bias"
      ],
      "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.76,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "COST has a constructive medium-term quality-growth thesis supported by revenue/EPS growth, cash flow, membership durability, ROE, cash balance, and dividend growth, but the timing is not actionable now. Price remains below key short-term confirmation levels around 994-1000, below the 50-day SMA and VWMA, with MACD fading and RSI not confirming a rebound. Best classification is watch/add-if-triggered: wait for a daily close above 994-1000 with improved volume and momentum, or only a smaller exploratory entry after clear selling absorption near 966-968.",
      "counter_evidence": [
        "2026-04-15 close of 984.75 is below 50-day SMA 994.28, 10-day EMA 995.78, and VWMA 998.18.",
        "MACD momentum has faded and RSI around 46 is not a confirmed rebound signal.",
        "New capital is explicitly deferred; suggested action now is WATCH and execution feasibility is not actionable now.",
        "Premium valuation near P/E 51 and forward P/E 44 leaves the setup vulnerable to earnings or margin disappointment.",
        "Intraday same-day snapshot is missing, reducing timing confidence."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_wait_confirmed",
        "below_key_moving_averages",
        "momentum_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_retest_secondary_trigger",
        "premium_valuation_risk",
        "intraday_snapshot_missing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETHU has a constructive short-term rebound thesis for an existing small tactical hold, supported by price above key moving averages, MACD above zero, RSI below overbought, and recent fund inflows. Timing is not actionable yet because the preferred add/entry requires a confirmed daily close above 29.5-30.0 on volume above the April 15 level, or a controlled pullback holding near 25.3 with improving ETH-USD and volume confirmation.",
      "counter_evidence": [
        "No confirmed close above the 29.5-30.0 resistance zone yet.",
        "Recent highs weakened from 29.42 on 2026-04-14 to 28.71 on 2026-04-15, leaving breakout failure risk.",
        "Current recommendation is HOLD with entry_action WAIT and execution_feasibility_now not_actionable_now.",
        "ETHU is a 2x leveraged Ether product with volatility decay, gap risk, slippage, and headline risk.",
        "Intraday same-day snapshot is missing and social sentiment is news-derived rather than direct."
      ],
      "reason_codes": [
        "constructive_momentum_above_key_averages",
        "breakout_not_confirmed",
        "wait_for_volume_backed_close",
        "held_position_can_be_maintained",
        "leveraged_product_risk",
        "timing_incomplete",
        "data_quality_limitations"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "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": "ETN has a constructive medium-term overweight thesis supported by trend position above key moving averages, solid fundamentals, AI data-center/grid demand, and analyst upgrades, but the action is explicitly WAIT/HOLD. Timing is not confirmed because price failed to hold $400 or break $407.83, momentum is decelerating, and same-day intraday confirmation is missing. Add exposure only after support around $387-$390 stabilizes with RSI/MACD improvement or after a volume-backed close above $407.83 while holding above $400.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price failed to hold $400 and failed to break $407.83.",
        "MACD histogram is decelerating and RSI has cooled from the high 60s to about 62.",
        "Valuation is elevated, increasing risk around Q1 guidance and earnings confirmation.",
        "Intraday same-day snapshot is missing, reducing confidence in immediate timing."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "wait_for_confirmation",
        "failed_breakout_above_407_83",
        "failed_to_hold_400",
        "momentum_decelerating",
        "support_or_breakout_trigger_required",
        "elevated_valuation_event_risk",
        "intraday_confirmation_missing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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": "FANG has a constructive medium-term overweight thesis supported by cash flow, debt reduction, analyst target increases, and price still above the 50-day and 200-day moving averages. Timing is not yet actionable because the recommendation is explicitly WAIT: price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and confirmation is required through either a 193+ close with improving momentum or a constructive 180-181 support test.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy.",
        "Price is below 10-day EMA 189.26 and VWMA 192.78, with the 189-193 supply zone not yet reclaimed.",
        "RSI 47.42 is below 50 and MACD histogram remains negative at -1.98.",
        "ATR is elevated at 6.67, implying high volatility and smaller-than-normal sizing if triggered.",
        "Liquidity and balance sheet concerns include low cash, current ratio 0.416, negative working capital, and net debt of 14.385B.",
        "Intraday same-day snapshot is missing, reducing confidence in immediate timing."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "technical_confirmation_missing",
        "below_short_term_momentum_levels",
        "clear_breakout_trigger_defined",
        "support_test_alternative_trigger",
        "volatility_requires_small_starter",
        "balance_sheet_risk_monitoring",
        "intraday_snapshot_missing"
      ],
      "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.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, strong cash generation, and price above key moving averages. Timing is not actionable now because the stock is just below the $1000-$1007.38 resistance zone, momentum is easing, RSI is near overbought, and the prior resistance test lacked volume. Action should remain watch-only until either a volume-backed close above $1007.38 with follow-through above $1000, or a controlled pullback and support confirmation near the 10-day EMA around $952.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and suggested action now is WATCH, not buy/add.",
        "Price is extended near $1000-$1007.38 resistance without confirmed breakout volume.",
        "RSI near 68 and MACD histogram contraction indicate incomplete timing confirmation.",
        "Intraday same-day snapshot is missing, reducing confidence in immediate execution timing.",
        "Vineyard Wind litigation, valuation compression, and earnings-quality risks remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_zone",
        "momentum_divergence_or_slowing",
        "volume_confirmation_missing",
        "pullback_support_alternative",
        "unresolved_project_litigation_risk",
        "intraday_snapshot_missing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.61,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GLDM thesis is constructive for existing exposure and medium-term gold allocation, but timing is not yet actionable for adding. The plan explicitly says HOLD/WAIT until either a daily close above 98.00 with volume confirms recovery through the 50-day SMA/Bollinger resistance cluster, or a controlled pullback holds the 93.89-95.00 10-day EMA support area. Current evidence supports monitoring and conditional add-if-triggered rather than immediate execution, especially with same-day intraday data missing.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price remains below the 50-day SMA near 96.98 and faces clustered resistance at 97.00-98.00 including the Bollinger upper band near 97.85.",
        "Execution feasibility now is blocked by stale or degraded data, with intraday_snapshot_missing_same_day flagged.",
        "ETF inflow evidence may be temporary and should not be treated as sustained confirmation yet.",
        "A close below 92.50 would argue for risk reduction, and a break below 90.00 would weaken the medium-term bullish thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "support_retest_pending",
        "stale_or_degraded_data",
        "held_position_hold_not_add",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.7,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by trend recovery, positive MACD, strong fundamentals, AI/cloud optionality, and existing core-hold logic. Timing is not ready for immediate add because the action is explicitly WAIT, price is extended with RSI near overbought, ATR is elevated, same-day intraday confirmation is missing, and the plan requires either a volume-confirmed close above 337.48 or a controlled pullback holding 323.75-317.19 with higher-low confirmation.",
      "counter_evidence": [
        "Entry action is WAIT rather than buy/add now.",
        "Latest usable price data appears stale through 2026-04-15 and intraday same-day snapshot is missing.",
        "RSI around 71.34 and price extended above the 10-day EMA argue against chasing.",
        "ATR is elevated at 8.51, increasing stop and sizing risk.",
        "Regulatory, earnings, AI capex, and AI search competition risks remain meaningful."
      ],
      "reason_codes": [
        "constructive_overweight_thesis",
        "entry_wait_state",
        "breakout_requires_close_and_volume",
        "pullback_support_not_confirmed",
        "price_extended_overbought",
        "stale_intraday_data",
        "event_and_regulatory_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "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": "LHX has a constructive medium-term thesis based on defense demand, rocket motor capacity expansion, Aerojet integration, and potential margin/free-cash-flow normalization, but the action timing is not confirmed. The plan explicitly says HOLD/WAIT while price remains inside the 353-365 range, with adds only after support confirmation, recovery through 358-362 with improving volume, or a volume-backed daily close above 365 followed by confirmation or retest.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not actionable now.",
        "Price remains range-bound near 353-365 and close to the 10-day EMA and 50-day SMA, with neutral RSI and only modestly positive MACD.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, and no intraday snapshot was used.",
        "Margin weakness, free-cash-flow repeatability, insider selling, valuation, and event-driven volatility remain unresolved risks.",
        "A close below 353 or especially below 340 would shift the setup toward risk reduction or exit rather than adding."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait",
        "range_bound_no_breakout",
        "support_confirmation_needed",
        "volume_confirmation_needed",
        "stale_or_degraded_data",
        "event_and_margin_risk",
        "held_position_core_hold"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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 thesis driven by GLP-1 demand, margin strength, EPS growth, analyst support, and pipeline optionality, but timing is not ready for immediate execution. Price is only slightly above the 200-day area while still below the 10-day EMA, VWMA, and 50-day SMA, with RSI and MACD not yet confirming trend repair. The appropriate posture is watch/wait for support defense and preferably a 925-926 daily close reclaim before starter exposure.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price remains below 10-day EMA 924.68, VWMA 925.86, and 50-day SMA 976.87.",
        "RSI 42.16 and MACD -13.75 do not confirm trend recovery.",
        "Current price is only slightly above 200-day support near 902.67, leaving limited downside buffer.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, with stale_but_triggerable true.",
        "Valuation, leverage, weak free cash flow, and potential Q1 or regulatory disappointments create downside risk if growth expectations slip."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "developing_setup",
        "below_key_moving_averages",
        "momentum_not_confirmed",
        "support_defense_required",
        "clear_breakout_levels_defined",
        "stale_or_degraded_data_flag",
        "starter_only_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term thesis supported by trend strength and AI/HBM, memory recovery, and advanced-node equipment demand, but timing is not actionable now. The plan explicitly says to wait for either a volume-confirmed close above 273.50, a controlled pullback holding 253-258, or post-earnings confirmation after the 2026-04-22 event before starting a position.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so immediate initiation is not confirmed.",
        "Price is extended near 273.50 resistance with signs of fading momentum and distribution risk.",
        "Upcoming 2026-04-22 earnings and US export-control uncertainty create event risk before full sizing.",
        "Valuation and volatility are elevated, with beta around 1.79, ATR around 11.84, and premium earnings multiples.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, so current timing confidence should be capped."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait",
        "breakout_or_pullback_required",
        "earnings_event_pending",
        "export_control_risk",
        "elevated_valuation_and_volatility",
        "degraded_or_stale_execution_data"
      ],
      "review_required": true
    },
    {
      "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.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "MU has a constructive medium-term overweight thesis supported by AI memory demand, HBM/advanced DRAM tightness, improving trend signals, strong recent financials, and a healthier balance sheet. Timing is not ready now because the stock is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires confirmation via either a 426 support hold with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 retest.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so the thesis is not immediately actionable.",
        "Price is near the 465.78-471.14 resistance area after a rapid move from 318.40, making chase risk unfavorable.",
        "ATR around 26, roughly 5.7% of price, implies high execution risk and weaker near-term reward/risk.",
        "Intraday confirmation was unavailable and execution feasibility is flagged as blocked_stale_or_degraded_data.",
        "Insider selling, high valuation, receivables growth, export-control risk, China demand risk, and capex intensity cap position size."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "setup_developing",
        "breakout_or_retest_needed",
        "support_confirmation_needed",
        "extended_near_resistance",
        "high_atr_volatility",
        "stale_or_degraded_data",
        "starter_only_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NET has a constructive medium-term thesis supported by improving momentum from the lows, strong gross margin, positive free cash flow, and AI/security demand, but it is not actionable now because price has not reclaimed the 195 resistance cluster or the higher-quality 202-204 confirmation zone. Current action is watch/wait, with only a small starter justified after daily-close breakout confirmation and stronger adds deferred until support is proven and earnings quality is confirmed.",
      "counter_evidence": [
        "Price remains below the 50-day SMA, 10-day EMA, 200-day SMA, and Bollinger midline resistance areas.",
        "April 9-10 heavy downside volume suggests overhead supply and incomplete recovery.",
        "High valuation, negative EPS, TTM net loss, elevated stock-based compensation, and dilution risk reduce tolerance for premature entry.",
        "Execution feasibility is degraded by stale/no intraday snapshot data, so timing depends on daily-close confirmation.",
        "Macro risk-off, higher rates, or software multiple compression could undermine the setup."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_for_daily_close_confirmation",
        "below_key_moving_average_resistance",
        "breakout_trigger_defined",
        "high_valuation_and_dilution_risk",
        "stale_intraday_data",
        "small_starter_only_if_triggered"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NVDA thesis is constructive and supports holding existing exposure, but timing is not actionable yet. The plan explicitly says WAIT for either a daily close above 200.40 with volume expansion or a controlled pullback holding near the 189.26 10-day EMA with momentum stability before adding. Current setup is developing, near resistance, and lacks fresh intraday confirmation, so add timing remains conditional.",
      "counter_evidence": [
        "Entry action is WAIT despite bullish/overweight stance.",
        "Price is near the 198.87-200.40 resistance zone without confirmed breakout.",
        "RSI near 69.98 and elevated ATR around 5.27 argue against chasing immediately.",
        "Execution feasibility is marked blocked_stale_or_degraded_data and no intraday snapshot was used.",
        "High valuation, inventory and receivables growth, and beta 2.335 increase downside sensitivity."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "explicit_breakout_trigger_required",
        "near_resistance_no_confirmation",
        "overbought_or_high_volatility_risk",
        "stale_or_degraded_execution_data",
        "held_position_hold_not_add_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.32,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.56,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ORCL has a constructive medium-term AI infrastructure and multicloud thesis, supported by backlog narrative, AWS/Bloom-related catalysts, improving revenue/EBITDA, and recent high-volume rebound. Timing is not ready for immediate entry because the setup is described as developing, entry action is WAIT, price is near short-term resistance/overbought conditions, and confirmation is required via either a sustained close above 170.64/172.56 with volume or a controlled pullback holding 156.84/150.54.",
      "counter_evidence": [
        "RSI around 70.79 and proximity to the 170.64 Bollinger upper band imply chase risk after an event-driven rally.",
        "Free cash flow is deeply negative, with significant debt, interest expense, and data-center financing risk.",
        "Execution feasibility is flagged as blocked by stale or degraded data, and no intraday snapshot was used.",
        "Failure below 150 or VWMA 152.21 with expanding sell volume would shift the setup toward risk reduction."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "setup_developing",
        "breakout_requires_confirmation",
        "pullback_support_alternative",
        "overbought_chase_risk",
        "fcf_debt_financing_risk",
        "stale_or_degraded_data"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "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": "RSP has a constructive medium-term overweight thesis and can be held, but timing is not actionable for an add yet. Price is above key moving averages and momentum has improved, but it sits just below the 200.00-201.88 resistance zone, so additional exposure should wait for either a confirmed close above 200.20 with volume and acceptance above 201.88, or a pullback that holds 197.50-198.00 with improving breadth.",
      "counter_evidence": [
        "Entry action is explicitly WAIT, with setup quality still DEVELOPING.",
        "Price is near the 200.00-201.88 resistance zone and close to the 52-week high, raising failed-breakout risk.",
        "Execution feasibility is blocked by stale or degraded data and no intraday snapshot was used.",
        "A close below 197.50, 196.00, or especially 195.00 would weaken or invalidate the near-term setup.",
        "RSP could lag if market leadership narrows back to mega-cap technology or if rates and inflation pressure broad cyclicals."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "resistance_zone_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_pullback_trigger_defined",
        "held_position_hold_ok",
        "stale_or_degraded_data_blocks_execution"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "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": "TSLA has a constructive medium-term hold thesis with improving rebound quality, but timing is not yet actionable for adding because price remains below the 200-day SMA near 398.37 and needs a daily close above that level plus follow-through above 400 with volume, or a controlled pullback that confirms support near 390.43.",
      "counter_evidence": [
        "Price remains below the 200-day SMA near 398.37 and has not confirmed resistance breakout above 400.",
        "Recent fundamentals include revenue and net income deceleration, thin margins, high valuation, dilution and cash-flow concerns.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, with no intraday snapshot used and social sentiment fallback."
      ],
      "reason_codes": [
        "constructive_hold_not_add_now",
        "breakout_confirmation_required",
        "below_200_day_sma",
        "support_retest_alternative",
        "high_valuation_and_fundamental_risk",
        "stale_or_degraded_data"
      ],
      "review_required": false
    },
    {
      "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.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong earnings growth, AI and advanced-node demand, market-share leadership, and an intact trend above key moving averages. Timing is not confirmed now: the plan explicitly says WAIT/HOLD, avoid chasing near the 375-382 resistance zone, and add only after either a controlled 362-365 support test or a daily close above 382.16 on above-average volume without immediate reversal.",
      "counter_evidence": [
        "Current entry_action is WAIT and setup_quality is DEVELOPING, so the constructive thesis is not yet actionable for adding.",
        "Price has already rebounded sharply from 316.50 to near 375.10 and is close to 379.89-382.16 resistance.",
        "Strong earnings were met with selling, increasing the risk of a failed chase entry.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data despite being stale_but_triggerable.",
        "A close below 352-353, RSI deterioration, MACD weakening, AI demand slowdown, geopolitical escalation, or overseas fab margin pressure would weaken the thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "trigger_not_confirmed",
        "near_resistance_after_fast_rebound",
        "add_only_on_support_or_breakout_confirmation",
        "held_position_can_continue",
        "stale_or_degraded_data_flag"
      ],
      "review_required": true
    },
    {
      "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.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VRT has a constructive medium-term overweight thesis supported by AI data-center infrastructure demand, strong reported profitability and cash flow, and an intact uptrend, but the current action is HOLD/WAIT rather than add now. Timing requires confirmation through either a daily close above 312.46 on clearly stronger volume, a bullish reversal from the 296.64-288.22 support zone, or post-earnings confirmation above 300 with estimate support.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and immediate chase is discouraged.",
        "Momentum has cooled, with RSI easing and MACD histogram weakening after the recent high.",
        "Valuation is premium, including high trailing and forward P/E and high P/B, increasing disappointment risk.",
        "ATR is elevated, making position sizing and entry timing more demanding.",
        "Earnings/event risk remains unresolved before adding exposure.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with limited company news and no disclosures."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "breakout_trigger_required",
        "support_reversal_alternative",
        "event_confirmation_needed",
        "premium_valuation_risk",
        "momentum_cooling",
        "elevated_atr",
        "stale_or_degraded_data",
        "existing_holder_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.63,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, diversification demand, weaker-dollar tailwinds, and dividend support. Timing is not yet actionable because the plan explicitly says WAIT: price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, with elevated ATR. Add only after 81.0-81.5 support with buyer response or a 82.90 close on above-average volume.",
      "counter_evidence": [
        "Entry action is WAIT and new capital is not to be deployed before confirmation.",
        "Price has already rebounded sharply from 74.71 to 82.65 and is close to 82.90/84.11-84.28 resistance.",
        "ATR 1.3766 indicates elevated volatility and lower immediate risk/reward.",
        "Execution feasibility is marked blocked_stale_or_degraded_data despite stale_but_triggerable status.",
        "Breakdown below 80.9 with MACD slowdown or failure to recover 79.8/79.5 would invalidate the recovery setup."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_explicit",
        "breakout_confirmation_required",
        "support_confirmation_required",
        "near_resistance_after_rebound",
        "elevated_volatility",
        "stale_or_degraded_data_gate",
        "held_position_add_if_triggered"
      ],
      "review_required": false
    }
  ]
}