{
  "scan_date": "2026-08-10",
  "macro_notes": "Automated weekday scan (Mon 2026-08-10, TSX open; prior scan 2026-08-07 Fri, no gap -- Aug 8/9 was a weekend). active_mode confirmed 'aggressive' in screen_criteria.json; aggressive_overrides applied throughout (RSI band 35-72 core / 75 leading-sector-breakout ceiling, min R:R 1:3, T1 20% at 1:1.5 / T2 30% at 1:3 / T3 50% runner trailing below rising 20 EMA, time stops 5/10 days with 20EMA-and-breakeven override, pyramid rule, 15% cash reserve, risk% by score 1.75/1.25/1.00). Step 1b (enrich incomplete positions): skipped -- positions.json open_positions is empty, nothing to enrich. Step 5 (exit checks): skipped -- no open positions, so no holds/exits today.\n\nStep 1a lesson applied: retrospective.json's sole lessons_for_next_scan item (narrow_funnel -- 0 distinct tickers closed program-to-date) is still live. Applied by: (1) restarting the sector-sweep rotation at Financials -- the 2026-08-01 through 2026-08-07 scans completed one full pass through all 12 funnel_breadth.sector_universe entries (Communication Services was the last untouched one, used 08-07), so today begins a fresh cycle; (2) when the base screener_sources again returned mostly generic/marketing pages, used the screener_outage_fallback to pull TradingView's live 52-week-high market-movers list, which surfaced 12 genuinely fresh small/mid-cap tickers never before evaluated in this program (AD.UN, AGF.B, ARG, AYA, CAS, CHR, IFP, MAL, NFI, RUS, TVA.B, XTC) spanning Financials, Materials, Industrials and Communication Services -- real breadth outside the same ~15 recurring mega-cap/carryover names; (3) deprioritizing individual reconfirmation of the standard XFN/XEG/XMA mega-cap constituents (RY, TD, BMO, BNS, CM, SU, CNQ, CVE, IMO, TOU, AEM, ABX, WPM, FNV, NTR) since these are exactly the historically-overused names the narrow_funnel lesson exists to route search budget away from.\n\nStep 1c (resolve yesterday's watchlist) -- GIL: re-checked before any new sourcing. Could NOT cleanly confirm today's breakout volume vs the 20-day average as required by yesterday's waiting_for condition -- worse, a fresh data-quality problem surfaced: stockanalysis.com's GIL quote page returned $57.55 (almost certainly Gildan's NYSE-listed USD price, not the TSX CAD listing), while other sources returned stale figures from June 2026 ($75.75). No authoritative, clearly-TSX-CAD, clearly-today price or volume figure was obtained despite two separate search attempts. Per funnel_breadth.watchlist_resolution_rule, kept on watchlist (this is its 2nd appearance, well under the 7-day max carry) with waiting_for updated to reflect the new data-quality blocker rather than repeating yesterday's volume-only ask unchanged.\n\nScreener outage / fallback: 5 of 7 base screener_sources queries (SwingTradeBot Canada, Barchart, TradingView Screener, Trade That Swing, and the Financials sector-sweep) returned only generic platform/marketing pages or static ETF-level stats, not actionable per-ticker lists -- a de facto outage past the 2+ threshold. The Globe and Mail breakout query resurfaced the same stale June 'Five Canadian Stocks Exhibiting Institutional Accumulation Signals' piece (CLS, MDA, EIF, KXS, X) already flagged stale in prior scans -- not re-used. The Sector ETF Constituent Check returned only static top-holdings composition for XEG/XFN/XMA (no XIT holdings returned), not current weekly relative-strength percentages, despite two attempts -- today's 'leading sector' could not be determined and is logged as an open data gap; Setup B's leading-sector RSI ceiling (75) was therefore not applied to any candidate (moot regardless -- every confirmable RSI this session was either comfortably under 70/72, or the one clearly overbought case (RUS at 83) was above even the 75 ceiling). Per screener_outage_fallback, ran 3 fallback searches: ChartMill's Canada breakout screener (blocked, HTTP 403), TMX Money's 52-week-high stock list page (page shell only, no rendered ticker data), and TradingView's 52-week-high market-movers page, which succeeded and became today's primary fresh-candidate source (12 tickers, listed above).\n\nWeb search tool returned transient 'unavailable' errors on roughly 4 of ~35 queries run today (AGF.B, AYA, IFP, tradethatswing initial attempts); all were retried and either succeeded or were substituted with an alternate query/source.\n\nCandidate-by-candidate (13 fresh tickers received individual confirmation attempts today, all 13 failed a hard gate or lacked confirmable data):\n- IFP (Interfor, Materials/forestry): price $13.24, well above both 50d MA ($11.89) and 200d MA ($9.90) post-earnings turnaround (+8.26% in the past week, +47.6% YTD). RSI 58.5-61.7 (in-band both readings), MACD +0.010 (marginally positive). No confirmed breakout-day volume ratio or a specific resistance level broken -- 3/5 confirmed on setup_B_breakout (above 200EMA, RSI in-band, MACD positive), missing volume and resistance-level confirmation. -> WATCHLIST.\n- AD.UN (Alaris Equity Partners, Financials): price $18.85 vs 200d SMA $18.36 (above), RSI 56.13 (in pullback-zone band), MACD -0.04 (essentially flat, not confirmably crossing positive). No 20d/50d EMA pullback-distance data or volume-trend data found. 2/5 confirmed on setup_A_pullback -- below the 3-4 watchlist floor. Earnings already reported Aug 6, clean window. Excluded on incomplete confirmation, not a fundamental fail.\n- AGF.B (AGF Management, Financials): technical-analysis page blocked (403); search-summary data shows a 'Strong Buy' aggregator rating (score 5.25/10, +18.45% since a June 29 buy signal) but no confirmable RSI, MACD or 200-day EMA number. Excluded on data gap -- promising, worth a cleaner technical read tomorrow.\n- ARG (Amerigo Resources, Materials): no confirmable RSI/MACD despite two search attempts; only a generic 'Strong Buy' MA-aggregator signal. Earnings not until ~Oct 28 (clean). Excluded on data gap.\n- AYA (Aya Gold & Silver, Materials): genuinely conflicting/stale dataset -- overall consensus 'Sell' with 'Strong Sell' moving-average consensus despite a Buy-signal MACD (+0.49); price ($12.93) below both its 20d and 50d EMA; 200-day SMA vs EMA readings themselves disagree (Buy vs Sell). Source explicitly flagged as possibly dated from late 2025. Excluded on data-quality grounds.\n- CAS (Cascades, Materials/packaging): attractive fundamentals (P/E 11.83, +31.57% over 52 weeks, earnings already reported Aug 6) but no RSI/MACD/200EMA confirmed despite two source attempts (one 404'd). Excluded on data gap -- worth a cleaner technical read tomorrow.\n- CHR (Chorus Aviation, Industrials): earnings already reported (Aug 4-5), price $28.05 (+3.89% Aug 6), fresh analyst target upgrades (CIBC to $30, TD to $29, both Buy/Outperform) -- but no RSI/MACD/200EMA confirmed. Excluded on data gap -- worth a cleaner technical read tomorrow.\n- MAL (Magellan Aerospace, Industrials): earnings scheduled Aug 11-12, 2026 -- inside the 3-trading-day exclusion window from today. Hard excluded regardless of technicals (which were otherwise 'Strong Buy' per MA aggregator).\n- NFI (NFI Group, Industrials): RSI 33.26 (below the 35 floor -- carried forward per rsi_oversold_carveout rather than auto-discarded) but price is confirmed BELOW its 200-day moving average ($13.40 vs current ~$13 area) and below its 5/20/50-day EMAs -- fails the hard price-vs-200d-EMA trend gate from Step 3, which is not waived by the oversold carveout (that carveout only concerns the RSI floor, not the trend gate). MACD -0.140 (sell). Excluded on trend-gate fail, not scored against setup_C.\n- RUS (Russel Metals, Industrials/metals distribution): RSI 83.03 -- overbought, above even the aggressive leading-sector ceiling (75), from a single authoritative timestamped source (investing.com technical page, today). Record quarterly results reported Aug 6 (EBITDA $154M). Following the same precedent as AEM on 2026-08-07 (single decisive authoritative source, RSI far past any plausible ceiling), excluded as overbought rather than carried pending a second source.\n- TVA.B (TVA Group, Communication Services): RSI 57.24 and MACD +0.01 look unremarkable, but the reported 200-day figure was internally nonsensical (an SMA(200) value of 0.96, inconsistent with a ~$2.75 share price) and the stock's reported momentum is extreme and hard to reconcile with a 'neutral' RSI (+245% over 6 months, +39.86% over 1 month, +75.42% over 3 months) -- a genuinely unreliable/internally-inconsistent dataset for a thinly-traded micro-cap. Excluded on data-quality grounds.\n- XTC (Exco Technologies, Consumer Discretionary/auto parts): solid fundamentals (record Q3 FY26 revenue +7%, EBITDA +26%, +25.57% over the past year, earnings already reported Aug 5) but no RSI/MACD/200EMA confirmed. Excluded on data gap -- worth a cleaner technical read tomorrow.\n\nDeprioritized/not individually reconfirmed today (recurring mega-cap constituents surfaced via the XEG/XFN/XMA sector-ETF holdings lookup, consistent with the narrow_funnel lesson's instruction to route search budget to fresh names instead): RY, TD, BMO, BNS, CM (Financials, via XFN); SU, CNQ, CVE, IMO, TOU (Energy, via XEG); AEM, ABX, WPM, FNV, NTR (Materials, via XMA).\n\nPhase D commodity trigger (aggressive_overrides.valuation_exception): not explicitly re-verified today (no gold/WTI %-move search run) -- moot regardless, since no Materials/Energy candidate that reached fundamental review needed the up-to-45 P/E override (CAS's 11.83 P/E is already inside the base 9-35 band; ARG/AYA were excluded on data-quality/data-gap grounds before a P/E check was decision-relevant).\n\nNet result: zero new_buys, two watchlist entries (GIL carried from 08-07 with an updated blocker; IFP newly added on a 3/5 setup_B score). This is the 5th consecutive scan with zero new_buys since 08-04 (08-04, 08-05, 08-06, 08-07, 08-10 -- no trading day in between was skipped), despite the 08-07 entry-setup scoring fix that was specifically meant to address this pattern. Flagging this explicitly rather than letting it pass quietly: today's specific exclusions each rest on a genuine, individually-checked gate (earnings-window, a single decisive overbought RSI reading, a confirmed below-200MA trend fail, or an honest data gap after 2 real source attempts) rather than an under-searched funnel -- 28 distinct tickers were evaluated across 6 sectors today, clearing both funnel_breadth minimums. But five straight zero-new_buy days is itself a pattern worth a fresh-eyes look: either TSX conditions have genuinely offered no clean aggressive-mode entries this stretch, or the technical-data-source reliability problem (partial/blocked/stale reads on a majority of individual tickers checked, e.g. CAS/CHR/XTC/ARG/AGF.B today) is silently suppressing real candidates that would otherwise confirm. Worth reviewing at the next retrospective run.",
  "candidates_evaluated_count": 28,
  "sectors_evaluated": [
    "Consumer Discretionary",
    "Financials",
    "Materials",
    "Industrials",
    "Communication Services",
    "Energy"
  ],
  "lessons_applied": [
    "narrow_funnel (retrospective.json, still active -- 0 distinct tickers closed program-to-date): applied by restarting the sector-sweep rotation at Financials (the prior full cycle closed out 08-07), leaning on the screener_outage_fallback's TradingView 52-week-high list to surface 12 genuinely fresh small/mid-cap tickers (AD.UN, AGF.B, ARG, AYA, CAS, CHR, IFP, MAL, NFI, RUS, TVA.B, XTC) across 4 sectors, and deprioritizing reconfirmation of the 15 recurring mega-cap sector-ETF constituents -- 28 distinct tickers evaluated across 6 sectors, clearing funnel_breadth's min_candidates_evaluated_per_scan (15) and min_sectors_represented (5)."
  ],
  "signals": {
    "new_buys": [],
    "holds": [],
    "exits": [],
    "watchlist": [
      {
        "ticker": "GIL",
        "waiting_for": "Still need one authoritative, clearly-TSX-CAD, clearly-current source confirming today's breakout volume is >1.2x the 20-day average (the original 08-07 ask). NEW blocker found today: stockanalysis.com's GIL quote returned $57.55, which does not reconcile with the $81-82 CAD level confirmed live on 08-07 -- almost certainly the NYSE-listed USD ticker (Gildan trades as GIL on both NYSE and TSX) being served instead of GIL.TO. Next check must explicitly pull a TSX-suffixed (GIL.TO or GIL-T) quote and confirm the CAD price is still in the $80s before re-evaluating volume. If the price has in fact moved to the high-$50s CAD, the entire setup_B breakout thesis is invalidated and this should move to excluded instead of carrying a 3rd time."
      },
      {
        "ticker": "IFP",
        "waiting_for": "Confirm breakout-day volume >1.2x the 20-day average and identify the specific resistance/consolidation level the post-earnings move (+8.26% over the past week, +47.6% YTD) actually broke through, per setup_B_breakout's own scoring criteria. Currently 3/5 confirmed (above 200EMA, RSI 58.5-61.7 in-band, MACD +0.010 marginally positive) -- missing the volume and resistance-level points. If volume confirms strong and a clean resistance level is identified, promote to new_buys; if the move looks like drift on ordinary volume with no clear level broken, exclude instead of carrying indefinitely."
      }
    ]
  },
  "excluded": [
    { "ticker": "AD.UN", "reason": "Alaris Equity Partners Income Trust (Financials). Above 200d SMA ($18.85 vs $18.36) and RSI 56.13 in-band, but no confirmable 20d/50d EMA pullback-distance data, no volume-trend data, and MACD (-0.04) too close to zero to confirm a bullish cross. 2/5 confirmed on setup_A_pullback -- below the 3-4 watchlist floor. Earnings already reported Aug 6, clean window otherwise." },
    { "ticker": "AGF.B", "reason": "AGF Management Ltd Class B (Financials). Technical-analysis source blocked (403); only a generic 'Strong Buy' aggregator rating (score 5.25/10, +18.45% since a June 29 buy signal) was confirmable, no RSI/MACD/200EMA number. Excluded on data gap." },
    { "ticker": "ARG", "reason": "Amerigo Resources (Materials). No confirmable RSI/MACD despite two search attempts; only a generic MA-aggregator 'Strong Buy' signal. Earnings not until ~Oct 28. Excluded on data gap." },
    { "ticker": "AYA", "reason": "Aya Gold & Silver (Materials). Internally conflicting dataset -- overall 'Sell' consensus and 'Strong Sell' moving-average consensus despite a Buy-signal MACD; price below both 20d and 50d EMA; 200d SMA vs EMA readings disagree on trend direction. Source flagged as possibly stale (dated late 2025). Excluded on data-quality grounds." },
    { "ticker": "CAS", "reason": "Cascades Inc (Materials/packaging). Attractive fundamentals (P/E 11.83, +31.57% over 52 weeks) and a clean earnings window (reported Aug 6), but no RSI/MACD/200EMA confirmed despite two source attempts. Excluded on data gap." },
    { "ticker": "CHR", "reason": "Chorus Aviation (Industrials). Clean earnings window (reported Aug 4-5), fresh analyst target upgrades (CIBC $30, TD $29, both Buy/Outperform), but no RSI/MACD/200EMA confirmed. Excluded on data gap." },
    { "ticker": "MAL", "reason": "Magellan Aerospace (Industrials). Earnings scheduled Aug 11-12, 2026 -- inside the 3-trading-day exclusion window from today (Aug 10). Hard excluded regardless of technicals." },
    { "ticker": "NFI", "reason": "NFI Group (Industrials). RSI 33.26 is below the 35 floor (carried forward per the oversold carveout rather than auto-discarded), but price is confirmed below its 200-day moving average ($13.40) and below its 5/20/50-day EMAs -- fails the hard trend gate, which the oversold carveout does not waive. MACD -0.140 (sell). Excluded on trend-gate fail." },
    { "ticker": "RUS", "reason": "Russel Metals (Industrials). RSI 83.03 from a single authoritative timestamped source (investing.com, today) -- overbought past even the aggressive leading-sector ceiling (75). Same precedent as AEM on 08-07: a single decisive authoritative reading far past any plausible ceiling is sufficient to exclude. Record Q2 results reported Aug 6." },
    { "ticker": "TVA.B", "reason": "TVA Group (Communication Services). RSI 57.24 and MACD +0.01 look unremarkable, but the reported 200-day figure was internally nonsensical relative to the ~$2.75 share price, and reported momentum (+245% over 6 months) is difficult to reconcile with a 'neutral' RSI reading. Excluded on data-quality grounds for this thinly-traded micro-cap." },
    { "ticker": "XTC", "reason": "Exco Technologies (Consumer Discretionary/auto parts). Solid fundamentals (record Q3 FY26 revenue +7%, EBITDA +26%, +25.57% over the past year, clean earnings window), but no RSI/MACD/200EMA confirmed. Excluded on data gap." },
    { "ticker": "RY", "reason": "Royal Bank of Canada (Financials). Resurfaced only via XFN top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today per the narrow_funnel lesson's instruction to route budget to fresh names." },
    { "ticker": "TD", "reason": "Toronto-Dominion Bank (Financials). Resurfaced only via XFN top-holdings lookup; already excluded 08-07 as extended/nearly fully valued with a data-reliability flag on its price. Not reconfirmed today." },
    { "ticker": "BMO", "reason": "Bank of Montreal (Financials). Resurfaced only via XFN top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "BNS", "reason": "Bank of Nova Scotia (Financials). Resurfaced only via XFN top-holdings lookup. One of the 7 historically-overused tickers this program is trying to diversify away from; not reconfirmed today." },
    { "ticker": "CM", "reason": "Canadian Imperial Bank of Commerce (Financials). Resurfaced only via XFN top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "SU", "reason": "Suncor Energy (Energy). Resurfaced only via XEG top-holdings lookup. One of the 7 historically-overused tickers; not reconfirmed today, consistent with prior scans." },
    { "ticker": "CNQ", "reason": "Canadian Natural Resources (Energy). Resurfaced only via XEG top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "CVE", "reason": "Cenovus Energy (Energy). Resurfaced only via XEG top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "IMO", "reason": "Imperial Oil (Energy). Resurfaced only via XEG top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "TOU", "reason": "Tourmaline Oil (Energy). Resurfaced only via XEG top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "AEM", "reason": "Agnico Eagle Mines (Materials). Resurfaced only via XMA top-holdings lookup; excluded 08-07 as severely overbought (RSI 81.9). Not reconfirmed today." },
    { "ticker": "ABX", "reason": "Barrick Mining (Materials). Resurfaced only via XMA top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "WPM", "reason": "Wheaton Precious Metals (Materials). Resurfaced only via XMA top-holdings lookup; excluded 08-07 on a post-earnings data gap. Not reconfirmed today." },
    { "ticker": "FNV", "reason": "Franco-Nevada (Materials). Resurfaced only via XMA top-holdings lookup. Recurring mega-cap name, not individually reconfirmed today." },
    { "ticker": "NTR", "reason": "Nutrien (Materials). Resurfaced only via XMA top-holdings lookup; excluded 08-06 on MACD sell plus post-earnings event risk. Not reconfirmed today." }
  ]
}
