{
  "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.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is constructive for an existing holding, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not yet actionable because price is pressing the 266.43-272 resistance zone after a sharp rebound and earnings gap risk remains before 2026-04-30. Add only after a volume-backed close above 266.43 with RSI/MACD confirmation or a controlled pullback holding 260-262; otherwise maintain current exposure.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded about 8% from 246.63 to 266.43 and is near resistance rather than a clean entry zone.",
        "2026-04-30 earnings creates gap risk and could invalidate the premium valuation if guidance, iPhone demand, services growth, AI roadmap, margins, or buyback commentary disappoint.",
        "A close below 256 or decisive break of the 200-day SMA near 251.51 would weaken or invalidate the bullish setup.",
        "Data coverage has no disclosures, social sentiment is news-derived, and quality flags include token_usage_unavailable."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_zone",
        "earnings_gap_risk",
        "support_hold_required",
        "held_position_can_hold",
        "premium_valuation_risk",
        "limited_data_quality_flag"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.63,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "COST has a constructive medium-term quality thesis supported by revenue and EPS growth, cash generation, membership-model durability, and a dividend increase, but timing is not actionable now. The stock is below the key 994-1000 reclaim zone, below near-term moving/VWMA references, and momentum has faded. A starter is only justified after a confirmed close back above 994-1000 with stronger volume and MACD stabilization, or a clearly absorbed support retest near 966-968; otherwise this remains watch-only.",
      "counter_evidence": [
        "2026-04-15 close of 984.75 is below the 50-day SMA 994.28, 10-day EMA 995.78, and VWMA 998.18.",
        "MACD momentum has faded and RSI 46.18 does not confirm a rebound.",
        "New entry is explicitly marked WAIT, with setup quality only DEVELOPING.",
        "Premium valuation near P/E 51 and forward P/E 44 leaves elevated downside risk if fundamentals or margins disappoint.",
        "Same-day intraday snapshot is missing and execution feasibility is marked blocked_stale_or_degraded_data."
      ],
      "reason_codes": [
        "constructive_quality_thesis",
        "entry_wait_for_confirmation",
        "below_key_reclaim_zone",
        "momentum_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_retest_alternative",
        "valuation_risk_elevated",
        "stale_intraday_data"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETHU has a constructive short-term rebound thesis and existing held exposure can be maintained, but timing is not yet actionable for adding. The key confirmation is a daily close above 29.5-30.0 on volume clearly above the 2026-04-15 level, or a controlled pullback that holds near 25.3 with improving ETH-USD and volume. Until then this remains a wait-for-confirmation setup, especially given leveraged-product risk and stale/incomplete intraday data.",
      "counter_evidence": [
        "29.5-30.0 resistance has not been confirmed by a closing breakout.",
        "The 2026-04-15 high was lower than the 2026-04-14 high, leaving breakout-failure risk.",
        "Execution feasibility is marked blocked due to stale or degraded data and no same-day intraday snapshot.",
        "ETHU is a 2x Ether product with daily reset, volatility decay, gap risk, and high ATR relative to price.",
        "Social sentiment is news-derived rather than direct and fund-flow confirmation is still pending."
      ],
      "reason_codes": [
        "constructive_momentum_above_key_averages",
        "breakout_not_confirmed",
        "entry_action_wait",
        "held_position_hold_only",
        "volume_confirmation_required",
        "leveraged_etf_risk",
        "stale_intraday_data",
        "explicit_invalidation_levels"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "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 target upgrades, but the action is not ready now. The plan explicitly says WAIT/HOLD: add only after confirmation via $387-$390 support stabilization or a volume-backed close above $407.83 with sustained trade above $400, with earnings and guidance as additional confirmation catalysts.",
      "counter_evidence": [
        "Immediate entry is deferred because ETN failed to hold above $400 and failed to break $407.83.",
        "Momentum is not fully confirmed: MACD histogram is decelerating and RSI has fallen from the high 60s to about 62.",
        "Execution feasibility is blocked by stale or degraded data, including missing same-day intraday snapshot.",
        "Valuation is elevated, with high PER/PB metrics and risk of compression if growth or guidance disappoints.",
        "Risk triggers remain nearby: below $387.81 is a warning zone, $382-$385 is a stronger de-risk zone, and below $369.65 invalidates the medium-term trend."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "support_confirmation_required",
        "momentum_decelerating",
        "stale_intraday_data",
        "elevated_valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "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": "FANG has a constructive medium-term overweight thesis supported by cash flow, oil leverage, debt reduction, and analyst target upgrades, but entry timing is not confirmed. Price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says WAIT until either 180-181 support is confirmed or a 193+ close with momentum improvement occurs.",
      "counter_evidence": [
        "Current price is below 10-day EMA 189.26 and VWMA 192.78, so near-term trend confirmation is incomplete.",
        "RSI 47.42 and MACD histogram -1.98 indicate momentum has not yet turned constructive.",
        "ATR 6.67 implies elevated volatility and smaller-than-normal sizing if triggered.",
        "Same-day intraday snapshot is missing and execution feasibility is marked blocked_stale_or_degraded_data.",
        "Liquidity and balance-sheet risks remain material, including low cash, negative working capital, low current ratio, and high net debt."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "technical_confirmation_missing",
        "breakout_trigger_defined",
        "support_retest_alternative",
        "stale_intraday_data",
        "elevated_volatility",
        "balance_sheet_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, cash generation, and an intact uptrend above key moving averages. Timing is not ready now because price is just below the $1000-$1007.38 resistance zone, momentum is stretched, MACD is slowing, and prior resistance tests lacked convincing volume. Action should remain watch-only until a volume-backed close above $1007.38 with follow-through above $1000, or a confirmed orderly pullback near the 10-day EMA around $952.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not immediate buy.",
        "Price is near major $1000-$1007.38 resistance with RSI close to overbought.",
        "MACD histogram is decelerating and the recent resistance test had weak volume.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with no same-day intraday snapshot.",
        "Vineyard Wind litigation, high valuation, and potential earnings-quality concerns remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "resistance_nearby",
        "momentum_stretched_and_slowing",
        "volume_confirmation_missing",
        "pullback_support_alternative",
        "stale_or_degraded_data",
        "unresolved_project_litigation_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "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": "GLDM has a constructive medium-term overweight thesis and existing holdings can be maintained, but timing is not yet actionable for meaningful adds. Price remains below the 50-day SMA/resistance cluster near 97.00-98.00, so the setup needs either a daily close above 98.00 with volume confirmation or a controlled pullback holding the 93.89-95.00 EMA support area before adding.",
      "counter_evidence": [
        "Entry action is explicitly WAIT, not immediate add.",
        "Price is still below the 50-day SMA near 96.98 and near Bollinger resistance around 97.85.",
        "97.00-98.00 is an unconfirmed resistance zone with risk of repeated rejection.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with intraday_snapshot_missing_same_day.",
        "ETF inflow evidence may be temporary and needs confirmation of persistence.",
        "Close below 92.50 or break below 90.00 would weaken or invalidate the medium-term bullish thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "support_retest_alternative",
        "held_position_can_hold",
        "stale_or_degraded_data",
        "risk_levels_defined"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by recovered trend, positive MACD, strong fundamentals, AI/cloud catalysts, and existing core-holder suitability. Timing is not actionable now because the decision explicitly says WAIT, setup is developing, price is extended with overbought RSI and elevated ATR, same-day intraday confirmation is missing, and adds require 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 and immediate chase buying is explicitly rejected.",
        "Latest usable price data is stale through 2026-04-15 and intraday snapshot is missing for the same day.",
        "RSI around 71, elevated ATR, and price extension above the 10-day EMA weaken immediate timing.",
        "Regulatory, earnings, AI capex, and AI search competition risks remain material.",
        "Position sizing is limited to starter tranche only after confirmation, not normal allocation now."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "developing_setup",
        "volume_confirmed_breakout_required",
        "pullback_support_alternative",
        "stale_or_degraded_timing_data",
        "overbought_and_extended_price",
        "event_and_regulatory_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "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": "LHX has a constructive medium-term thesis supported by defense demand, rocket-motor capacity investment, Aerojet integration, and identifiable program catalysts, but the current setup is still unconfirmed. Price remains trapped in the 353-365 range near key moving averages with neutral RSI and only modest MACD support, so the table supports holding existing exposure and waiting for a volume-backed breakout above 365 or a confirmed 353-355 support retest before adding.",
      "counter_evidence": [
        "Entry action is WAIT, not BUY or ADD now.",
        "Price is still inside the 353-365 consolidation range and has not cleared resistance near 365.",
        "RSI around 49 and MACD only modestly positive do not confirm strong upside momentum.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Margin weakness near 6.66%, working-capital-driven free cash flow concerns, valuation, insider selling, and event volatility remain unresolved risks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_bound_price_action",
        "breakout_not_confirmed",
        "support_retest_needed",
        "volume_confirmation_required",
        "stale_or_degraded_data",
        "existing_holder_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "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": "LLY has a constructive medium-term growth thesis supported by GLP-1 demand, strong margins, recent earnings strength, analyst support, and pipeline optionality, but timing is not actionable now. Price is only slightly above the 200-day area near 902-905 while still below the 10-day EMA/VWMA near 925-926 and the 50-day area near 976-977, with RSI and MACD not yet confirming trend repair. Treat this as a watchlist setup requiring daily-close confirmation above 925-926 before starter exposure, with stronger confirmation above 955 and 976-977.",
      "counter_evidence": [
        "Current price is below the 10-day EMA, VWMA, and 50-day moving average, so trend recovery is incomplete.",
        "RSI near 42 and negative MACD do not confirm momentum reversal.",
        "Price is only marginally above the 200-day support area, leaving downside invalidation risk close by.",
        "Execution feasibility is flagged as blocked by stale or degraded data, with no intraday snapshot used.",
        "High valuation, debt, weak free cash flow, and potential GLP-1 or Foundayo disappointments could compress the thesis."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "price_below_short_term_averages",
        "momentum_not_confirmed",
        "near_critical_support",
        "starter_only_after_trigger",
        "stale_or_degraded_data",
        "high_volume_break_below_support_invalidates"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term bullish thesis supported by strong trend structure and AI/HBM/memory equipment demand, but the current action is wait/watch rather than immediate entry. Timing is incomplete because price is extended near 273.50 resistance, confirmation requires either a volume-backed breakout, a supported pullback into 253-258, or post-earnings/export-control clarity.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and suggested action now is WATCH, not buy/add.",
        "Price is near 273.50 resistance with signs of distribution/fading momentum, so chasing is discouraged.",
        "2026-04-22 earnings and US export-control uncertainty create near-term event risk.",
        "Valuation, beta, ATR, and volatility are elevated, requiring partial sizing only after confirmation.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with stale_but_triggerable true."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_pullback_confirmation_needed",
        "earnings_event_risk_pending",
        "export_control_uncertainty",
        "extended_near_resistance",
        "stale_or_degraded_data",
        "partial_sizing_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "MU has a constructive medium-term overweight thesis supported by AI server memory demand, HBM/high-end DRAM strength, improving trend indicators, strong reported profitability and cash flow, and net cash-like balance sheet support. Timing is not ready for immediate entry because price is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires either confirmed 426 support with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 support retest.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy/add.",
        "Price is extended after a move from 318.40 to 465.78, leaving unfavorable chase risk near 52-week resistance.",
        "ATR around 26, roughly 5.7% of price, and beta 1.606 imply high execution risk and smaller starter sizing only.",
        "Execution feasibility is marked blocked_stale_or_degraded_data and no intraday snapshot was used.",
        "Insider selling, high P/B, export-control/China risk, capex intensity, and receivables growth cap position size."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_support_confirmation_needed",
        "extended_near_resistance",
        "high_volatility_position_sizing",
        "stale_or_degraded_data",
        "clear_downside_invalidation"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "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, strong gross margin, positive free cash flow, AI/security demand, and analyst support, but the action signal is not ready. The plan explicitly waits for a daily close above 195 as the first starter trigger, with higher-quality confirmation only after reclaiming 202-204 and holding it as support. Current timing remains incomplete because price is still below key moving-average resistance and recent high-volume selling creates overhead supply.",
      "counter_evidence": [
        "New entry is explicitly deferred until a daily close above 195.",
        "NET has not reclaimed the 50-day SMA, 10-day EMA, 200-day SMA, or Bollinger midline resistance zones.",
        "April 9-10 heavy down-volume suggests overhead supply and weak confirmation quality.",
        "Higher-quality entry requires 202-204 recovery plus support confirmation, which has not occurred.",
        "Valuation, dilution, stock-based compensation, high beta, elevated ATR, and macro multiple-compression risks remain material.",
        "Intraday snapshot was unavailable and execution feasibility is marked blocked_stale_or_degraded_data."
      ],
      "reason_codes": [
        "constructive_thesis_waiting_for_confirmation",
        "daily_close_trigger_required",
        "below_key_moving_averages",
        "overhead_supply_from_heavy_sell_volume",
        "starter_only_after_breakout",
        "higher_quality_entry_requires_support_retest",
        "stale_or_degraded_execution_data"
      ],
      "review_required": true
    },
    {
      "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.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NVDA thesis is constructive for an existing held position, supported by trend recovery above key moving averages, improving MACD, strong AI/data-center fundamentals, high margins, and net cash. Timing is not yet actionable for adding because the plan explicitly says WAIT, price is near the 198.87-200.40 resistance zone, RSI is near 70, volatility is elevated, and confirmation requires either a daily close above 200.40 with volume or a controlled pullback holding near 189.26 with momentum stability.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is testing 198.87-200.40 resistance without confirmed breakout or volume expansion.",
        "RSI near 69.98 and ATR around 5.27 argue against immediate chase entry.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Valuation is elevated with P/E 40.66 and P/B 30.72, while inventory and receivables increases require confirmation of end demand and cash conversion."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_hold_ok",
        "entry_wait_not_actionable",
        "breakout_requires_close_above_resistance",
        "pullback_support_trigger_alternative",
        "overbought_near_resistance",
        "stale_or_degraded_data",
        "risk_lines_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "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": "ORCL has a constructive medium-term AI infrastructure and multicloud thesis, supported by backlog, cloud demand, recent operating improvement, and a high-volume rebound. Timing is not ready for immediate entry because the setup is still developing, price is extended near resistance, and the plan explicitly waits for either a confirmed breakout above 170.64/172.56 with sustained volume or a controlled pullback that holds key support near 156.84 or 150.54.",
      "counter_evidence": [
        "Immediate entry is described as chase buying after a sharp event-driven rally.",
        "RSI around 70.79 and proximity to the 170.64 Bollinger upper band indicate short-term overextension.",
        "Large negative free cash flow, high debt, interest expense, and possible data-center financing risk weaken timing confidence.",
        "Execution feasibility is marked as blocked by stale or degraded data, so confirmation should be required before action."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "setup_developing",
        "overbought_near_resistance",
        "explicit_breakout_trigger_required",
        "pullback_support_confirmation_required",
        "fcf_and_debt_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.7,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "RSP has a constructive medium-term allocation thesis: price is above key moving averages, momentum has improved, and broader market breadth could support equal-weight exposure. However, the setup is still developing because price is near the 200.00-201.88 resistance zone and the plan explicitly says to wait for either a successful 197.50-198.00 support retest or a confirmed close above 200.20 with volume and acceptance above 201.88 before adding. Current action is hold, not immediate add.",
      "counter_evidence": [
        "Entry action is WAIT despite bullish/overweight stance.",
        "Price is directly below 200.00-201.88 resistance with nearby 52-week high risk, creating failed-breakout risk.",
        "New capital requires confirmation through support retest or breakout with volume; neither is stated as already confirmed.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Risk triggers at 196.00 and 195.00 remain close enough to require discipline before adding."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "support_retest_alternative_trigger",
        "near_resistance_failed_breakout_risk",
        "held_position_hold_ok",
        "stale_or_degraded_execution_data"
      ],
      "review_required": false
    },
    {
      "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.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSLA has a constructive but not yet actionable bullish hold setup. The thesis is supported by a high-volume rebound, recovery near the 50-day SMA, improving MACD, RSI around the mid-50s, balance-sheet strength, and AI/autonomy optionality, but timing remains incomplete because price is still below the 200-day SMA near 398.37 and has not confirmed follow-through above 400. Existing holders can maintain reduced core exposure, while new adds require a confirmed daily close above resistance with volume or a controlled pullback that proves support near 390.43.",
      "counter_evidence": [
        "Price remains below the 200-day SMA near 398.37 and has not cleared the 400 resistance area.",
        "The stated entry action is WAIT and execution feasibility now is not actionable.",
        "Recent fundamentals include revenue and net income deceleration, thin margins, and elevated valuation multiples.",
        "High ATR and beta increase timing risk if entering before confirmation.",
        "Dilution, stock-based compensation, Cybertruck demand, autonomy competition, and Nasdaq/growth multiple compression remain meaningful risks."
      ],
      "reason_codes": [
        "constructive_hold_thesis",
        "entry_wait_not_actionable_now",
        "breakout_level_defined",
        "needs_volume_confirmation",
        "below_200_day_sma",
        "support_retest_alternative",
        "high_volatility_requires_small_sizing",
        "fundamental_quality_mixed",
        "valuation_risk_elevated"
      ],
      "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.82,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong earnings, AI and advanced-node demand, and an intact trend above key moving averages. Timing is not actionable now because price is near 375-382 resistance after a sharp rebound and the plan explicitly says to wait for either a controlled 362-365 support retest or a confirmed close above 382.16 on above-average volume.",
      "counter_evidence": [
        "Current action is WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded quickly from 316.50 to 375.10 and is near 379.89-382.16 resistance.",
        "Strong earnings were met with selling, increasing the risk of chasing before confirmation.",
        "A close below 352-353 would damage the April rebound and key support cluster.",
        "Geopolitical, supply-chain, customer concentration, overseas fab margin, and valuation-gap risks remain material."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_waits_for_confirmation",
        "near_resistance_after_fast_rebound",
        "explicit_breakout_or_pullback_trigger",
        "held_position_supports_hold_not_add",
        "defined_risk_invalidators"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "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": "VRT has a constructive medium-term AI infrastructure thesis and existing holders can maintain exposure, but the action table explicitly says WAIT for new/additional buying until confirmation. Timing is not ready because the setup is developing, price is extended, momentum has cooled, volatility and earnings/event risk are elevated, and add triggers require either a daily close above 312.46 with stronger volume or a confirmed reversal from the 296.64-288.22 support zone.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable_now.",
        "Momentum has cooled with RSI declining and MACD histogram weakening after the recent high.",
        "Valuation is premium with trailing P/E around 86.5, forward P/E around 36.2, and P/B around 28.5.",
        "ATR is elevated and earnings/event gap risk remains meaningful.",
        "Data coverage is limited with only one company news item and no disclosures."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "confirmation_required",
        "specific_breakout_level_defined",
        "support_reversal_alternative",
        "extended_price_and_high_volatility",
        "earnings_event_risk",
        "premium_valuation_risk",
        "limited_data_coverage"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, international diversification demand, weak-dollar tailwinds, and dividend support. However, the action is explicitly WAIT/HOLD because price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, so timing requires either support confirmation near 81.0-81.5 or a volume-confirmed close above 82.90 before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable.",
        "Price has already rebounded sharply from 74.71 to 82.65 and is close to resistance.",
        "82.90 breakout has not yet been confirmed by above-average volume and closing price.",
        "84.11-84.28 resistance is nearby, creating unfavorable chase risk.",
        "ATR 1.3766 indicates elevated volatility and position size should remain reduced.",
        "Data coverage is limited, with only one company-news item and news-derived social input."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_not_confirmed",
        "near_resistance_after_rebound",
        "support_retest_needed",
        "elevated_volatility",
        "held_position_hold_now",
        "limited_data_coverage"
      ],
      "review_required": false
    }
  ]
}