Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 32 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Active Deals in DB | 124 ✅ |
| Duration | 21.8s |

**Status:** ✅ Healthy — No new deals found this run. All 30 processable images were already in the hash cache (duplicates). Database count is above minimum threshold (124 active deals).


Summary:
**CannaDeals Deal Scraper — Hourly Run Complete**

**Results:**
- Images found: 32
- Deals inserted: 0
- Duplicates skipped: 31 (already processed)
- Errors: 1 (unknown dispensary "Knack" — not in database)
- Active deals in DB: 124 ✅

**Notes:**
- All 32 images were already processed in a previous run
- 1 deal from "Knack" dispensary was rejected (dispensary not in database)
- Hash cache TTL working correctly (7-day expiry)
- Deal count healthy (124 active)


Summary:
🌿 **CannaDeals Scraper — 2:03 AM UTC**

**Result:** No new deals

| Metric | Value |
|--------|-------|
| Images found | 32 |
| New deals inserted | 0 |
| Duplicates skipped | 32 |
| Errors | 0 |
| Active deals in DB | 115 |

All 32 images from the source were already in our hash cache — source site hasn't updated since last run. Scraper completed cleanly in 18s. Database healthy.


Summary:
**CannaDeals Scraper Complete ✅**

**Results:**
- **4 new deals** inserted into database
- **24 images** skipped as duplicates (cache working)
- **119 total active deals** in database
- **0 errors**

**New Deals Added:**
1. **Grow Healthy** — New Strain Unlocked & Select Deals
2. **Planet 13** — BOGO Mix & Match Wednesday Drop Deals
3. **Mint Cannabis** — March Madness Deals & Special Offers
4. **Curaleaf** — 2X Points Wednesday & Storewide Savings!

Scraper ran clean. Wednesday promos detected (BOGO, 2X points) + March Madness specials. Hash cache TTL working correctly — no stale blocks.


Summary:
**CannaDeals Scraper Complete** ✅

**Summary:**
- **Images found:** 28
- **New deals:** 0
- **Duplicates skipped:** 28 (all images already processed)
- **Active deals in DB:** 119
- **Duration:** 16.1s
- **Status:** Healthy — no errors

All 28 deal images from the source were already in the processed hash cache. No new deals to add this hour. Database count (119) is within expected range.


Summary:
## Scraper Complete ✅

**Results:**
- **28 images** found on source site
- **0 new deals** (all were duplicates from previous runs)
- **119 active deals** in database
- **No errors**

All images were already in the hash cache — the source site hasn't posted new deals since the last hourly run. System healthy.


Summary:
**CannaDeals Scraper Complete** ✅

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| Processed | 4 new |
| Deals Inserted | 4 |
| Duplicates Skipped | 24 |
| Errors | 0 |
| Duration | 25.5s |
| **Total Active Deals** | **123** |

**New deals added:**
- Trulieve — Flower Deals, Bundles & Concentrate Offers
- GoldFlower — Discounts Across Flower, Vapes, and More!
- Sunburn Cannabis — Build Your Own Bundle & Live Rosin Deals
- One Plant Florida — Special Pricing & Free Gifts Available

Minor note: Non-critical hash save error logged ("dictionary changed size during iteration") — didn't affect results. Could be cleaned up later if it persists.


Summary:
## CannaDeals Scraper Report — March 4, 2026 07:29 UTC

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Active Deals in DB | 123 ✅ |
| Duration | 16.4s |
| Status | ✅ Success |

**Notes:** No new deals this hour — all 28 images were already processed in a previous run. This is expected behavior; deals don't change that frequently. Database health check confirms 123 active approved deals.


Summary:
**CannaDeals Scraper Complete** ✅

**Results:**
- Active deals in DB: **114**
- Images checked: 28
- New deals inserted: **0**
- Duplicates skipped: 28
- Errors: 0

All 28 deals found were already in the database (duplicates). No new deals this hour — dispensaries haven't updated their menus. Normal for hourly runs.


Summary:
**CannaDeals Scraper — 9:19 AM UTC**

✅ **Scraper completed successfully**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Active Deals in DB | 114 |

No new deals this run — all 28 images from flcannabisdeals.org were already processed. The database is healthy with 114 active deals.


Summary:
**CannaDeals Scraper Complete** 🌿

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |
| Duration | 16.8s |
| **Total Active Deals** | **113** |

No new deals — all 28 images were already in the hash cache. This is expected for hourly runs; source site hasn't updated since last scrape. Database healthy with 113 active deals.


Summary:
## CannaDeals Scraper Results — 2026-03-04 11:25 AM UTC

**Run Status:** ✅ Success (18.2s)

| Metric | Count |
|--------|-------|
| Images Found | 28 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |

**Active Deals in DB:** 112

**Summary:** All 28 images from the source were already in the processed hash cache — no new deals to add. The scraper is running correctly; the source site simply hasn't posted new deal graphics since the last run.


