# Quayside Quality Report — 2026-05-16

Generated: 2026-05-16 09:32 UTC
Site: https://quaysidedata.duckdns.org

## Port Dashboards

What each port dashboard displays for 2026-05-16.

### Brixham [NO DATA]
- Records today: 0
- Today avg price: —
- vs last week: — (UNEXPECTED, 33 days history)
- vs market: — (no benchmark)
- This week avg: £9.23/kg
- This month avg: £9.58/kg
- ⚠ Unexpected null hero stats: today_avg, vs_last_week, vs_market

### Lerwick [NO DATA]
- Records today: 0
- Today avg price: —
- vs last week: — (UNEXPECTED, 62 days history)
- vs market: — (no benchmark)
- This week avg: £5.12/kg
- This month avg: £5.15/kg
- ⚠ Unexpected null hero stats: today_avg, vs_last_week, vs_market

### Newlyn [NO DATA]
- Records today: 0
- Today avg price: —
- vs last week: — (UNEXPECTED, 45 days history)
- vs market: — (no benchmark)
- This week avg: £8.37/kg
- This month avg: £8.19/kg
- ⚠ Unexpected null hero stats: today_avg, vs_last_week, vs_market

### Peterhead [NO DATA]
- Records today: 0
- Today avg price: —
- vs last week: — (UNEXPECTED, 61 days history)
- vs market: — (no benchmark)
- This week avg: £4.30/kg
- This month avg: £4.33/kg
- ⚠ Unexpected null hero stats: today_avg, vs_last_week, vs_market

### Scrabster [NO DATA]
- Records today: 0
- Today avg price: —
- vs last week: — (UNEXPECTED, 21 days history)
- vs market: — (no benchmark)
- This week avg: £4.03/kg
- This month avg: £3.97/kg
- ⚠ Unexpected null hero stats: today_avg, vs_last_week, vs_market

## Today's Digest

- Ports reporting: none
- Missing from digest: Lerwick, Scrabster, Peterhead, Brixham, Newlyn
- Total species: 0
- Benchmark species: 0/10
- Benchmark species missing: Haddock, Cod, Monkfish, Hake, Dover Sole, Turbot, Plaice, Lemon Sole, Brill, Coley (Saithe)
- Price movers: 0
- Digest generated: No

## Ops Health

- Ports scraped today: none
- Not attempted: Brixham, Lerwick, Newlyn, Peterhead, Scrabster
- Historical gaps (14d): 0
- Coverage hole: Scrabster — 0 days in recent window
- Quality errors (7d): 16
- Quality warnings (7d): 84

## Quality Issues (last 7 days)

100 issue(s) found:

