{
  "scan_date": "2026-08-21",
  "macro_notes": "Run interactively at the user's explicit request (daily_scan_prompt.md invoked verbatim, today's date confirmed via `date +%Y-%m-%d`). active_mode=aggressive: all aggressive_overrides applied (RSI ceiling 72, leading-sector breakout ceiling 75; PE band 9-35 with an Energy/Materials PE-up-to-45 exception available today -- gold +0.86% clears the >0.5% Phase D trigger, WTI +0.06% does not clear its >1% trigger, so the exception is available via the gold leg alone if a candidate's sector is Energy/Materials AND EPS/FCF growth >10% YoY is confirmed; no candidate scored today had both a confirmed out-of-band PE and confirmed >10% YoY growth, so the exception was NOT actually invoked by any entry; stop = 2.5x ATR(14) below entry; T1 20% at 1:1.5 R:R then stop to breakeven; T2 30% at 1:3 R:R trailing below rising 20 EMA; T3 50% runner; risk% by score 5=1.75%/4=1.25%/3=1.0%; min R:R 1:3; cash_reserve_pct 15; max_simultaneous_positions 8; max_portfolio_risk_pct 8). POSITIONS: positions.json open_positions is empty (CJT closed 08-20 on stop hit) -- Step 1b enrichment N/A (nothing to enrich), Step 5 exit/hold checks N/A (nothing open), so holds and exits are both empty today. MACRO CONTEXT: TSX just posted its best week in four months, closing at a record ~36,381-36,591 range, with Energy and Materials providing the lift this week (Materials boosted by rising gold) while Technology cooled off; today gold is +0.86% (4,554.76 USD/oz) and WTI +0.06% (86.88), both up but only gold clears its Phase D trigger threshold. Watchlist tickers are broadly stronger today per live_prices.json (13:35Z): BNS $120.95 (+1.33%), TD $162.83 (+0.87%), RY $285.29 (+0.69%), CVE $45.04 (+0.40%), CU $53.72 (+0.19%), CNQ $70.58 (+0.20%), EIF $131.25 (+0.14%) -- broad-based strength, consistent with the index-level rally. LESSONS APPLIED (retrospective.json generated 2026-08-20, all 4 active -- see lessons_applied below for exactly how each changed today's output). STEP 1c WATCHLIST RESOLUTION: re-searched all 7 carried tickers (TD, BNS, EIF, RY, CNQ, CVE, CU) against their waiting_for conditions before any new sourcing. None of the three mechanical triggers fired (BNS $126.87, EIF $136.75, CU $56.90 all still pending, all still below). CNQ's RSI conflict persists (one source 73.35 vs another 59.32) -- per the RSI-conflict rule this is not grounds for exclusion since only 1 source flags overbought, so it stays carried forward. CVE remains just off its fresh ATH ($44.86-45.04 today vs $45.01 ATH set 08-20) with 2+ prior-touches confirmation and a same-session volume ratio still unconfirmed -- same blocker as 08-20, not yet a confirmed setup_B. TD and RY both have earnings on 2026-08-27 (4 trading days out today, not yet within the 3-trading-day exclusion window, but will cross into it by Wed 08-26) -- flagged for both watchlist notes as an approaching consideration. All 7 remain well under the 7-trading-day carry limit and none lost their 200d EMA, so none moved to excluded; each note below reflects today's actual data rather than a repeat of a prior note. SOURCING (Step 2): the 5 generic screener_sources queries (SwingTradeBot, Barchart, TradingView, Trade That Swing, Globe and Mail) again returned no concrete, individually-actionable candidate lists -- same recurring pattern as prior scans. Applied funnel_breadth.screener_outage_fallback: ran the Sector ETF Constituent Check (XEG and XMA holdings pulled directly to get non-mega-cap constituents, since generic sector-relative-strength search results were vague) plus 3 fallback searches (52-week-high list, REIT/Real Estate, Telecom/Communication Services) and rotated the designated Sector Sweep query through Healthcare (returned nothing TSX-specific). This surfaced non-mega-cap Energy names (IMO, TOU, WCP, ARX) and Materials names (K, TECK.B, FM, PAAS, LUN) plus Air Canada (AC, Industrials) and two REITs (REI.UN, GRT.UN). Follow-up confirmation searches were run on all of these plus a dedicated recheck on AC and PAAS specifically since they looked most promising initially. RESULTS: IMO excluded on weak technicals (32% Buy technical opinion, analyst Sell rating, price target just cut) -- a genuine red flag, not a data gap. TOU/WCP/ARX excluded -- no confirmable RSI/MACD/volume/200MA data returned despite the follow-up search, so none could be scored against any setup (no prose guesses used, per the output rules). K (Kinross) excluded -- confirmed price still below its 200d SMA ($28.80), fails the baseline above-200EMA gate both modes share. TECK.B excluded -- MACD confirmed negative (-1.28), fails every setup's MACD requirement; RSI 43 doesn't qualify for the oversold-reversal carveout (no recent sub-35 dip found). REI.UN/GRT.UN excluded -- no confirmable current RSI/MACD/volume for either despite a dedicated search, only a stale 200MA-cross mention from mid-August. AC excluded despite an initially promising 6.46/10 Strong Buy technical score -- a dedicated re-check found materially conflicting price data across sources ($27.27 close vs $29.64 vs a cited 52-week high of $27.30, which is internally inconsistent), so no clean current setup could be confirmed; needs a single reliable live quote before it can be scored, not a general data gap. PAAS excluded -- price ($53.20) is ~24% off its cited 52-week high ($69.99, itself a stale/inconsistent reference given a separate 'just hit a 52-week high' headline), volume in line with average (~0.99x, no surge), earnings already passed (Aug 12, no near-term risk) but no confirmed RSI/MACD -- doesn't clearly fit any of the three entry setups today. LUN (Lundin Mining) and FM (First Quantum) were both close enough to score partially (LUN: confirmed above 200d MA $35.36, RSI 56.15 in the pullback band, MACD 0.212 positive -- but EMA-proximity and volume are unconfirmed, ~3/5; FM: price above both 20d/50d EMA but MACD reading is internally conflicting in the one source found -- positive value labeled 'Sell' -- so no clean momentum confirmation) -- both placed on watchlist rather than excluded or promoted, needing one more day's clean read. RECURRING MEGA-CAPS: today is Friday, not Wednesday, so funnel_breadth.recurring_megacap_handling's standard (non-reconfirming) path applies to BMO, CM, SU, AEM, ABX, WPM, FNV, NTR -- all resurfaced only via the XFN/XEG/XMA holdings lookups, none individually reconfirmed today. GAP: unlike 08-20, no batch price-lookup search was run for these today (search budget was prioritized toward the funnel-breadth fallback searches per the narrow_funnel lesson) -- all 8 carry price_cad: null today rather than a guessed figure; flagging this explicitly as a standing gap rather than leaving it unexplained. Technology names (CSU, X, SHOP, CLS, MDA, KXS) and Industrials/Consumer Staples names (ALC, ADW.A) carry forward unchanged from 08-19/08-20 -- their exclusion reasons (PE band, negative MACD, sub-scale market cap) are fundamental facts that don't shift daily, consistent with prior scans' precedent for not re-running searches on them daily. TOTAL: 35 distinct tickers evaluated across 8 sectors (Financials, Energy, Materials, Utilities, Industrials, Real Estate, Technology, Consumer Staples) today, clearing both min_candidates_evaluated_per_scan(15) and min_sectors_represented(5) with wide margin. STEP 6: signals.new_buys is empty today (no candidate reached a confirmed score of 4-5 -- LUN/FM/CNQ/CVE all sit at ~3 with a genuine missing confirmation, everything else was excluded), so Step 6's Questrade auto-execution had nothing to act on and no MCP calls were made. SEPARATELY, flagging as a standing tooling note: this interactive session does not have the Questrade MCP tools (list_accounts/get_balances/get_positions/preview_order_instruction/create_order_instruction/get_order_history) loaded at all -- moot today since new_buys is empty, but if a future scan in this same session type produces a real new_buys candidate, Step 6 cannot actually execute and that must be surfaced loudly (ntfy + macro_notes) rather than silently skipped. Net result: 0 new_buys, 9 watchlist (TD/BNS/EIF/RY/CNQ/CVE/CU carried with today's updated reads, LUN and FM newly added), 0 holds, 0 exits, 24 excluded (8 recurring megacaps not individually reconfirmed today, 8 Technology/Industrials/Consumer Staples names carried forward unchanged, 8 newly-evaluated-and-failed names: IMO, TOU, WCP, ARX, K, TECK.B, REI.UN, GRT.UN, plus AC and PAAS newly excluded on data-quality/no-clear-setup grounds).",
  "candidates_evaluated_count": 35,
  "sectors_evaluated": [
    "Financials",
    "Energy",
    "Materials",
    "Utilities",
    "Industrials",
    "Real Estate",
    "Technology",
    "Consumer Staples"
  ],
  "lessons_applied": [
    "narrow_funnel (retrospective.json lessons_for_next_scan #1): only 1 distinct ticker (CJT) traded across the whole program to date, below the 15-ticker breadth target. Applied funnel_breadth's full sourcing requirement -- ran every screener_sources entry, pulled XEG/XMA holdings directly for non-mega-cap Energy/Materials names, and ran 3 fallback searches (52-week-high list, Real Estate, Telecom) after the generic screeners again returned no concrete lists. Reached 35 distinct tickers across 8 sectors today, clearing both min_candidates_evaluated_per_scan(15) and min_sectors_represented(5) with wide margin -- this surfaced two genuinely new watchlist candidates (LUN, FM) that a narrower search would have missed entirely.",
    "unconfirmed_volume pattern: persisted again today -- no source returned a same-session-vs-average volume ratio for any newly-sourced candidate (LUN, FM, AC, PAAS, IMO, TOU, WCP, ARX) or any carried watchlist ticker. This directly kept CNQ, CVE, LUN and FM in watchlist rather than new_buys despite otherwise-decent technicals, consistent with weighing this pattern in scoring per the lesson rather than re-diagnosing it as a one-off today.",
    "unconfirmed_resistance_level pattern: directly relevant to CVE again (still can't confirm 2+ prior touches at the $44.60-45.01 level despite a fresh ATH) and now also to LUN (no confirmed pullback-to-EMA or breakout level identified) and AC (couldn't even establish a clean current price, let alone a resistance level) -- all three kept on watchlist/excluded rather than promoted specifically because of this gap.",
    "unconfirmed_macd_reading pattern: directly decided FM's outcome today -- the one source found gave an internally contradictory MACD reading (positive value labeled 'Sell'), so FM was not scored as confirmed-positive and was placed on watchlist for a clean re-read tomorrow rather than either promoted or excluded outright."
  ],
  "signals": {
    "new_buys": [],
    "holds": [],
    "exits": [],
    "watchlist": [
      {
        "ticker": "TD",
        "waiting_for": "Toronto-Dominion Bank: live_prices.json shows $162.83 today (+0.87%), continuing yesterday's recovery from the Financials selloff. RSI ~53 neutral, MACD 0.490 buy, price above its 200d MA ($151.21) per a mid-August read. Next earnings 2026-08-27 -- 4 trading days out today, not yet within the 3-trading-day exclusion window but will cross into it by Wednesday 08-26, so this is likely TD's last or second-to-last watchlist day before an earnings-driven exclusion regardless of setup quality. Still no same-session volume ratio obtainable. Re-check tomorrow for setup fit (pullback vs breakout) and the earnings-window countdown.",
        "trigger_price_cad": null,
        "trigger_direction": null
      },
      {
        "ticker": "BNS",
        "waiting_for": "Bank of Nova Scotia: live_prices.json shows $120.95 today (+1.33%), a solid bounce off yesterday's Financials-selloff low ($118.80) but still well below the $126.87 resistance-reclaim trigger. Prior technical reads (RSI ~63, MACD buy) are now several days stale. Same-session volume ratio still unconfirmed (5th consecutive scan on this blocker). Re-check tomorrow for continued follow-through toward the trigger.",
        "trigger_price_cad": 126.87,
        "trigger_direction": "above"
      },
      {
        "ticker": "EIF",
        "waiting_for": "Exchange Income Corp: live_prices.json shows $131.25 today (+0.14%), still about 4.2% below its 52-week high / trigger of $136.75. Average volume ~168K confirmed previously; same-session ratio still unconfirmed. MACD buy signal persists per last confirmed read. Earnings already passed (Aug 11), no near-term exclusion risk. Re-check tomorrow for the mechanical trigger cross and a same-session volume read.",
        "trigger_price_cad": 136.75,
        "trigger_direction": "above"
      },
      {
        "ticker": "RY",
        "waiting_for": "Royal Bank of Canada: live_prices.json shows $285.29 today (+0.69%), continuing its climb near the top of its 52-week range ($188.54-$306.38). Technical outlook 'Strong Buy' (golden cross, moving-average alignment) per a mid-August read. Next earnings 2026-08-27 -- same 4-trading-day countdown as TD, will hit the 3-trading-day exclusion window by Wed 08-26. Still missing a confirmed pullback-to-EMA or defined resistance/breakout level (unclear which setup fits) and a same-session volume ratio. Re-check tomorrow with a source giving a clean current chart-position read before the earnings window closes it out.",
        "trigger_price_cad": null,
        "trigger_direction": null
      },
      {
        "ticker": "CNQ",
        "waiting_for": "Canadian Natural Resources: live_prices.json shows $70.58 today (+0.20%), holding its recent strength. RSI conflict persists -- one source reads 73.35 (above the 72 aggressive ceiling), another reads 59.32 (neutral) -- per the RSI-conflict rule this is not grounds for exclusion since only 1 source flags overbought, so it stays carried forward rather than being discarded. MACD confirmed positive since 08-10. All previously-cited resistance levels ($63.28/$66.68/$68.15) are stale and already cleared -- still no fresh, today-dated resistance/breakout level found, and same-session volume ratio remains unconfirmed. Re-check tomorrow specifically for a current resistance reference and volume.",
        "trigger_price_cad": null,
        "trigger_direction": null
      },
      {
        "ticker": "CVE",
        "waiting_for": "Cenovus Energy: live_prices.json shows $45.04 today (+0.40%), holding just at/above yesterday's fresh ATH ($45.01, which itself cleared the prior 08-17 ATH of $44.60). Above its 200-day MA ($33.87). This still looks like an emerging setup_B breakout but the same two confirmations remain missing: '2+ prior touches' at the $44.60-45.04 level and a same-session breakout-volume ratio (>1.2x avg). Scores ~3 (above 200MA, RSI previously in band, MACD positive), one setup_B confirmation short of new_buy eligibility. Re-check tomorrow specifically for volume and a resistance-touch count; if Energy is confirmed as the clear leading sector (gold's Phase D trigger is active today, WTI's is not), the RSI ceiling would rise to 75 under setup_B.",
        "trigger_price_cad": null,
        "trigger_direction": null
      },
      {
        "ticker": "CU",
        "waiting_for": "Canadian Utilities: live_prices.json shows $53.72 today (+0.19%), still ~5.6% below its Jul 31 all-time high / trigger of $56.90. RSI ~56/MACD ~0.13 both buy-leaning per last confirmed read (dates ambiguous). Same-session volume ratio still not found in any today-dated source. Next earnings Oct 22, no near-term risk. Re-check tomorrow with a more targeted RSI/MACD/volume query.",
        "trigger_price_cad": 56.9,
        "trigger_direction": "above"
      },
      {
        "ticker": "LUN",
        "waiting_for": "Lundin Mining (Materials): new candidate today, surfaced via the XMA holdings lookup (not mega-cap-only, so not subject to recurring_megacap_handling). Confirmed above its 200d MA ($35.36), RSI 56.15 (within the 35-60 pullback band), MACD 0.212 positive -- 3 of setup_A_pullback's 5 confirmations. Missing: current price's proximity to its 20d/50d EMA (to confirm an actual pullback vs. already extended), and a same-session volume read. Re-check tomorrow with a current price/EMA-distance read and volume.",
        "trigger_price_cad": null,
        "trigger_direction": null
      },
      {
        "ticker": "FM",
        "waiting_for": "First Quantum Minerals (Materials): new candidate today, surfaced via the XMA holdings lookup. Price ($31.75) is above both its 20d EMA ($29.97) and 50d EMA ($27.25), which is constructive, but the one MACD reading found was internally contradictory (numeric value 1.87, positive, but labeled a 'Sell' signal by the source) -- per the unconfirmed_macd_reading lesson, this is treated as unresolved rather than either a pass or a red flag. Needs a clean, unambiguous MACD read plus RSI, 200MA position, and volume tomorrow before it can be scored properly.",
        "trigger_price_cad": null,
        "trigger_direction": null
      }
    ]
  },
  "excluded": [
    {
      "ticker": "AC",
      "reason": "Air Canada (Industrials). New candidate today, surfaced via the 52-week-high fallback search on an initially promising 6.46/10 'Strong Buy' technical score (MACD 1.52 buy). A dedicated re-check found materially conflicting price data across sources -- a $27.27 close cited for Aug 11, a separate $29.64 current price cited elsewhere, and a 52-week-high figure of $27.30 that is internally inconsistent with the $29.64 read. No clean, reliable current price could be confirmed, so no setup could be scored; this is a data-quality exclusion, not a technical failure -- worth a fresh, single-source live-quote check before reconsidering.",
      "price_cad": null
    },
    {
      "ticker": "PAAS",
      "reason": "Pan American Silver (Materials). New candidate today, surfaced via the XMA holdings lookup and a bullish 'reached 52-week high' headline that proved stale -- a fresh check shows PAAS at $53.20, about 24% below its actual 52-week high of $69.99. Volume (5.08M) is in line with its 5.11M average, no surge. Earnings already passed (Aug 12, 2026), no near-term exclusion risk, but no RSI/MACD could be confirmed and the price action doesn't clearly fit a pullback, breakout, or oversold-reversal setup today.",
      "price_cad": 53.2
    },
    {
      "ticker": "IMO",
      "reason": "Imperial Oil (Energy). New candidate today, surfaced via the XEG holdings lookup. Confirmed weak technical picture -- Barchart Technical Opinion only 32% Buy with a 'weakest short term' outlook, and TD Securities just cut its price target while maintaining a Sell rating. A genuine technical red flag, not a data gap.",
      "price_cad": null
    },
    {
      "ticker": "TOU",
      "reason": "Tourmaline Oil (Energy). New candidate today via the XEG holdings lookup. No confirmable RSI/MACD/volume/200MA data returned despite a dedicated follow-up search -- cannot be scored against any entry setup without confirmed data (no prose guesses used).",
      "price_cad": null
    },
    {
      "ticker": "WCP",
      "reason": "Whitecap Resources (Energy). New candidate today via the XEG holdings lookup. Same as TOU -- no confirmable technical data returned; cannot be scored.",
      "price_cad": null
    },
    {
      "ticker": "ARX",
      "reason": "ARC Resources (Energy). New candidate today via the XEG holdings lookup. Same as TOU/WCP -- no confirmable technical data returned; cannot be scored.",
      "price_cad": null
    },
    {
      "ticker": "K",
      "reason": "Kinross Gold (Materials). New candidate today via the XMA holdings lookup. Confirmed price still below its 200d SMA ($28.80 vs. a ~$25-26 trading range) -- fails the baseline above-200EMA gate both modes share, despite RSI (60) and an improving MACD histogram otherwise looking constructive.",
      "price_cad": null
    },
    {
      "ticker": "TECK.B",
      "reason": "Teck Resources (Materials). New candidate today via the XMA holdings lookup. MACD confirmed negative (-1.28), failing every setup's MACD requirement. RSI 43.25 does not qualify for the oversold-reversal carveout (no confirmed recent drop below 35).",
      "price_cad": null
    },
    {
      "ticker": "REI.UN",
      "reason": "RioCan REIT (Real Estate). New candidate today via the Real Estate fallback search (a stale mid-August mention of crossing above its 200d MA). No confirmable current RSI/MACD/volume found in a dedicated follow-up search.",
      "price_cad": null
    },
    {
      "ticker": "GRT.UN",
      "reason": "Granite REIT (Real Estate). New candidate today via the Real Estate fallback search. No confirmable current RSI/MACD/volume/200MA data found at all.",
      "price_cad": null
    },
    {
      "ticker": "BMO",
      "reason": "Bank of Montreal (Financials). Resurfaced only via XFN top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "CM",
      "reason": "Canadian Imperial Bank of Commerce (Financials). Resurfaced only via XFN top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "SU",
      "reason": "Suncor Energy (Energy). Resurfaced only via XEG top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "AEM",
      "reason": "Agnico Eagle Mines (Materials). Resurfaced only via XMA top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "ABX",
      "reason": "Barrick Mining (Materials). Resurfaced only via XMA top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "WPM",
      "reason": "Wheaton Precious Metals (Materials). Resurfaced only via XMA top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "FNV",
      "reason": "Franco-Nevada (Materials). Resurfaced only via XMA top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "NTR",
      "reason": "Nutrien (Materials). Resurfaced only via XMA top-holdings lookup -- recurring mega-cap name, not individually reconfirmed today (funnel_breadth.recurring_megacap_handling). Weekly reconfirmation runs Wednesdays.",
      "price_cad": null
    },
    {
      "ticker": "CSU",
      "reason": "Constellation Software: unchanged from 08-20 -- PE 22.02 in band but RSI/MACD/volume unconfirmed, and at ~$3,089/share a $2,500 account's stop distance (2.5x ATR) would almost certainly exceed the entire per-trade risk budget regardless of setup score. No fresh search run today since the sizing ceiling hasn't changed.",
      "price_cad": null
    },
    {
      "ticker": "X",
      "reason": "TMX Group: unchanged from 08-20 -- RSI 42.87 in-band, price above 200d MA, but MACD -0.190 negative, failing every setup's MACD requirement. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "SHOP",
      "reason": "Shopify: unchanged from 08-20 -- trailing PE 101.52 clearly exceeds the base 9-35 band; Technology gets no PE exception. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "CLS",
      "reason": "Celestica: unchanged from 08-20 -- trailing PE 39.71 exceeds the base 9-35 band; Technology gets no PE exception. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "MDA",
      "reason": "MDA Space: unchanged from 08-20 -- PE readings conflicted (53.52 TTM vs 33.9 elsewhere) but even the more favorable figure sits at the 35 ceiling; Technology gets no PE exception. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "KXS",
      "reason": "Kinaxis: unchanged from 08-20 -- trailing PE 39.20 exceeds the 35 band (forward 27.01 would pass, but trailing is the standard read); Technology gets no PE exception. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "ALC",
      "reason": "Algoma Central (Industrials): unchanged from 08-20 -- MACD -0.040 (Sell), fails setup_B's MACD requirement despite trading within ~1% of its 52-week high. No fresh search run today.",
      "price_cad": null
    },
    {
      "ticker": "ADW.A",
      "reason": "Andrew Peller (Consumer Staples): unchanged from 08-20 -- RSI/MACD in-range but at a ~$5.27 share price with ~$393M FY2026 revenue, this looks below the $500M CAD minimum market cap threshold; not individually reconfirmed via a dedicated market-cap search today. No fresh search run today.",
      "price_cad": null
    }
  ]
}