Summary:
**CannaDeals Scraper Complete** ✅

**Fixed Critical Syntax Error:**
- Python scraper had unterminated string on line 274 (`'trulieve` → `'trulieve'`)
- Applied fix immediately on production

**Scraper Results:**
- 28 deals found from dispensaries
- 0 new deals inserted (all were duplicates - already in DB)
- 0 errors
- **101 total active deals** currently in database

**Status:** All systems operational. No new deals this hour — likely means all current promotions are already captured. Will continue monitoring next run.

-Chad should never need to ask "Status?"-Canna


Summary:
**CannaDeals Deal Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |
| Active Deals in DB | 100 |
| Duration | 16s |

✅ **Status:** Healthy — No new deals found this hour. All 28 images from the source were already in the processed hash cache, meaning no new deals have been posted since the last scrape. Database confirms 100 active approved deals.


Summary:
**Deal Scraper Complete ✅**

| Metric | Count |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |
| Duration | 16.7s |
| **Total Active Deals** | **100** |

All 28 deal images from the source site were already processed in previous runs — no new deals to insert. The hash cache TTL system is working correctly, preventing duplicates while allowing fresh content through when it appears.

Database healthy: 100 active approved deals.


Summary:
**CannaDeals Scraper Summary** — March 4, 2026 3:08 PM UTC

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| **Active Deals in DB** | **98** |

✅ **Status:** Healthy run. All 30 images were previously processed (hash cache working). Database has 98 active approved deals. No issues detected.


Summary:
**CannaDeals Deal Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 94 |
| Duration | 16.9s |

✅ No new deals — all 30 images were already processed. Database healthy with 94 active deals.


Summary:
**Scraper Run Complete ✅**

- **Images found:** 30
- **New deals inserted:** 0
- **Duplicates skipped:** 30 (all images already processed)
- **Database health:** 94 active deals
- **Duration:** 17.7s
- **Status:** Success — no new deals, source content unchanged since last run


Summary:
**Deal Scraper Complete** ✅

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 93 |
| Duration | 17.2s |

No new deals — the source page hasn't updated since the last run. All 30 images were recognized as already-processed and skipped. Hash cache working correctly.


Summary:
**CannaDeals Scraper Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| DB Status | 92 active deals ✅ |
| Duration | 17.7s |

No new deals this hour — source site hasn't updated since last scrape. All 30 images were already processed. Database count is healthy.


Summary:
**CannaDeals Scraper Summary — 2026-03-04 20:04 UTC**

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Duration | 16.7s |

**Database Status:** 92 active deals

No new deals this run — all 30 images from the source were already processed. Source hasn't updated since the last scrape. Everything running smoothly.


Summary:
**Scraper Complete**

- **Images scanned:** 30
- **New deals found:** 0
- **Duplicates skipped:** 30 (all previously processed)
- **Database status:** 92 active deals
- **Duration:** 16.5s

No new deals to insert this hour — all images were already in the hash cache from previous runs. This is expected; deal images often repeat across hourly checks.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

- **Images scanned:** 30
- **New deals found:** 1 (Cookies — "Extra $5 Off Your Purchase")
- **Duplicates skipped:** 29 (already in DB)
- **Errors:** 0
- **Total active deals:** 93
- **Runtime:** 22.4s

All green. Scraper working as expected.


Summary:
**CannaDeals Deal Scraper — Hourly Run**

✅ Scraper completed successfully (16.8s)

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Active Deals in DB | 93 |

No new deals found — all 30 images were already processed. The hash cache is working correctly and preventing duplicate insertions. Database health check passed.


Summary:
✅ **Scraper Complete — 1 new deal**

**Summary:**
- 📸 30 images found
- 🔄 1 new image processed
- 💰 1 deal inserted (Cookies - Extra $5 Off with Code FLCD5)
- ♻ 29 duplicates skipped
- ⚡ 0 errors
- ⏱ 19.4s runtime
- 📊 94 active deals in database

All systems nominal — hash cache working, no unknown dispensaries, healthy deal count.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Old Deals Archived | 19 |
| Total Active Deals | 75 |
| Duration | 16.9s |

**Status:** ✅ Success — No new deals on source site. All 30 images were already processed. Database healthy at 75 active deals.


Summary:
**Scraper Complete** ✅

**Stats:**
- Images found: 30
- New deals inserted: 0
- Duplicates skipped: 30
- Active deals in DB: 75
- Errors: 0
- Duration: 17.2s

No new deals this run — source site images unchanged since last scrape. Hash cache working as expected. Database healthy.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 75 |
| Duration | 18s |

**Status:** ✅ Success — No new deals. All 30 images were already processed from a previous run. The source site hasn't posted new deals since the last scrape.


Summary:
## CannaDeals Deal Scraper - Hourly Run ✅