| Severity | Port | Date | Check | Species | Value | Expected | Message |
|---|---|---|---|---|---|---|---|
| ERROR | Brixham | 2026-05-15 | live_site |  | 9.93 | 9.14 | Brixham: live site shows £9.93/kg but DB avg is £9.14/kg — display layer mismatch |
| ERROR | Lerwick | 2026-05-15 | live_site |  | 5.21 | 5.01 | Lerwick: live site shows £5.21/kg but DB avg is £5.01/kg — display layer mismatch |
| ERROR | Newlyn | 2026-05-15 | live_site |  | 8.15 | 7.94 | Newlyn: live site shows £8.15/kg but DB avg is £7.94/kg — display layer mismatch |
| ERROR | Scrabster | 2026-05-15 | stale_data |  | 44.00 |  | Scrabster: no data for 44 trading days (last: 2026-03-16) |
| WARN | Brixham | 2026-05-15 | outlier_price | Monkslink (ALL) | 4.95 | 8.51 | Monkslink ALL at Brixham: £4.95/kg is 4.0× MAD from 30-day median (£8.51/kg) |
| WARN | Brixham | 2026-05-15 | outlier_price | Solemixed (ALL) | 4.47 | 8.99 | Solemixed ALL at Brixham: £4.47/kg is 4.0× MAD from 30-day median (£8.99/kg) |
| WARN | Brixham | 2026-05-15 | outlier_price | Turbot (4) | 14.83 | 20.18 | Turbot 4 at Brixham: £14.83/kg is 4.1× MAD from 30-day median (£20.18/kg) |
| WARN | Brixham | 2026-05-15 | outlier_price | Whiting (4) | 1.22 | 0.62 | Whiting 4 at Brixham: £1.22/kg is 4.3× MAD from 30-day median (£0.62/kg) |
| WARN | Brixham | 2026-05-15 | unmapped_species | Bass (None) |  |  | 'Bass' at Brixham: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Gurnardmix (None) |  |  | 'Gurnardmix' at Brixham: unmapped species — likely 'Gurnard' — add "Gurnardmix": "Gurnard" to _CANONICAL_MAP in species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Langoustin (None) |  |  | 'Langoustin' at Brixham: unmapped species — possible match 'Pouting' — review before adding to species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Monk Liver (None) |  |  | 'Monk Liver' at Brixham: unmapped species — possible match 'Monkfish' — review before adding to species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Spiders (None) |  |  | 'Spiders' at Brixham: unmapped species — possible match 'Spider Crab' — review before adding to species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Stone Bass (None) |  |  | 'Stone Bass' at Brixham: unmapped species — possible match 'Skate' — review before adding to species.py |
| WARN | Brixham | 2026-05-15 | unmapped_species | Wrasse (None) |  |  | 'Wrasse' at Brixham: unmapped species — possible match 'Crabs' — review before adding to species.py |
| WARN | Lerwick | 2026-05-15 | unmapped_species | Mack (None) |  |  | 'Mack' at Lerwick: unmapped species — possible match 'Mackerel' — review before adding to species.py |
| WARN | Newlyn | 2026-05-15 | price_swing | Pout Whiting, Pouting, Bib (2) | 0.85 | 0.23 | Pout Whiting, Pouting, Bib 2 at Newlyn: £0.85/kg is 270% above 30-day mean (£0.23/kg) — likely a scraper error |
| WARN | Newlyn | 2026-05-15 | stale_data |  | 3.00 |  | Newlyn: no data for 3 trading days (last: 2026-05-12) |
| WARN | Newlyn | 2026-05-15 | unmapped_species | Greater Fork Beard (None) |  |  | 'Greater Fork Beard' at Newlyn: unmapped species — no close match found — new species or typo, check source data |
| WARN | Newlyn | 2026-05-15 | unmapped_species | Shagreen Ray (None) |  |  | 'Shagreen Ray' at Newlyn: unmapped species — possible match 'Small-Eyed Ray' — review before adding to species.py |
| WARN | Newlyn | 2026-05-15 | unmapped_species | Spider Claws M (None) |  |  | 'Spider Claws M' at Newlyn: unmapped species — likely 'Spider Crab' — add "Spider Claws M": "Spider Crab" to _CANONICAL_MAP in species.py |
| WARN | Newlyn | 2026-05-15 | unmapped_species | Thornback Ray (None) |  |  | 'Thornback Ray' at Newlyn: unmapped species — likely 'Skate' — add "Thornback Ray": "Skate" to _CANONICAL_MAP in species.py |
| WARN | Newlyn | 2026-05-15 | unmapped_species | Trap Caught Cuttle (None) |  |  | 'Trap Caught Cuttle' at Newlyn: unmapped species — possible match 'Cuttlefish' — review before adding to species.py |
| WARN | Peterhead | 2026-05-15 | outlier_price | Coley (A2) | 3.80 | 2.50 | Coley A2 at Peterhead: £3.80/kg is 3.5× MAD from 30-day median (£2.50/kg) |
| WARN | Scrabster | 2026-05-15 | live_site |  |  |  | Scrabster: live page unreachable (<urlopen error [Errno -3] Temporary failure in name resolution>) |
| ERROR | Brixham | 2026-05-14 | live_site |  | 10.18 | 9.62 | Brixham: live site shows £10.18/kg but DB avg is £9.62/kg — display layer mismatch |
| ERROR | Lerwick | 2026-05-14 | live_site |  | 5.52 | 5.35 | Lerwick: live site shows £5.52/kg but DB avg is £5.35/kg — display layer mismatch |
| ERROR | Scrabster | 2026-05-14 | stale_data |  | 43.00 |  | Scrabster: no data for 43 trading days (last: 2026-03-16) |
| WARN | Brixham | 2026-05-14 | outlier_price | Dory Mini (ALL) | 1.64 | 2.76 | Dory Mini ALL at Brixham: £1.64/kg is 4.7× MAD from 30-day median (£2.76/kg) |
| WARN | Brixham | 2026-05-14 | outlier_price | Haddock (3) | 3.00 | 1.94 | Haddock 3 at Brixham: £3.00/kg is 5.1× MAD from 30-day median (£1.94/kg) |
| WARN | Brixham | 2026-05-14 | outlier_price | Smhound (2) | 0.06 | 0.21 | Smhound 2 at Brixham: £0.06/kg is 10.1× MAD from 30-day median (£0.21/kg) |
| WARN | Brixham | 2026-05-14 | price_swing | Sqdfan (ALL) | 1.99 | 0.33 | Sqdfan ALL at Brixham: £1.99/kg is 497% above 30-day mean (£0.33/kg) — likely a scraper error |
| WARN | Brixham | 2026-05-14 | unmapped_species | Bass (None) |  |  | 'Bass' at Brixham: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Brixham | 2026-05-14 | unmapped_species | Spiders (None) |  |  | 'Spiders' at Brixham: unmapped species — possible match 'Spider Crab' — review before adding to species.py |
| WARN | Brixham | 2026-05-14 | unmapped_species | Sqdfan (None) |  |  | 'Sqdfan' at Brixham: unmapped species — possible match 'Squid' — review before adding to species.py |
| WARN | Lerwick | 2026-05-14 | stale_data |  | 2.00 |  | Lerwick: no data for 2 trading days (last: 2026-05-12) |
| WARN | Lerwick | 2026-05-14 | unmapped_species | Mack (None) |  |  | 'Mack' at Lerwick: unmapped species — possible match 'Mackerel' — review before adding to species.py |
| WARN | Newlyn | 2026-05-14 | stale_data |  | 2.00 |  | Newlyn: no data for 2 trading days (last: 2026-05-12) |
| ERROR | Brixham | 2026-05-13 | live_site |  | 10.43 | 9.37 | Brixham: live site shows £10.43/kg but DB avg is £9.37/kg — display layer mismatch |
| ERROR | Scrabster | 2026-05-13 | stale_data |  | 42.00 |  | Scrabster: no data for 42 trading days (last: 2026-03-16) |
| WARN | Brixham | 2026-05-13 | outlier_price | Bl Wing (4) | 1.85 | 4.71 | Bl Wing 4 at Brixham: £1.85/kg is 4.9× MAD from 30-day median (£4.71/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Bream (4) | 1.89 | 5.99 | Bream 4 at Brixham: £1.89/kg is 3.5× MAD from 30-day median (£5.99/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Dory Mini (ALL) | 1.81 | 2.76 | Dory Mini ALL at Brixham: £1.81/kg is 4.0× MAD from 30-day median (£2.76/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Lob Nel (ALL) | 14.02 | 22.59 | Lob Nel ALL at Brixham: £14.02/kg is 5.6× MAD from 30-day median (£22.59/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Monk (6) | 5.90 | 8.52 | Monk 6 at Brixham: £5.90/kg is 7.4× MAD from 30-day median (£8.52/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Monkslink (ALL) | 4.67 | 8.57 | Monkslink ALL at Brixham: £4.67/kg is 6.3× MAD from 30-day median (£8.57/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Sp Wing (4) | 2.05 | 4.59 | Sp Wing 4 at Brixham: £2.05/kg is 4.0× MAD from 30-day median (£4.59/kg) |
| WARN | Brixham | 2026-05-13 | outlier_price | Th Wing (4) | 1.94 | 4.54 | Th Wing 4 at Brixham: £1.94/kg is 4.1× MAD from 30-day median (£4.54/kg) |
| WARN | Brixham | 2026-05-13 | unmapped_species | Bass (None) |  |  | 'Bass' at Brixham: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Peterhead | 2026-05-13 | outlier_price | Plaice (A4) | 1.10 | 0.61 | Plaice A4 at Peterhead: £1.10/kg is 3.8× MAD from 30-day median (£0.61/kg) |
| ERROR | Brixham | 2026-05-12 | live_site |  | 10.20 | 9.68 | Brixham: live site shows £10.20/kg but DB avg is £9.68/kg — display layer mismatch |
| ERROR | Lerwick | 2026-05-12 | live_site |  | 5.20 | 5.14 | Lerwick: live site shows £5.20/kg but DB avg is £5.14/kg — display layer mismatch |
| ERROR | Newlyn | 2026-05-12 | live_site |  | 8.33 | 8.16 | Newlyn: live site shows £8.33/kg but DB avg is £8.16/kg — display layer mismatch |
| ERROR | Scrabster | 2026-05-12 | stale_data |  | 41.00 |  | Scrabster: no data for 41 trading days (last: 2026-03-16) |
| WARN | Brixham | 2026-05-12 | outlier_price | Bl Wing (4) | 2.56 | 4.82 | Bl Wing 4 at Brixham: £2.56/kg is 5.4× MAD from 30-day median (£4.82/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Cod (5) | 0.72 | 4.55 | Cod 5 at Brixham: £0.72/kg is 4.9× MAD from 30-day median (£4.55/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Dory Mini (ALL) | 0.88 | 2.76 | Dory Mini ALL at Brixham: £0.88/kg is 7.9× MAD from 30-day median (£2.76/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Haddock (2) | 1.80 | 6.03 | Haddock 2 at Brixham: £1.80/kg is 4.3× MAD from 30-day median (£6.03/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Haddock (3) | 0.26 | 1.97 | Haddock 3 at Brixham: £0.26/kg is 6.6× MAD from 30-day median (£1.97/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Lem (3) | 10.00 | 12.92 | Lem 3 at Brixham: £10.00/kg is 5.1× MAD from 30-day median (£12.92/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Lob Nel (ALL) | 14.69 | 22.62 | Lob Nel ALL at Brixham: £14.69/kg is 5.3× MAD from 30-day median (£22.62/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Lobster (1) | 18.91 | 24.89 | Lobster 1 at Brixham: £18.91/kg is 3.8× MAD from 30-day median (£24.89/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Meg Bru (2) | 1.61 | 5.37 | Meg Bru 2 at Brixham: £1.61/kg is 4.5× MAD from 30-day median (£5.37/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Monkslink (ALL) | 5.55 | 8.57 | Monkslink ALL at Brixham: £5.55/kg is 5.5× MAD from 30-day median (£8.57/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Sp Wing (4) | 1.05 | 4.74 | Sp Wing 4 at Brixham: £1.05/kg is 6.3× MAD from 30-day median (£4.74/kg) |
| WARN | Brixham | 2026-05-12 | outlier_price | Th Wing (4) | 1.08 | 4.78 | Th Wing 4 at Brixham: £1.08/kg is 5.6× MAD from 30-day median (£4.78/kg) |
| WARN | Brixham | 2026-05-12 | unmapped_species | Bass (None) |  |  | 'Bass' at Brixham: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Brixham | 2026-05-12 | unmapped_species | Spiders (None) |  |  | 'Spiders' at Brixham: unmapped species — possible match 'Spider Crab' — review before adding to species.py |
| WARN | Brixham | 2026-05-12 | unmapped_species | Wrasse (None) |  |  | 'Wrasse' at Brixham: unmapped species — possible match 'Crabs' — review before adding to species.py |
| WARN | Lerwick | 2026-05-12 | live_site |  |  |  | Lerwick: live page unreachable (<urlopen error [Errno -3] Temporary failure in name resolution>) |
| WARN | Lerwick | 2026-05-12 | outlier_price | Saithe (3) | 3.57 | 2.40 | Saithe 3 at Lerwick: £3.57/kg is 4.2× MAD from 30-day median (£2.40/kg) |
| WARN | Newlyn | 2026-05-12 | outlier_price | Haddock (3) | 3.97 | 5.97 | Haddock 3 at Newlyn: £3.97/kg is 4.0× MAD from 30-day median (£5.97/kg) |
| WARN | Newlyn | 2026-05-12 | outlier_price | John Dory (5) | 3.45 | 1.90 | John Dory 5 at Newlyn: £3.45/kg is 8.4× MAD from 30-day median (£1.90/kg) |
| WARN | Newlyn | 2026-05-12 | outlier_price | Pollack, Lythe (4) | 4.27 | 5.47 | Pollack, Lythe 4 at Newlyn: £4.27/kg is 5.6× MAD from 30-day median (£5.47/kg) |
| WARN | Newlyn | 2026-05-12 | stale_data |  | 2.00 |  | Newlyn: no data for 2 trading days (last: 2026-05-08) |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Bass (None) |  |  | 'Bass' at Newlyn: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Blush Turbot (None) |  |  | 'Blush Turbot' at Newlyn: unmapped species — possible match 'Turbot' — review before adding to species.py |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Raybacks (None) |  |  | 'Raybacks' at Newlyn: unmapped species — possible match 'Crabs' — review before adding to species.py |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Spider Claws M (None) |  |  | 'Spider Claws M' at Newlyn: unmapped species — likely 'Spider Crab' — add "Spider Claws M": "Spider Crab" to _CANONICAL_MAP in species.py |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Tagged Bass (None) |  |  | 'Tagged Bass' at Newlyn: unmapped species — possible match 'Red Bream' — review before adding to species.py |
| WARN | Newlyn | 2026-05-12 | unmapped_species | Trap Caught Cuttle (None) |  |  | 'Trap Caught Cuttle' at Newlyn: unmapped species — possible match 'Cuttlefish' — review before adding to species.py |
| WARN | Peterhead | 2026-05-12 | outlier_price | Witches (ALL) | 3.22 | 1.11 | Witches ALL at Peterhead: £3.22/kg is 6.8× MAD from 30-day median (£1.11/kg) |
| ERROR | Brixham | 2026-05-11 | live_site |  | 9.22 | 8.36 | Brixham: live site shows £9.22/kg but DB avg is £8.36/kg — display layer mismatch |
| ERROR | Lerwick | 2026-05-11 | live_site |  | 4.58 | 4.53 | Lerwick: live site shows £4.58/kg but DB avg is £4.53/kg — display layer mismatch |
| ERROR | Scrabster | 2026-05-11 | stale_data |  | 40.00 |  | Scrabster: no data for 40 trading days (last: 2026-03-16) |
| WARN | Brixham | 2026-05-11 | outlier_price | Bl Wing (4) | 2.82 | 4.84 | Bl Wing 4 at Brixham: £2.82/kg is 5.0× MAD from 30-day median (£4.84/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Co Wing (4) | 0.76 | 4.34 | Co Wing 4 at Brixham: £0.76/kg is 4.8× MAD from 30-day median (£4.34/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Cod (5) | 1.33 | 4.64 | Cod 5 at Brixham: £1.33/kg is 7.2× MAD from 30-day median (£4.64/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Lem (3) | 9.68 | 12.96 | Lem 3 at Brixham: £9.68/kg is 6.6× MAD from 30-day median (£12.96/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Lob Nel (ALL) | 15.52 | 22.64 | Lob Nel ALL at Brixham: £15.52/kg is 4.9× MAD from 30-day median (£22.64/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Lobster (1) | 18.56 | 25.05 | Lobster 1 at Brixham: £18.56/kg is 3.7× MAD from 30-day median (£25.05/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Monk (6) | 6.96 | 8.57 | Monk 6 at Brixham: £6.96/kg is 4.9× MAD from 30-day median (£8.57/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Monk Dam (ALL) | 6.46 | 9.41 | Monk Dam ALL at Brixham: £6.46/kg is 4.1× MAD from 30-day median (£9.41/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Sp Wing (4) | 2.65 | 4.77 | Sp Wing 4 at Brixham: £2.65/kg is 4.6× MAD from 30-day median (£4.77/kg) |
| WARN | Brixham | 2026-05-11 | outlier_price | Tubs (2) | 4.50 | 6.97 | Tubs 2 at Brixham: £4.50/kg is 3.7× MAD from 30-day median (£6.97/kg) |
| WARN | Brixham | 2026-05-11 | unmapped_species | Bass (None) |  |  | 'Bass' at Brixham: unmapped species — possible match 'Tub Gurnard' — review before adding to species.py |
| WARN | Brixham | 2026-05-11 | unmapped_species | Rockling (None) |  |  | 'Rockling' at Brixham: unmapped species — possible match 'Ling' — review before adding to species.py |
| WARN | Brixham | 2026-05-11 | unmapped_species | Sha Ray (None) |  |  | 'Sha Ray' at Brixham: unmapped species — possible match 'Skate' — review before adding to species.py |
| WARN | Lerwick | 2026-05-11 | outlier_price | Plaice (4) | 2.33 | 1.55 | Plaice 4 at Lerwick: £2.33/kg is 3.5× MAD from 30-day median (£1.55/kg) |
| WARN | Lerwick | 2026-05-11 | outlier_price | Skate (4) | 0.60 | 1.34 | Skate 4 at Lerwick: £0.60/kg is 3.7× MAD from 30-day median (£1.34/kg) |
