{
  "verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "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": "AAPL has a constructive medium-term overweight thesis supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks, but the current action is HOLD/WAIT rather than add. Timing is incomplete because price is pressing the 266.43 to 272 resistance zone after a sharp rebound and earnings gap risk remains ahead of 2026-04-30. Actionability improves only after a volume-backed daily close above 266.43 with momentum confirmation, a clean hold of 260-262 support, or post-earnings confirmation.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not actionable.",
        "Price has already rebounded roughly 8% from 246.63 to 266.43 and is near first resistance plus the 272 supply zone.",
        "2026-04-30 earnings creates gap risk that cannot be fully controlled by ordinary daily-close stops.",
        "Premium valuation metrics raise multiple-compression risk 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."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "not_actionable_now",
        "resistance_zone_unconfirmed",
        "earnings_gap_risk",
        "specific_breakout_trigger_defined",
        "support_pullback_trigger_defined",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "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": "COST has a constructive medium-term quality-growth thesis supported by revenue/EPS growth, strong cash flow, membership durability, cash balance, ROE, and dividend growth, but the setup is not actionable now. Price remains below the 994-1000 reclaim zone, 50-day SMA, 10-day EMA, and VWMA, with fading MACD and only neutral RSI. A starter is best deferred until a daily close above 994-1000 with better volume and momentum stabilization, or a clearly confirmed support reversal near 966-968.",
      "counter_evidence": [
        "Current price is below the 50-day SMA, 10-day EMA, and VWMA, so technical confirmation is incomplete.",
        "MACD has weakened and RSI is not showing a decisive rebound signal.",
        "Premium valuation around P/E 51 and forward P/E 44 leaves little room for comparable sales, membership, traffic, or margin disappointment.",
        "A close below 966 without quick recovery would open downside risk toward roughly 952.",
        "Quality flags include missing same-day intraday snapshot and unavailable token usage."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "price_below_key_moving_averages",
        "breakout_confirmation_required",
        "support_retest_secondary_trigger",
        "momentum_not_confirmed",
        "valuation_risk_elevated",
        "not_held_no_immediate_action",
        "intraday_snapshot_missing"
      ],
      "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.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETHU has a constructive short-term rebound thesis while already held: price is above key moving averages, MACD is positive, RSI is not yet extreme, and recent inflows support renewed leveraged ETH demand. Timing is not actionable for adding now because the 29.5-30.0 breakout has not been confirmed by a daily close and stronger volume; the correct state is hold/watch and add only after confirmation or a supported pullback near 25.3.",
      "counter_evidence": [
        "No confirmed daily close above the 29.5-30.0 resistance zone.",
        "Recent high sequence weakened, with the 2026-04-15 high below the 2026-04-14 high.",
        "Execution feasibility is flagged as blocked by stale or degraded data, with no same-day intraday snapshot.",
        "ETHU is a 2x leveraged Ether product with daily reset, volatility decay, gap risk, and high ATR relative to price.",
        "Social signal is news-derived rather than direct, and fund-flow confirmation remains incomplete."
      ],
      "reason_codes": [
        "constructive_trend_but_wait",
        "breakout_not_confirmed",
        "volume_confirmation_required",
        "held_position_hold_only",
        "leveraged_etf_risk",
        "stale_intraday_data",
        "support_invalidation_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETN has a constructive medium-term bullish thesis supported by trend position above key moving averages, solid fundamentals, AI/data-center and grid demand, and analyst target upgrades. Timing is not actionable now because the plan explicitly says WAIT: price failed to hold $400, has not confirmed a $407.83 breakout, MACD momentum is decelerating, and same-day intraday confirmation is missing. Add exposure only after support confirmation around $387-$390 with RSI stability or a volume-backed close above $407.83 while holding above $400; otherwise maintain existing exposure and monitor risk levels.",
      "counter_evidence": [
        "Entry action is WAIT and execution_feasibility_now is not_actionable_now.",
        "Price failed to hold above $400 and failed to break $407.83.",
        "MACD histogram is decelerating and RSI has eased from prior highs.",
        "Intraday same-day snapshot is missing, reducing confidence in immediate timing.",
        "Elevated valuation and earnings-event risk argue against aggressive adds before confirmation."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait",
        "breakout_not_confirmed",
        "support_confirmation_needed",
        "momentum_decelerating",
        "intraday_confirmation_missing",
        "event_risk_before_adds"
      ],
      "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.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term FANG thesis is constructive on oil leverage, cash generation, debt reduction, analyst support, and price still above the 50-day and 200-day averages, but the entry is not confirmed. Current setup remains a watch/starter-if-triggered case because price is below short-term EMA/VWMA, RSI is below 50, MACD histogram is negative, volatility is elevated, and same-day intraday confirmation is missing. Actionability depends on either a confirmed reclaim above the 189-193 supply/VWMA zone with improving momentum or a constructive 180-181 support hold; Q1 and oil-price confirmation remain important secondary triggers.",
      "counter_evidence": [
        "Price remains below the 10-day EMA around 189.26 and VWMA around 192.78, so near-term momentum has not confirmed the bullish thesis.",
        "RSI is below 50 and MACD histogram remains negative, keeping immediate entry quality incomplete.",
        "ATR is elevated at roughly 3.6% of price, increasing starter-position risk and gap risk in an energy name.",
        "Execution feasibility is flagged as blocked by stale or degraded data, with no same-day intraday snapshot used.",
        "Liquidity and leverage risks remain material, including low cash, negative working capital, low current ratio, and high net debt.",
        "Potential insider or sponsor selling into rebounds could create supply pressure near the 190-193 zone."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "timing_not_confirmed",
        "below_short_term_ema_and_vwma",
        "rsi_below_50",
        "macd_histogram_negative",
        "specific_breakout_trigger_defined",
        "support_hold_trigger_defined",
        "event_confirmation_needed",
        "elevated_volatility",
        "stale_intraday_data"
      ],
      "review_required": true
    },
    {
      "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.56,
      "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 actionable now because price is just below the $1000-$1007.38 resistance zone, momentum is fading, volume did not confirm the prior resistance test, and same-day intraday confirmation is missing. Treat as watch/add-if-triggered: require a volume-backed close above $1007.38 with follow-through above $1000, or a controlled pullback that confirms support near the 10-day EMA around $952.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy/add.",
        "Price is near the $1000-$1007.38 resistance zone after an extended move.",
        "RSI near 67.99 is close to overbought, while MACD histogram is decelerating.",
        "The $1007.38 test occurred on weaker volume, reducing breakout confidence.",
        "Intraday same-day snapshot is missing and execution feasibility is marked blocked_stale_or_degraded_data.",
        "High valuation and Vineyard Wind litigation/project risk limit immediate risk-reward."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait",
        "breakout_not_confirmed",
        "near_resistance",
        "momentum_deterioration",
        "volume_confirmation_missing",
        "pullback_entry_requires_support",
        "stale_or_degraded_execution_data",
        "legal_project_risk",
        "valuation_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.57,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GLDM thesis is constructive for existing exposure and possible staged overweight, but the action is not ready now. The plan explicitly says HOLD/WAIT because price remains below the 50-day SMA and is facing the 97.00-98.00 resistance cluster; adds require a daily close above 98.00 with volume or a confirmed 93.89-95.00 support hold. Data quality is also degraded by missing same-day intraday context, so timing should remain below actionable readiness.",
      "counter_evidence": [
        "Entry action is WAIT despite bullish/overweight stance.",
        "Price is still below the 50-day SMA near 96.98 and close to Bollinger resistance near 97.85.",
        "97.00-98.00 is an unconfirmed resistance zone where chasing is discouraged.",
        "Execution feasibility now is blocked by stale or degraded data, with same-day intraday snapshot missing.",
        "ETF inflow evidence may be temporary and requires persistence confirmation.",
        "Close below 92.50 or break below 90.00 would weaken or invalidate the bullish setup."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "existing_position_hold_only",
        "stale_or_degraded_data",
        "clear_price_triggers_defined",
        "macro_dependent_gold_exposure"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.61,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by trend recovery, positive MACD, AI/cloud catalysts, strong margins, cash, and revenue growth. However, current action is HOLD/WAIT rather than add: price is extended, RSI is overbought, same-day intraday confirmation is missing, and the plan requires either a close above 337.48 with 25M-30M volume or a controlled pullback holding 323.75-317.19 with a higher low before starter exposure is justified.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so the bullish thesis is not immediately actionable.",
        "Latest usable price data appears stale through 2026-04-15 and same-day intraday snapshot is missing.",
        "RSI around 71.34, elevated ATR, and distance above the 10-day EMA argue against chasing.",
        "Regulatory, earnings, AI capex, and AI search competition risks remain material.",
        "Failure at 337.48 followed by a break of 323.75, or loss of 317.19/307.67, would weaken or invalidate the setup."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_required",
        "breakout_not_confirmed",
        "volume_confirmation_required",
        "pullback_alternative_trigger",
        "overbought_extended_price",
        "stale_intraday_data",
        "headline_and_earnings_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.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LHX has a constructive medium-term defense and propulsion thesis, but current timing is not ready for aggressive action. Price remains inside the 353-365 range near key moving averages, momentum is neutral, and the plan explicitly calls for WAIT/HOLD until support is confirmed or a volume-backed breakout above 365 occurs.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is still range-bound between 353 and 365 with resistance near the Bollinger upper band around 365.",
        "RSI near 49 and modest MACD do not show strong trend confirmation.",
        "Execution feasibility is marked blocked_stale_or_degraded_data despite triggerability.",
        "Margin weakness, working-capital-driven free cash flow risk, insider selling, and elevated valuation remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "range_bound_price_action",
        "breakout_requires_volume_confirmation",
        "support_retest_required",
        "neutral_momentum",
        "degraded_or_stale_execution_data",
        "fundamental_risks_unresolved"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "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": "LLY has a constructive medium-term thesis based on GLP-1 demand, strong margins, EPS growth, analyst support, and pipeline optionality, but timing is not confirmed. Current price is only slightly above the 200-day area while still below the 10-day EMA/VWMA, the 50-day SMA, RSI 50, and MACD recovery. The action is watch/wait, with starter exposure only after support defense and preferably a 925-926 close reclaim; stronger adds require 955 and 976-977 recovery.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and suggested action now is WATCH, not buy.",
        "Price remains below 10-day EMA/VWMA near 925-926 and below the 50-day SMA near 976-977.",
        "RSI 42.16 and MACD -13.75 do not confirm trend recovery.",
        "Price is only marginally above 200-day support near 902.67, making downside invalidation close.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, so current timing confidence should be discounted.",
        "Valuation, leverage, weak free cash flow, and high capex increase downside risk if Q1 or guidance disappoints."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "watch_only_now",
        "technical_reclaim_required",
        "support_defense_not_confirmed",
        "below_short_term_averages",
        "momentum_not_recovered",
        "stale_or_degraded_data",
        "clear_price_triggers"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "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": "LRCX has a constructive medium-term bullish thesis supported by trend strength and AI/HBM, memory recovery, and advanced equipment demand, but the action is explicitly WAIT. Timing is not ready because price is near 273.50 resistance, earnings and export-control events are pending, volatility and valuation are elevated, and data/execution health is flagged as stale or degraded. A starter position only becomes actionable after a volume-confirmed close above 273.50, a controlled pullback holding 253-258, or post-earnings confirmation of demand and manageable China exposure.",
      "counter_evidence": [
        "Entry action is WAIT, not buy or add now.",
        "Price is extended near 273.50 resistance with distribution/fading momentum concerns.",
        "2026-04-22 earnings and export-control headlines create near-term event risk.",
        "Valuation and volatility are elevated, including high beta, high PER/PBR, and ATR risk.",
        "Execution feasibility is flagged as blocked by stale or degraded data."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_or_support_confirmation_required",
        "earnings_event_risk_pending",
        "export_control_uncertainty",
        "extended_near_resistance",
        "stale_or_degraded_data"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.32,
      "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/DRAM strength, improving trend indicators, strong profitability, free cash flow, and net cash position. However, the current action is explicitly WAIT: price is extended near resistance after a sharp rebound, volatility is high, intraday confirmation is unavailable, and entry requires either confirmed 426 support with RSI/volume stability or a volume-backed break above 465.78-471.14 followed by a successful 465 retest.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not immediately actionable.",
        "Price is extended after a move from 318.40 to 465.78 and is close to the 465.78-471.14 resistance zone.",
        "ATR around 26 implies high volatility and weaker immediate risk/reward for chasing.",
        "Execution feasibility is marked blocked_stale_or_degraded_data and no intraday snapshot was used.",
        "Insider selling, high valuation, receivables growth, export-control risk, and China demand risk cap position sizing."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_for_confirmation",
        "technical_trigger_levels_defined",
        "near_resistance_after_sharp_rebound",
        "high_volatility_reduces_chase_quality",
        "stale_or_degraded_execution_data",
        "starter_only_if_triggered",
        "clear_risk_invalidation_level"
      ],
      "review_required": true
    },
    {
      "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.68,
      "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 timing is not ready because new entry is explicitly conditioned on daily-close confirmation above 195 and preferably 202-204 support confirmation. Current action is watch/wait, not buy now.",
      "counter_evidence": [
        "Price has not reclaimed the 194.5-195 resistance cluster, 50-day SMA, or 10-day EMA on a daily close.",
        "Higher-quality entry still requires recovery of the 202-204 zone and subsequent support confirmation.",
        "Recent heavy down-volume on April 9-10 suggests overhead supply.",
        "Valuation and dilution risks are material, including high forward P/E/PB, negative EPS, net loss, and stock-based compensation exceeding recent free cash flow.",
        "Execution feasibility is flagged as blocked by stale or degraded data, and intraday snapshot was unavailable."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_for_daily_close_confirmation",
        "breakout_trigger_defined",
        "higher_quality_trigger_unconfirmed",
        "overhead_supply_from_down_volume",
        "valuation_and_dilution_risk",
        "stale_or_degraded_execution_data",
        "not_currently_held_watch_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "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 a held position: trend has recovered above key moving averages, balance sheet and AI demand evidence support a medium-term bullish stance, and the plan allows adding only after confirmation. Timing is not yet actionable because the stated entry action is WAIT, price is near the 198.87-200.40 resistance zone, RSI is near overbought, volatility is elevated, and execution is marked blocked by stale or degraded data. Readiness improves only on a daily close above 200.40 with volume expansion or a controlled pullback holding near 189.26 with momentum stability.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is near the 198.87-200.40 resistance zone without confirmed breakout or volume expansion.",
        "RSI near 69.98 and ATR near 5.27 indicate elevated chase and volatility risk.",
        "Execution feasibility is marked blocked_stale_or_degraded_data and no intraday snapshot was used.",
        "High valuation, inventory and receivables growth, and competitive/supply-chain risks remain unresolved."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_hold_ok",
        "entry_wait_state",
        "breakout_not_confirmed",
        "resistance_zone_nearby",
        "overbought_or_extended_rsi",
        "elevated_volatility",
        "stale_or_degraded_data",
        "clear_price_volume_trigger",
        "defined_invalidation_levels"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "watch_only",
      "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, OCI, multicloud, backlog, and EBITDA improvement thesis, but the current setup is not ready for immediate new entry. The plan explicitly says to wait for either a controlled pullback holding the 156.84 10-day EMA or 150.54 50-day SMA on lighter volume, or a decisive close above 170.64/172.56 with sustained volume and no quick reversal. Current timing is weakened by overbought readings, proximity to resistance, high volatility, negative free cash flow, leverage and financing risk, and stale or degraded execution data.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy or add.",
        "RSI near 70.79 and price near the 170.64 Bollinger upper band imply potential chase risk.",
        "TTM free cash flow around -$22.3B, quarterly free cash flow around -$11.48B, high debt, and financing risk challenge the thesis.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Breakout and pullback triggers are defined but not confirmed yet."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "technical_confirmation_missing",
        "overbought_near_resistance",
        "pullback_or_breakout_required",
        "fundamental_financing_risk",
        "stale_or_degraded_execution_data"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "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 allocation thesis supported by price above key moving averages, improving MACD, firm RSI, and a market-breadth rotation narrative. However, the current setup is explicitly WAIT: price is just below the 200.00-201.88 resistance area and needs 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. Existing holding can be maintained, but timing is not yet actionable for new capital.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is near the 200.00-201.88 resistance zone and close to the 52-week high, creating failed-breakout risk.",
        "Execution feasibility now is marked blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Break below 197.50, 196.00, or especially 195.00 would weaken or invalidate the tactical rebound.",
        "RSP could lag if market leadership narrows back toward mega-cap technology or if rates and inflation pressure broader cyclicals."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "developing_setup",
        "resistance_nearby",
        "breakout_not_confirmed",
        "support_retest_alternative",
        "held_position_hold_ok",
        "stale_or_degraded_data",
        "relative_strength_confirmation_needed"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSLA has a constructive medium-term hold thesis with improving rebound quality, strong volume, MACD improvement, RSI near neutral-positive, and support near the 50-day area, but the setup is not actionable for adding yet. Confirmation requires a daily close above the 200-day SMA near 398.37 with sustained volume and follow-through above 400, 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 confirmed a breakout above 400.",
        "The recent high near 394.65 did not clear the cited resistance area.",
        "Recent revenue and net income deterioration, thin margins, very high valuation, dilution, and cash-flow concerns weaken immediate conviction.",
        "High ATR and beta make premature adds vulnerable to fast downside if the rebound fails."
      ],
      "reason_codes": [
        "bullish_hold_not_add",
        "entry_action_wait",
        "developing_setup",
        "breakout_unconfirmed",
        "below_200_day_sma",
        "needs_volume_follow_through",
        "fundamental_risk_elevated",
        "high_volatility_position_sizing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.76,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong Q1 growth, AI and advanced-node demand, market-share leadership, and price holding above key moving averages. However, the current action is HOLD/WAIT rather than add: price is near the 375-382 resistance zone after a sharp rebound and post-earnings selling raises chase risk. Timing becomes actionable only after either a controlled 362-365 support test with constructive volume or a daily close above 382.16 on above-average volume without immediate reversal.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded quickly from 316.50 to around 375.10 and is close to 379.89-382.16 resistance.",
        "Strong earnings were followed by selling, reducing confidence in immediate upside continuation.",
        "A close below 352-353 would damage the April rebound structure and key support cluster.",
        "Geopolitical, supply-chain, customer concentration, valuation, and overseas fab margin risks remain material."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "near_resistance_after_fast_rebound",
        "breakout_or_pullback_confirmation_needed",
        "held_position_can_be_maintained",
        "defined_support_and_invalidation_levels",
        "timing_incomplete"
      ],
      "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.78,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VRT has a constructive medium-term AI data-center infrastructure thesis and existing holders can maintain exposure, but the action timing is not confirmed. The plan explicitly says WAIT for either a daily close above 312.46 on clearly stronger volume, a bullish reversal from 296.64-288.22 support, or post-earnings confirmation before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable_now.",
        "Momentum is cooling, with RSI down from 70.99 to 62.35 and MACD histogram weakening from 4.27 to 3.21.",
        "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 around 13.55 and earnings/event gap risk remains material.",
        "Data coverage is limited, with only one company news item, no disclosures, and social signal derived from news."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "breakout_or_support_confirmation_needed",
        "earnings_event_risk",
        "premium_valuation_risk",
        "momentum_cooling",
        "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 thesis is constructive: price is above key moving averages, MACD has turned positive, and macro/diversification arguments support an overweight stance. However the action is explicitly WAIT/HOLD because price is near 82.90 and 84.11-84.28 resistance after a sharp rebound, with high ATR. Timing requires confirmation via 81.0-81.5 support and buyer response or an above-average-volume 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 and 84.11-84.28 resistance remain unconfirmed.",
        "ATR 1.3766 indicates elevated volatility and position sizing should be reduced.",
        "Data coverage is limited, with only one company news item and no disclosures."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "near_resistance_after_sharp_rebound",
        "breakout_not_confirmed",
        "support_retest_needed",
        "elevated_volatility",
        "held_position_add_only_if_triggered"
      ],
      "review_required": false
    }
  ]
}