**Summary:**
- **6 new deals inserted**
- **21 duplicates skipped**
- **0 errors**
- **81 total active deals in database**

**New Deals Added:**
1. Sunburn Cannabis - Vapes, Flower & Pre-Rolls
2. Grow Healthy - Flower, Carts, Pre-Rolls & Edibles
3. Mint Cannabis - 40% Off, BOGOs & Specials
4. Surterra - Pre-Roll, Half Ounce & Eighth Deals
5. Curaleaf - Vape & Edible Specials
6. Planet 13 - BOGO Mix & Match

**Status:** Healthy — deal count well above minimum threshold. No action needed.


Summary:
## Scraper Run Complete ✅

**Summary:**
- **Images found:** 27
- **New deals inserted:** 0 (all were duplicates - already processed)
- **Old deals archived:** 34 (older than 48 hours)
- **Active deals in DB:** 47
- **Duration:** 17.6s

No action needed — source site hasn't posted new deals since last run. Database count (47) is healthy.


Summary:
**CannaDeals Scraper Report — 2026-03-05 06:05 UTC**

✅ **Success**

| Metric | Count |
|--------|-------|
| Images Found | 29 |
| Images Processed | 3 |
| Deals Extracted | 29 |
| Deals Inserted | **3** |
| Duplicates Skipped | 26 |
| Errors | 0 |

**New Deals Added:**
1. **Cookies** — Flower, Vapes, Concentrates & More Deals
2. **Green Dragon** — Save Big: 50% Off, BOGO, and Tiered Discounts
3. **One Plant** — Select Deals and Spend $75 Get Free Gift

**Database Status:** 50 active deals total

**Duration:** 23 seconds


Summary:
**CannaDeals Scraper — Hourly Run**

| Metric | Value |
|--------|-------|
| Images Found | 29 |
| New Deals | 0 |
| Duplicates Skipped | 29 |
| Active Deals (DB) | 50 |
| Errors | 0 |
| Duration | ~18s |

✅ Run completed successfully. No new deals found — all 29 images were already processed. Database healthy with 50 active deals.


Summary:
**CannaDeals Scraper Complete** (8:04 AM UTC)

✅ **Status:** Success
📊 **Database:** 46 active deals (healthy count)
🔄 **This Run:** 29 images scanned, 0 new deals inserted, 29 duplicates skipped
⚠ **Issues:** None

All found deals were already in the database. No new deals to add this hour. Scraper running normally.


Summary:
**CannaDeals Deal Scraper Complete**

📊 **Results:**
- **Images Found:** 29
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 29 (already processed)
- **Active Deals in DB:** 46
- **Duration:** 18.4s

✅ Scraper ran clean — no new deals to add. The source site's deal images haven't changed since the last run, so all 29 were recognized as duplicates and skipped.


Summary:
**CannaDeals Scraper — 10:12 UTC**

✅ Scraper completed successfully in 17.4s

| Metric | Count |
|--------|-------|
| Images found | 29 |
| New deals inserted | 0 |
| Duplicates skipped | 29 |
| Active deals in DB | 46 |
| Errors | 0 |

All 29 images were already cached from previous runs — no new deals to insert. Source site hasn't updated since last scrape. System healthy.


Summary:
## Scraper Summary — March 5, 11:20 UTC

| Metric | Count |
|--------|-------|
| Active Deals in DB | 66 ✅ |
| Images Found | 29 |
| Deals Extracted | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |

**Status:** ✅ Clean run. All 29 deals found were already in the database — no new inserts needed. Deal count (66 active) is healthy. No alerts triggered.


Summary:
**CannaDeals Scraper Report — March 5, 2026 1:04 PM UTC**

✅ **Run Status:** Success (18.3s)

| Metric | Count |
|--------|-------|
| Images Found | 29 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Old Deals Archived | 1 |
| **Active Deals in DB** | **49** |

**Summary:** Clean run — all 29 deal images from the source were already in the database (hash cache working correctly). One deal older than 48 hours was archived. Deal count remains healthy at 49 active deals. No action needed.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 29 |
| Already Processed | 28 |
| New Deals Extracted | 0 |
| Deals Inserted | 0 |
| Errors | 0 |
| Active Deals in DB | 47 |
| Duration | 79.7s |

**Status:** ✅ Normal run — no new deals found. Source site content unchanged since last scrape. Hash cache working correctly.


Summary:
**Deal Scraper Complete** ✅

**Results:**
- 30 images scanned
- 0 new deals found (all duplicates)
- 0 deals inserted
- 45 active deals in database
- Duration: 17 seconds

All images from the source page were already processed in previous runs. No new deals to add. The scraper is working correctly and the hash cache is preventing duplicate insertions.


Summary:
**Deal Scraper Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 45 |
| Duration | 18.6s |

