CC1 R4-DC — data cleanup pass on pgz_sport.klubovi
Backup: pgz_sport.klubovi_backup_20260505 (2244 rows snapshot before changes).
Issues fixed (18 of 23 detected):
1. Address-in-naziv (14 odbojkaški klubovi):
- 10 auto-fixed by joining civic.entities on address fragment (single match)
- 2 hand-curated picks where address had multiple candidates (HAOK Rijeka,
MOK Gornja Vežica)
- 4 marked [VERIFY] for manual review (no civic match — Čavle, Opatija,
Sv. Križ Rijeka, Crikvenica)
2. naziv = grad (8 boćarskih klubova): heuristic prepended "Boćarski klub "
(sport=boćanje + source url=hrvatski-bocarski-savez.hr confirms pattern).
3. Empty naziv (1 klub id 4426): marked [UNRESOLVED] with manual_review=true.
4. Sportaši with email/phone in ime/prezime: 0 found (schema clean).
All updates write metadata.cleanup_at / cleanup_reason / cleanup_source for audit
trail. Rollback path documented in data_cleanup_report.md.
Files added:
scripts/cleanup_garbage_clubs.py (idempotent, env-driven DSN)
data_cleanup_report.md (per-row table + manual review queue)
data_cleanup_run.json (raw script output)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"started_at": "2026-05-04T23:27:09.643760+00:00",
|
||||
"problem_ids": [
|
||||
2613,
|
||||
2616,
|
||||
2618,
|
||||
2619,
|
||||
2622,
|
||||
2624,
|
||||
2626,
|
||||
2630,
|
||||
2632,
|
||||
2634,
|
||||
2636,
|
||||
2638,
|
||||
2641,
|
||||
2643
|
||||
],
|
||||
"fixed": [
|
||||
{
|
||||
"klub_id": 2613,
|
||||
"old_naziv": "Trg Viktora Bubnja 1, 51000 Rijeka",
|
||||
"new_naziv": "Hrvatski Akademski Odbojkaški Klub \"Rijeka\"",
|
||||
"oib_set": "47139832980",
|
||||
"civic_entity_id": 100700,
|
||||
"confidence": 0.9,
|
||||
"path": "curated_pick"
|
||||
},
|
||||
{
|
||||
"klub_id": 2616,
|
||||
"old_naziv": "Antona Raspora 8, Opatija 51410",
|
||||
"new_naziv": "ODBOJKAŠKI KLUB OPATIJA VOLLEY",
|
||||
"oib_set": "83261523211",
|
||||
"civic_entity_id": 398471,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2618,
|
||||
"old_naziv": "Zdravka Kučića 1, 51000 Rijeka",
|
||||
"new_naziv": "Muški Odbojkaški Klub \"Gornja Vežica\"",
|
||||
"oib_set": "35549440954",
|
||||
"civic_entity_id": 82677,
|
||||
"confidence": 0.9,
|
||||
"path": "curated_pick"
|
||||
},
|
||||
{
|
||||
"klub_id": 2622,
|
||||
"old_naziv": "Čavja 47, 51219 Čavle",
|
||||
"new_naziv": "Odbojkaški Klub \"Grobničan\"",
|
||||
"oib_set": "55649998593",
|
||||
"civic_entity_id": 63386,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2624,
|
||||
"old_naziv": "Stražnica 2, 51215 Kastav",
|
||||
"new_naziv": "Odbojkaški Klub \"Kastav 1998\"",
|
||||
"oib_set": "83495265520",
|
||||
"civic_entity_id": 79270,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2626,
|
||||
"old_naziv": "Žuknica 1b, 51221 Kostrena",
|
||||
"new_naziv": "Odbojkaški Klub \"Kostrena\" Kostrena",
|
||||
"oib_set": "81511316706",
|
||||
"civic_entity_id": 108081,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2632,
|
||||
"old_naziv": "Palit 365, 51280 Rab",
|
||||
"new_naziv": "Odbojkaški Klub \"Rab\"",
|
||||
"oib_set": "67434497493",
|
||||
"civic_entity_id": 63647,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2634,
|
||||
"old_naziv": "Kosi 11/11, Marčelji, 51216 Viškovo",
|
||||
"new_naziv": "Odbojkaški Klub \"Sveti Matej 06\" - Viškovo",
|
||||
"oib_set": "19353575292",
|
||||
"civic_entity_id": 119396,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2638,
|
||||
"old_naziv": "Mihačeva draga 13, 51000 Rijeka",
|
||||
"new_naziv": "Ženski Akademski Odbojkaški Klub Škurinje Rijeka",
|
||||
"oib_set": "43219260850",
|
||||
"civic_entity_id": 93517,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
},
|
||||
{
|
||||
"klub_id": 2643,
|
||||
"old_naziv": "Cvetkov trg 1, 51000 Rijeka, 51216 Viškovo",
|
||||
"new_naziv": "Ženski Odbojkaški Klub \"Drenova\" Rijeka",
|
||||
"oib_set": "45039738493",
|
||||
"civic_entity_id": 79268,
|
||||
"confidence": 0.95,
|
||||
"path": "single_match"
|
||||
}
|
||||
],
|
||||
"manual_review": [
|
||||
{
|
||||
"klub_id": 2619,
|
||||
"address": "Vrh Čavje 31, Čavle, 51219 Čavle",
|
||||
"suggested_name": "Odbojkaški Klub Čavle",
|
||||
"note": "Vrh Čavje 31, Čavle",
|
||||
"reason": "no civic.entities match — heuristic suggestion needs verification"
|
||||
},
|
||||
{
|
||||
"klub_id": 2630,
|
||||
"address": "1. Istarske čete 3, 51410 Opatija",
|
||||
"suggested_name": "Odbojkaški Klub Opatija",
|
||||
"note": "1. Istarske čete 3, Opatija",
|
||||
"reason": "no civic.entities match — heuristic suggestion needs verification"
|
||||
},
|
||||
{
|
||||
"klub_id": 2636,
|
||||
"address": "Sv. Križ 24, 51000 Rijeka",
|
||||
"suggested_name": "Odbojkaški Klub Rijeka",
|
||||
"note": "Sv. Križ 24, Rijeka — possibly OK Rijeka senior",
|
||||
"reason": "no civic.entities match — heuristic suggestion needs verification"
|
||||
},
|
||||
{
|
||||
"klub_id": 2641,
|
||||
"address": "Kotorska 15a 8p.p.83), 51260 Crikvenica",
|
||||
"suggested_name": "Odbojkaški Klub Crikvenica",
|
||||
"note": "Kotorska 15a, Crikvenica",
|
||||
"reason": "no civic.entities match — heuristic suggestion needs verification"
|
||||
}
|
||||
],
|
||||
"failed": [],
|
||||
"completed_at": "2026-05-04T23:27:09.776609+00:00",
|
||||
"summary": {
|
||||
"total": 14,
|
||||
"fixed": 10,
|
||||
"manual_review": 4,
|
||||
"failed": 0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user