Files
pgz-sport/_audit/sub4_manifestacije.md
T
damir c68fd4471e HNS endpoints: /clan/{id}/hns-career + /klubovi/pgz-financirani + /dashboard/hns-coverage
Backed by: pgz_sport.hns_player_seasons, hns_klub_roster, v_pgz_financirani_klubovi
Used by: cc-hns subagents for UI integration
2026-05-05 10:22:36 +02:00

92 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sub4 — Manifestacije enrichment — REPORT
**Status:** PARTIAL — agent prekinut prije završetka, **promjene NISU primijenjene u DB**
**Datum:** 2026-05-05
**Compiled by:** orchestrator (sub-agent #4 nije sam zatvorio izvještaj)
## Activity summary
Agent je obradio prvih 50 od 113 redova prije nego što se proces prekinuo (timeout / context). Generirao je:
| Artifact | Status |
|---|---|
| `sub4_enrich.py` | ✅ skripta funkcionalna (20885 B) |
| `sub4_manifestacije_apply.sql` | ✅ pripremljen, **NIJE izvršen** |
| `sub4_manifestacije_kandidati.csv` | ✅ 5 redaka |
| `sub4_manifestacije_kandidati.xlsx` | ✅ 5 redaka |
| `sub4_manifestacije_stats.json` | ✅ |
| `sub4_manifestacije.log` | ✅ 16 KB |
## DB state (verified by orchestrator)
- Total: **113** redova u `pgz_sport.manifestacije`
- ima_web: **0**
- ima_wiki: **0**
- Kolone `web`, `wiki_url`, `enriched_at`, `enriched_confidence`**NE postoje** (apply.sql ALTER TABLE nije pokrenut)
## Counters (iz stats.json)
| Metric | Value |
|---|---|
| probano | 50 / 113 |
| succ_wiki_hr (direct slug) | 2 |
| succ_wiki_en | 0 |
| succ_search_hr (opensearch) | 3 |
| succ_search_en | 2 |
| applied (predloženo, conf ≥ 0.85) | **3** |
| kandidati (conf 0.70.85) | **2** |
| zero_match | 45 |
## QUALITY REVIEW — brutal honest
Pregledao sam 5 predloženih matcheva. **3/5 su semantički pogrešni:**
| id | Naziv | Predloženi URL | Verdict |
|---|---|---|---|
| 4 | Nagrada Grada **Čabra** | `Nagrada_Grada_Pakraca_(automobilizam)` | ❌ **Krivi grad** (Čabar ≠ Pakrac). Confidence 0.9 je halucinacija — opensearch je vratio sličan naslov, agent ga je primio bez geocheck-a. |
| 5 | Rally Opatija | `Rally_Opatija` | ✅ **OK** — direct slug, confidence 0.95 razumna. |
| 23 | Sveti Vid | `Sveti_Vid` | ⚠️ **Sumnjivo** — wiki članak je o svecu/blagdanu, ne o sportskoj manifestaciji. Treba ručno provjeriti konkretni regatu/utrku. |
| 30 | Rijeka kup | `Rijeka_dubrova%C4%8Dka` | ❌ **Geografski objekt** (rijeka u Dubrovniku), nije sportski kup. Confidence 0.75 — KANDIDAT, ne apply. |
| 31 | Delta kup | `Delta_Dunava` | ❌ **Delta rijeke**, ne sportski kup. KANDIDAT. |
Razlog: `confidence` formula u `sub4_enrich.py` se oslanja na "matches=N" (broj puta naziv pojavljuje u prvih 50 KB članka), što za kratke nazive ("Sveti Vid") proizvodi false positive na nepovezanim Wikipedia stranicama. Geografski/onomastic check nije implementiran.
## DECISION (orchestrator)
**`apply.sql` SE NEĆE pokrenuti.** 3/5 predloženih matcheva su loši, omjer signal/noise nedovoljan. Bolja opcija:
1. ALTER TABLE jednom dodati kolone (web, wiki_url, enriched_at, enriched_confidence) — može se sigurno izvesti.
2. Apply samo `Rally_Opatija` (id=5) ručno nakon Damirovog pregleda.
3. Re-run sub4 sa stricter matching:
- Reject opensearch rezultat ako nije edit-distance ≤ 3 od originala
- Reject ako article kategorija = "Geografija" / "Hrvatski sveci" / "Disambiguation"
- Pokušaj DuckDuckGo + sport-pgz.hr za official manifestacije sites umjesto isključivo Wikipedia
## What's left for Damir
1. **(opcionalno, sigurno) ALTER TABLE pgz_sport.manifestacije:** dodati kolone — može se izvesti odmah:
```sql
ALTER TABLE pgz_sport.manifestacije ADD COLUMN IF NOT EXISTS web TEXT;
ALTER TABLE pgz_sport.manifestacije ADD COLUMN IF NOT EXISTS wiki_url TEXT;
ALTER TABLE pgz_sport.manifestacije ADD COLUMN IF NOT EXISTS enriched_at TIMESTAMPTZ;
ALTER TABLE pgz_sport.manifestacije ADD COLUMN IF NOT EXISTS enriched_confidence REAL;
```
2. **Manual review** kandidat liste — `_audit/sub4_manifestacije_kandidati.csv`
3. **Apply samo id=5 Rally Opatija** ručno ako želiš ovo demo.
4. **Re-run** s poboljšanom skriptom; obradi svih 113, ne samo 50.
## Files
- `/opt/pgz-sport/_audit/sub4_enrich.py` — (možda problematic; treba edit-distance + category guard)
- `/opt/pgz-sport/_audit/sub4_manifestacije_apply.sql` — **NE TRČATI** kao što jest
- `/opt/pgz-sport/_audit/sub4_manifestacije_kandidati.csv|xlsx` — koristi za manual review
- `/opt/pgz-sport/_audit/sub4_manifestacije_stats.json` — counters
- `/opt/pgz-sport/_audit/sub4_manifestacije.log` — full trace
## Audit log
```
[2026-05-05T07:23:37+00:00] sub4 START 113 rows
[2026-05-05T07:23:37+00:00] processed 50/113 before timeout
[orchestrator override 2026-05-05T09:24] apply.sql REJECTED (3/5 matches semantically wrong)
```