{
  "generated_at": "2026-09-11",
  "summary": {
    "realized_pl_cad": -47.44,
    "win_rate_pct": 0.0,
    "hit_count": 0,
    "miss_count": 2,
    "incomplete_count": 0,
    "missed_opportunity_count": 0,
    "deferred_megacap_missed_count": 1
  },
  "hits": [],
  "misses": [
    {
      "ticker": "CAR.UN",
      "company": "Canadian Apartment Properties REIT (CAPREIT)",
      "entry_date": "2026-08-27",
      "close_date": "2026-08-31",
      "entry_price_cad": 33.45,
      "exit_price_cad": 32.53,
      "shares": 34,
      "setup_type": "pullback",
      "close_reason": "Exited at $32.53 CAD",
      "pl_dollars": -31.28,
      "pl_pct": -2.75
    },
    {
      "ticker": "CJT",
      "company": "Cargojet Inc.",
      "entry_date": "2026-08-13",
      "close_date": "2026-08-20",
      "entry_price_cad": 91.09,
      "exit_price_cad": 87.05,
      "shares": 4,
      "setup_type": "breakout",
      "close_reason": "Exited at $87.05 CAD",
      "pl_dollars": -16.16,
      "pl_pct": -4.44
    }
  ],
  "incomplete": [],
  "missed_opportunities": [],
  "passed_correctly": [],
  "pending_review": [],
  "deferred_megacap_review": {
    "missed": [
      {
        "ticker": "GIB.A",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 74.93,
        "current_price_cad": 97.35,
        "move_pct": 29.92,
        "status": "missed"
      }
    ],
    "passed_correctly": [
      {
        "ticker": "BMO",
        "scan_date": "2026-08-20",
        "price_at_deferral_cad": 258.87,
        "current_price_cad": 242.47,
        "move_pct": -6.34,
        "status": "passed_correctly"
      },
      {
        "ticker": "SU",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 91.44,
        "current_price_cad": 95.3,
        "move_pct": 4.22,
        "status": "passed_correctly"
      },
      {
        "ticker": "SHOP",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 210.7,
        "current_price_cad": 178.41,
        "move_pct": -15.33,
        "status": "passed_correctly"
      },
      {
        "ticker": "CSU",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 3078.66,
        "current_price_cad": 2827.94,
        "move_pct": -8.14,
        "status": "passed_correctly"
      },
      {
        "ticker": "DSG",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 108.78,
        "current_price_cad": 105.32,
        "move_pct": -3.18,
        "status": "passed_correctly"
      }
    ],
    "pending": []
  },
  "lessons": {
    "unenriched_positions": [],
    "overdue_exits": [],
    "review_flag_patterns": [
      {
        "code": "pattern_breakout_no_followthrough",
        "flag": "breakout_no_followthrough",
        "count": 1,
        "losses": 1,
        "gains": 0,
        "tickers": [
          "CJT"
        ],
        "actionable": false
      },
      {
        "code": "pattern_entered_despite_flagged_data_gap",
        "flag": "entered_despite_flagged_data_gap",
        "count": 2,
        "losses": 2,
        "gains": 0,
        "tickers": [
          "CJT",
          "CAR.UN"
        ],
        "actionable": false
      }
    ],
    "sector_concentration": [],
    "unconfirmed_criteria_patterns": [
      {
        "code": "unconfirmed_volume",
        "criterion": "volume",
        "count": 106,
        "total_scored_entries": 138,
        "pct": 76.8,
        "actionable": true
      },
      {
        "code": "unconfirmed_resistance_level",
        "criterion": "resistance_level",
        "count": 46,
        "total_scored_entries": 138,
        "pct": 33.3,
        "actionable": true
      },
      {
        "code": "unconfirmed_candle_pattern",
        "criterion": "candle_pattern",
        "count": 6,
        "total_scored_entries": 138,
        "pct": 4.3,
        "actionable": true
      },
      {
        "code": "unconfirmed_macd_reading",
        "criterion": "macd_reading",
        "count": 5,
        "total_scored_entries": 138,
        "pct": 3.6,
        "actionable": true
      },
      {
        "code": "unconfirmed_ema_proximity",
        "criterion": "ema_proximity",
        "count": 1,
        "total_scored_entries": 138,
        "pct": 0.7,
        "actionable": false
      }
    ],
    "deferred_megacap_moved": [
      {
        "ticker": "GIB.A",
        "scan_date": "2026-08-27",
        "price_at_deferral_cad": 74.93,
        "current_price_cad": 97.35,
        "move_pct": 29.92,
        "status": "missed"
      }
    ],
    "distinct_tickers_traded": [
      "CAR.UN",
      "CJT"
    ],
    "distinct_ticker_count": 2,
    "narrow_funnel_flag": true,
    "narrow_funnel_threshold": 15
  },
  "lessons_for_next_scan": [
    "Only 2 distinct ticker(s) have been traded across the whole program (CAR.UN, CJT), below the 15-ticker breadth target. Apply screen_criteria.json's funnel_breadth rules today: use every screener_sources entry, resolve stale watchlist items first, and hit min_candidates_evaluated_per_scan / min_sectors_represented before finalizing output.",
    "Pattern: 106 of 138 recent watchlist/excluded scoring notes (76.8%) cite an unconfirmed volume figure as the one blocking confirmation for promotion to new_buys. daily_scan_prompt.md's Step 3 confirmation search was updated 2026-08-12 to explicitly request current + average volume so the ratio can be computed directly instead of requiring a source to state it pre-computed -- make sure today's scoring actually uses that, rather than deferring on volume again.",
    "Pattern: 46 of 138 recent watchlist/excluded scoring notes (33.3%) cite an unconfirmed 'resistance_level' as the blocking confirmation. Worth a closer look if this keeps recurring.",
    "Pattern: 6 of 138 recent watchlist/excluded scoring notes (4.3%) cite an unconfirmed 'candle_pattern' as the blocking confirmation. Worth a closer look if this keeps recurring.",
    "Pattern: 5 of 138 recent watchlist/excluded scoring notes (3.6%) cite an unconfirmed 'macd_reading' as the blocking confirmation. Worth a closer look if this keeps recurring.",
    "GIB.A was deferred without reconfirmation under funnel_breadth.recurring_megacap_handling on 2026-08-27 and has since moved +29.9% ($74.93 -> $97.35). Force a full Step 3/4 reconfirmation on GIB.A today, regardless of day-of-week."
  ],
  "notes": [
    "Missed-opportunity tracking only covers daily scans from 2026-08-01 onward -- earlier scan history was not retained.",
    "A passed-on candidate is flagged \"missed\" once it is at least 5% above its scan-day price and at least 3 calendar days have passed.",
    "Only new_buys candidates are tracked for missed opportunities -- watchlist/excluded tickers and anything the screeners never surfaced are out of scope, EXCEPT excluded entries tagged funnel_breadth.recurring_megacap_handling (see deferred_megacap_review) -- those carry a price_cad captured at deferral time specifically so a hand-waved name that moved doesn't go unnoticed. Coverage starts 2026-08-10, when price_cad capture was added.",
    "lessons_for_next_scan is read and applied by daily_scan_prompt.md Step 1a -- this is not just a dashboard display, it changes what the next scan does.",
    "unconfirmed_criteria_patterns tallies which entry_setups scoring criterion watchlist/excluded entries most often cite as still-missing, across all scans since 2026-08-01 -- added 2026-08-12 after volume was found to be the blocker in 20 of 31 such entries, which traced back to Step 3's confirmation search never asking for volume at all (now fixed)."
  ]
}