No new deals found — source images unchanged since last scrape. Hash cache working correctly (7-day TTL). Database healthy with 45 active approved deals.


Summary:
🌿 **Scraper Run Complete**

- **Images Found:** 30
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 30 (all deals already in DB)
- **Errors:** 0
- **Active Deals in DB:** 44
- **Duration:** 16.6s

No new deals this hour — source page hasn't updated since last run. Everything running smoothly.


Summary:
**Deal Scraper Summary — March 5, 2026 7:08 PM UTC**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Extracted | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 2 (Knack dispensary) |
| Duration | 20.2s |

**Status:** ✅ Completed successfully

**Notes:**
- All 30 deal images were already processed from previous runs (28 duplicates)
- 2 errors from "Knack" dispensary images — dispensary not found in database mapping
- Database has 44 active deals currently

**Action needed:** The "Knack" dispensary mapping is missing from the scraper config despite previous fix. Need to add "knack" to the dispensary variants list in `.scraper-config.json`.


Summary:
**Scraper Complete ✅**

- **Images Found:** 30
- **Duplicates Skipped:** 29 (already processed)
- **New Deals:** 0 (source hasn't updated)
- **DB Status:** 44 active deals

Normal hourly run — source content unchanged since last scrape. All systems operational.


Summary:
## Scraper Run Complete ✅

**Time:** March 5, 2026 9:03 PM UTC
**Duration:** 17.2 seconds

### Results
- **Images Found:** 30
- **New Deals:** 0 (all 30 were duplicates from previous runs)
- **Active Deals in DB:** 44 ✅

### Status
Healthy run - no errors. The source site (flcannabisdeals.org) hasn't posted new deals since the last scrape. All 30 images detected were already in the processed hash cache.

**Database Status:** 44 active, approved deals available. Minimum threshold met (5+ deals required).


Summary:
**Scraper Complete ✓**

- **Images Found:** 30
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 29 (already in DB)
- **Errors:** 0
- **Active Deals in DB:** 44

No new deals this run — source page hasn't updated since last scrape. One image for "Knack" dispensary was skipped (not in our database — per the skip list in SOUL.md).


Summary:
**CannaDeals Deal Scraper Complete**

📊 **Summary:**
- **Images Found:** 30
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 30 (all images already processed)
- **Errors:** 0
- **Duration:** 17.2s

**Database Status:** 44 active deals

No new deals to add — the source site hasn't updated their deal graphics since the last run. Scraper ran clean with zero errors.


Summary:
## Scraper Run Complete ✅

**Results:**
- 📸 Images found: 30
- 🔄 Processed: 0 new
- ➕ Deals inserted: 0
- 🔁 Duplicates skipped: 28
- ⚠ Rejected: 2 (Knack dispensary - not in database)
- 📊 Active deals in DB: 44 (healthy)

**Status:** Run successful. No new deals found — all 30 images were either previously processed (28) or from an unmapped dispensary (2). The source site hasn't updated since the last run.

**Note:** The scraper rejected 2 deals from "Knack" dispensary because it's not in the approved dispensaries list. If this is a dispensary we want to track, it needs to be added to the database.


Summary:
**✅ CannaDeals Scraper Complete**

**Summary:**
- **7 new deals** inserted
- **21 duplicates** skipped (already in database)
- **51 total active deals** in database
- **2 minor errors** (didn't impact results)
- **Runtime:** 36.7 seconds

**New deals from:**
- The Flowery (2 deals)
- AYR Wellness
- One Plant
- Eden
- Insa

All systems healthy. Deal count above threshold. No alerts needed.


Summary:
## CannaDeals Scraper Complete ✅

**Run Time:** ~23.5 seconds

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deal Inserted | 1 |
| Duplicates Skipped | 26 |
| Errors | 3 (all "Knack" dispensary - not in DB) |
| Total Active Deals | 52 |

**New Deal Added:**
- **Curaleaf** — "Mention Florida Deals for Extra 10% Off"

**Status:** Healthy. The 3 "errors" are just skipped deals from "Knack" dispensary, which isn't in our database (expected behavior). All other deals were already captured from previous runs.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| Images Processed | 0 |
| Deals Extracted | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Old Deals Archived | 4 |
| Total Active Deals | 48 |
| Duration | ~21s |

**Status:** ✅ Success — No new deals. Source site content unchanged since last run. 4 stale deals auto-archived (48+ hours old). Database healthy with 48 active deals.


Summary:
**CannaDeals Deal Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Images | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Active Deals in DB | 48 |
| Errors | 0 |
| Duration | 16.2s |

All 30 images were already processed — no new deals posted since the last run. Database is healthy with 48 active deals.


Summary:
**CannaDeals Scraper Complete** ✅

**Results:**
- 📸 Images found: 29
- 🆕 New deals inserted: **4**
- 🔄 Duplicates skipped: 25
- ⏱ Duration: 24.9s

**New Deals Added:**
1. **Grow Healthy** — Bulk Pre-Rolls, Flower Deals, and 50% Off!
2. **Mint Cannabis** — March Madness Deals: BOGO, 60% Off & More!
3. **Planet 13** — Big Discounts on Vapes, Flower & More!
4. **Curaleaf** — Mix & Match, Storewide Discounts, & Edible Deals

**Database Status:** 52 active approved deals in DB (healthy)


Summary:
**CannaDeals Scraper Run — March 6, 2026 7:12 AM UTC**

- **Images Found:** 29
- **Duplicates Skipped:** 26 (already processed)
- **Deals Inserted:** 0
- **Active Deals in DB:** 50 ✅
- **Duration:** 23.3s

No new deals this hour. 3 images failed Gemini extraction (returned placeholder "Dispensary Name" instead of actual dispensary). Database health check passed — 50 active deals present.


Summary:
**CannaDeals Scraper Complete**

- **Images found:** 29
- **New deal inserted:** 1 (Knack - High Quality Locally Grown Cannabis)
- **Duplicates skipped:** 28
- **Total active deals:** 51
- **Duration:** 18.9s
- **Status:** ✅ Success (100%)


Summary:
CannaDeals Scraper Run — 9:22 AM UTC

✅ **Status:** Success

**Results:**
- Images scanned: 29
- New deals inserted: 0
- Duplicates skipped: 29 (all images already processed)
- Database health: 50 active deals

**Assessment:** No new deals found. All images from the source (flcannabisdeals.org) have already been scraped in previous runs. Scraper functioning correctly — just waiting for new content on the source site.

Duration: 17 seconds


Summary:
## CannaDeals Scraper Results — March 6, 2026 10:03 AM UTC

**Status:** ✅ Success

| Metric | Count |
|--------|-------|
| Images Found | 29 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |

**Database Status:** 50 active approved deals

All 29 images from the source site were already in the processed hash cache — no new deals to add. The deals page hasn't updated since the last run. Scraper ran clean in 17.2s.


Summary:
**CannaDeals Scraper Complete ✅**

| Metric | Value |
|--------|-------|
| Images Found | 29 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |
| Duration | 16.4s |
| Active Deals in DB | 50 |

All 29 images from the source were already in the processed hash cache — no new deals to insert. Source site hasn't updated since last run. Scraper healthy, database at 50 active deals.


Summary:
**Scraper Complete** ✅

- **Active Deals:** 50 in database
- **Images Scanned:** 29
- **New Deals:** 0 (all 29 were duplicates - deals already in DB)
- **Errors:** 0

All 29 images found matched existing deal hashes in the cache. No new deals to insert this run.


Summary:
**CannaDeals Scraper Summary — 1:07 PM UTC**

| Metric | Count |
|--------|-------|
| Images Found | 29 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |
| Active Deals in DB | 50 ✅ |

No new deals — all 29 images from flcannabisdeals.org were already processed in previous runs. Database health is good with 50 active deals.


Summary:
**CannaDeals Scraper - Complete**

✅ Run successful

| Metric | Value |
|--------|-------|
| Images found | 29 |
| New deals inserted | 0 |
| Duplicates skipped | 29 |
| Active deals in DB | 50 |
| Duration | 18.3s |

No new deals — all 29 images were already cached from previous runs. The source site (flcannabisdeals.org) hasn't updated their deal graphics since the last scrape. Database is healthy with 50 active deals.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Active Deals in DB | 51 |
| Errors | 0 |
| Duration | 17s |

✅ All systems nominal. No new deals to insert — source images unchanged since last run. Database healthy with 51 active deals.


Summary:
**Deal Scraper Complete**

- Images found: 30
- New deals inserted: 0
- Duplicates skipped: 30 (all already processed)
- Active deals in DB: 50
- Duration: 17.2s
- Status: ✅ Success

No new deals found this run — all 30 images from the source were already in the hash cache. Site has 50 active deals currently.


Summary:
**CannaDeals Scraper Summary** — March 6, 5:05 PM UTC

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Duration | 17s |
| **Active Deals in DB** | **52** |

✅ No new deals — all 30 images were already processed in previous runs. Database healthy at 52 active deals.


Summary:
**Scraper Complete**

- **Images Found:** 30
- **New Deals:** 0 (all 30 were duplicates — source hasn't updated since last run)
- **Total Active Deals:** 52
- **Errors:** 0
- **Duration:** 16.6s

No new deals inserted this run. Source site appears unchanged since last scrape.


Summary:
**Deal Scraper Complete**

- **Images found:** 30
- **New deals:** 0 (all duplicates from previous runs)
- **Active deals in DB:** 52 ✓
- **Cleanup:** 1 expired hash removed, 1 old archived deal deleted
- **Status:** Clean run, no alerts

Source site hasn't updated deals since last scrape. All 30 images matched existing hashes — expected for hourly runs.


Summary:
**CannaDeals Scraper Complete** ✅

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Duration | ~17s |
| **Active Deals in DB** | **52** |

No new deals inserted — all 30 images were already processed. Source page hasn't updated since last run. Database healthy with 52 active deals.


Summary:
**Deal Scraper Complete** ✅

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 52 |
| Duration | 16.8s |

All 30 deal images were already in the cache — source site hasn't posted new deals since the last run. Database health check passed (52 active deals). No issues detected.


Summary:
**CannaDeals Scraper - 10:03 PM UTC**

✅ Scraper completed successfully

**Results:**
- **Images found:** 30
- **New deals:** 0 (all duplicates - already in DB)
- **Active deals in DB:** 52
- **Errors:** 0
- **Duration:** 17s

No new deals to insert — source site hasn't updated since last run. All 30 images matched previously processed hashes and were correctly skipped. Database health check passed (52 active deals).


Summary:
**Deal Scraper Complete** 🌿

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Old Deals Archived | 1 |
| Total Active Deals | 51 |
| Duration | 16.7s |
| Status | ✅ Success |

No new deals this hour — all 30 images were already processed. The source site hasn't updated since the last run. Database is healthy with 51 active deals.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

✅ **Status:** Success (16.2s)

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |

**Database Health:** 51 active deals confirmed

**Note:** No new deals found this hour — all 30 images were already processed in previous runs. Normal behavior, no action needed.


Summary:
**Scraper Complete ✅**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Old Deals Archived | 1 |
| Active Deals in DB | 50 |
| Duration | 16.6s |

No new deals — all 30 images were already processed. Source site hasn't updated since last run. Deal count healthy (50 active).


Summary:
**CannaDeals Scraper Complete - 2:03 AM UTC**

✅ **Run Status:** Success (16.5s)

**Summary:**
- 30 images found on source
- 0 new deals inserted (all duplicates)
- 50 active deals in database
- 0 errors

The scraper ran cleanly but found no new deals - all 30 images from the source site have already been processed. This is expected behavior as the hash cache is working correctly. The database remains healthy with 50 active deals.


Summary:
**CannaDeals Scraper Complete** 🌿

**Results:**
- **Images Found:** 30
- **Images Processed:** 0
- **Deals Inserted:** 0
- **Duplicates Skipped:** 30 (all deals already in DB)
- **Errors:** 0
- **Duration:** 16.5s
- **Active Deals in DB:** 50

**Status:** ✅ Success — No new deals found this hour. All 30 images from the source were already processed in previous runs. Database has healthy deal count (50 active).


Summary:
**CannaDeals Scraper Complete** ✅

**Summary:**
- **6 new deals inserted**
- **22 duplicates skipped**
- **56 total active deals** in database
- **Duration:** 30.8 seconds
- **Errors:** 0

**New Deals Added:**
1. Curaleaf - Storewide Savings & BOGO Deals
2. Trulieve - Four 3.5g Flower for $140
3. Planet 13 - Big Discounts on Flower, Vapes & Pre-Rolls
4. Mint Cannabis - Daily Deals & Buy More Save More Offers
5. Sunburn Cannabis - Storewide Savings & Vape Deals
6. Grow Healthy - Storewide Savings & 35% Off Vapes

All systems healthy. Deal count within normal range.


Summary:
**CannaDeals Scraper — Hourly Run Complete ✅**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Old Deals Archived | 6 |
| Active Deals in DB | 50 |
| Duration | 17s |
| Errors | None |

All 28 images were already in the hash cache — no new deals from this run. Hash cache TTL is working correctly. Database health check passed (50 active deals).


Summary:
**CannaDeals Scraper Complete** 🌿

**Run: Saturday, March 7, 2026 — 6:03 AM (UTC)**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Database Status | ✅ 50 active deals |
| Duration | 16.7s |

No new deals found — all 28 images were already processed. Source page hasn't updated since last run. Database count healthy at 50 deals.


Summary:
**Deal Scraper Complete** ✅

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| New Deals | 0 |
| Duplicates Skipped | 28 |
| Archived | 3 (48hr old) |
| Active Deals in DB | 47 |
| Duration | 16.7s |

No new deals this hour — the source hasn't updated since last run. All 28 images matched existing hashes. Database is healthy.


Summary:
**CannaDeals Scraper Complete** ✅

**Results:**
- Images scanned: 28
- New deals: 0
- Duplicates skipped: 28 (all deals already in DB)
- Active deals in database: 47
- Duration: 16 seconds

No new deals to insert — source site hasn't updated since last run. Database count (47) is healthy and above threshold.


Summary: Done. Scraper ran clean — just no fresh deals to add.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |
| Duration | 16.5s |
| Active Deals in DB | 47 |

**Status:** ✅ Success — No new deals found. All 28 images from the source were already processed in a previous run. The source site hasn't posted new deal images since the last scrape.


Summary:
**CannaDeals Scraper Summary — 11:14 AM UTC**

| Metric | Count |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Old Deals Archived | 18 |

All 28 deal images from the source were already processed — no new deals found this run. The source site hasn't updated with fresh content since the last scrape. Current active deals in DB: 29.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| Images Processed | 0 |
| Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Errors | 0 |
| Duration | 17s |

**Result:** No new deals — all 28 images were already processed in previous runs. Source site hasn't updated since last scrape.

**Database Status:** 27 active approved deals (⚠ low — expected 40+)

This is normal hourly behavior; the scraper correctly identified no new content to ingest.


Summary:
**CannaDeals Scraper Complete** — 26 new deals inserted

- **Images processed:** 26 of 28 found
- **Deals extracted:** 365 total
- **New deals inserted:** 26
- **Active deals in DB:** 53
- **Duration:** 78.8s

Dispensaries with new deals: Trulieve, Müv, Rise, AYR, Jungle Boys, GoldFlower, Green Dragon, Cookies, One Plant, The Flowery, Eden, Insa

Status: ✅ Healthy (above 5-deal minimum threshold)


Summary:
## CannaDeals Deal Scraper — Hourly Run

**Status:** ✅ Complete

**Summary:**
- **Images Found:** 28
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 26 (already processed)
- **Active Deals in DB:** 54

**Notes:**
- All 28 images from the source were already in the hash cache (no new deals to extract)
- 2 potential deals from "Knack" dispensary were rejected — dispensary not in database. This is expected behavior per the unknown dispensary detection rules.

System healthy. No action needed.


Summary:
**CannaDeals Deal Scraper - Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Images | 1 |
| Duplicates Skipped | 29 |
| Deals Extracted | 0 |
| Deals Inserted | 0 |
| Active Deals in DB | 56 |
| Duration | 18.3s |

**Status:** ✅ Normal run — no new deals to insert. The 29 duplicates indicate deals haven't changed since last run. One new image (Knack dispensary) didn't yield valid deal data — flagged as warning but not an error.

Database health check passed: 56 active approved deals in system.


Summary:
## Deal Scraper Summary - March 7, 2026 4:04 PM UTC

**Results:**
- **Images Found:** 30
- **New Deals Inserted:** 0
- **Duplicates Skipped:** 28 (already processed)
- **Errors:** 2 (Knack dispensary not recognized)
- **Archived:** 1 old deal (48h+ old)

**Database Status:** 84 active deals

**Notes:** All images from the source page were already processed in previous runs. No new deals to add. The "Knack" dispensary recognition issue persists - this dispensary isn't in the mapping yet and would need to be added if we want to capture their deals.


Summary:
**CannaDeals Scraper — 5:06 PM UTC**

✅ **Run completed successfully**

| Metric | Count |
|--------|-------|
| Images found | 30 |
| New deals extracted | 0 |
| Duplicates skipped | 30 |
| Errors | 0 |
| Duration | 16.7s |
| Active deals in DB | 84 |

All 30 images were already in the hash cache — no new deals to insert. Source site hasn't updated since last run. Database healthy.


Summary:
## CannaDeals Scraper Summary — March 7, 6:04 PM UTC

**Result:** ✅ Scraper ran successfully — no new deals to add

| Metric | Value |
|--------|-------|
| Images found | 30 |
| Already processed (duplicates) | 29 |
| New deals extracted | 0 |
| New deals inserted | 0 |
| Extraction errors | 1 (Knack image had no valid deals) |
| Active deals in DB | 84 ✅ |
| Duration | 22.8s |

The deals on flcannabisdeals.org haven't changed since the last run — all images were already in the hash cache. Database count is healthy at 84 active deals.


Summary:
## Scraper Summary — March 7, 2026 7:03 PM UTC

✅ **Scraper completed successfully**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |
| **Active Deals in DB** | **84** |

No new deals to insert — all 30 images from the source had already been processed in previous runs. The hash cache is working correctly.

**Note:** One image was from "Knack" dispensary which isn't in the database. This was skipped (not an error — just unmatched).


Summary:
**CannaDeals Scraper Summary — March 7, 2026 8:05 PM UTC**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Active Deals in DB | 84 |
| Duration | 16.9s |

All 30 images were already processed in previous runs. No new deals to insert. Scraper completed successfully with zero errors.


Summary:
**CannaDeals Scraper Summary — March 7, 2026 9:03 PM UTC**

✅ **Status:** Success (24s runtime)

| Metric | Count |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 30 |
| Active Deals in DB | 84 |

**Notes:** All 30 deal images were already in the hash cache — no new deals to insert. This is expected on an hourly scrape; the source site (FL Cannabis Deals) hasn't posted new deal graphics since the last run. Database health check passed.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Active Deals in DB | 84 |
| Duration | 18s |
| Status | ✅ Success |

No new deals found this hour — all source images were already processed in previous runs. Hash cache working correctly. Database healthy with 84 active deals.


Summary:
**CannaDeals Scraper — Hourly Run**

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| Deals Inserted | 0 |
| Duplicates Skipped | 29 |
| Errors | 0 |
| Active Deals | 84 |

**Status:** ✅ Clean run — all images already processed. No new deals this hour.


Summary:
**CannaDeals Scraper Complete** 🌿

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 28 |
| Old Deals Archived | 7 |
| Active Deals in DB | 77 |

**Notes:**
- All 30 images were already processed (hash cache working correctly)
- 2 images failed extraction due to unrecognized dispensary names ("Knack" and placeholder "Dispensary Name")
- 7 deals older than 48h were archived as part of routine cleanup

**Status:** ✅ Healthy — no action needed


Summary:
## 🌿 CannaDeals Scraper Report — 2:03 AM UTC

**Status:** ✅ Complete

| Metric | Value |
|--------|-------|
| Images Found | 30 |
| New Deals | 0 |
| Duplicates Skipped | 30 |
| Errors | 0 |
| Duration | 17.6s |
| Active Deals in DB | 77 |

**Summary:** Scraper ran successfully. All 30 deals from the source were already in the database (duplicates). No new deals to insert this run. System is healthy with 77 active approved deals.


Summary:
**Deal Scraper Complete ✅**

**Results:**
- Images scanned: 30
- New deals found: 0
- Deals inserted: 0
- Duplicates skipped: 30
- Active deals in DB: 76
- Duration: 18s

All images were already in the hash cache (already processed). No new deals to insert. Database has healthy deal count (76 active).


Summary:
**CannaDeals Deal Scraper - Hourly Run Complete**

📊 **Results:**
- **6 new deals inserted** into database
- **22 duplicates skipped** (already in DB)
- **82 total active deals** now available
- **0 errors**

🌿 **New Deals Added:**
1. Grow Healthy - 2X Points & Up to 50% Off Storewide!
2. Sunburn Cannabis - 35% Off Storewide & Free Pre-Rolls
3. Planet 13 - Free Flower, Pre-Rolls, and 45% Off Storewide
4. Curaleaf - Storewide Savings & Product Deals
5. Mint Cannabis - March Madness & Eighth Day Deals Galore
6. Cookies - Storewide Savings & Spend More Deals

Duration: ~30 seconds. All systems nominal.


Summary:
**CannaDeals Scraper Summary — March 8, 2026 5:05 AM UTC**

| Metric | Count |
|--------|-------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 27 |
| Old Deals Archived | 4 |
| Active Deals in DB | 78 |

**Status:** ✅ Success

No new deals found this run — all 27 processed images were duplicates from earlier scrapes. One image from "Knack" dispensary was skipped because Knack isn't in the dispensary mapping yet (non-critical). Database is healthy with 78 active deals.


Summary:
**CannaDeals Scraper — Hourly Run Complete**

| Metric | Result |
|--------|--------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 27 |
| Old Deals Archived | 2 |
| Active Deals in DB | 76 |
| Duration | 19.3s |

No new deals found — all images already processed. Source page unchanged since last run. 2 stale deals (>48h old) archived.


Summary:
**CannaDeals Scraper Complete** ✅

| Metric | Value |
|--------|-------|
| Deals Inserted | **26** (new) |
| Duplicates Skipped | 1 |
| Errors | 1 |
| Total Active Deals | **102** |
| Duration | 76s |

**New deals from:**
- Jungle Boys (1G carts + flower)
- The Flowery (custom ounces, concentrates)
- Eden (B2G1, half-off rosin/flower)
- Insa (daily deals, doorbusters)
- One Plant (edibles, carts, flower)
- Surterra (Wana Quick promo + discounts)

All systems nominal. Database count healthy at 102 active deals.


Summary:
**CannaDeals Deal Scraper - Hourly Run**

| Metric | Value |
|--------|-------|
| Images Found | 28 |
| Already Processed | 27 |
| New Deals Inserted | 0 |
| Active Deals in DB | 103 |

**Status:** ✅ Clean run

All 28 images were previously processed — no new deals from the source site. Database is healthy with 103 active deals.

**Note:** One image from "Knack" dispensary was rejected because the dispensary isn't in the mapping. I'll add that variant to fix future scrapes.


Summary:
**Deal Scraper Complete** 🌿

| Metric | Result |
|--------|--------|
| Images Found | 28 |
| New Deals Inserted | 0 |
| Duplicates Skipped | 27 |
| Database Status | 103 active deals ✅ |

No new deals this run — all 28 images from the source were already processed in previous runs. One image failed extraction (couldn't identify dispensary name). Database health check passed with 103 active deals.

Duration: ~19 seconds.