# Audit prospețime + completitudine — gov-agreg DB
**Data:** 2026-05-10
**Sub-agent:** G3 (data quality)
**Bază date:** `architools_db` @ 10.10.10.166 — **dimensiune totală 29 GB**
**Acoperire audit:** 17 schemas / 33 tabele de date (excludem staging și scrape_log)
**Total rânduri reconciliat:** **17,907,148** (~17.9M, vs ~6.94M citate anterior — schimbarea majoră vine din `fonduri.afir_plati` cu 5.33M rânduri și `firms.entities` la 3.99M).

---

## 1. Executive summary — Tabel sinteză 17 schemas

| Schema | Rânduri | Ultima înregistrare | Ultim scrape | Sursă (frecvență) | Gap | Acțiune | Prioritate |
|---|---:|---|---|---|---|---|---|
| **seap** | 4,011,832 | 2026-05-30 | 2026-05-10 | live API + WSP | live OK; gap 2020-21 + 2024 + DA pre-2025 | Backfill DA 2017-24 (~8M) + WSP retake 2020-21 | 🔴 |
| **firms** | 8,640,978 | 2026-05-09 | 2026-05-09 | ONRC weekly | OK | menține cron weekly | 🟢 |
| **fonduri** | 5,430,381 | 2026-05-10 | 2026-05-10 | data.gov.ro | OK | (afir 2025 nepublicat încă) | 🟢 |
| **regas** | 78,546 | 2026-05-07 | 2026-05-09 | C.Concurenței lunar | OK | menține cron lunar | 🟢 |
| **anaf** | 140,777 | 2016-03-31 (datornici!) | 2026-05-09 (no-op) | data.gov.ro Q | **3,693 zile** | scrape Q4 2025 (date nouă necesită captcha) | 🔴 |
| **aep** | 379,977 | 2024-12-27 | 2026-05-09 | banipartide.ro | ~140 zile | re-scrape 2025 (anual e OK) | 🟡 |
| **ani** | 25 PDFs / 0 parsate | 2023 | n/a | live ANI | parser ne-implementat | dezvoltare parser ANI 1.3M PDFs | 🔴 |
| **bugetar** | 18,822 entități / 0 execuție | n/a | 2026-05-09 | mfinante.gov.ro | execuție 0 rows!!! | repară pipeline `bugetar.executie` | 🔴 |
| **anre** | 29,536 | 2027-11-20 (data_emitere) | 2026-05-10 | live ANRE | OK; 2025 fresh | adaugă electricieni pipeline | 🟢 |
| **ancom** | 3,054 | live | 2026-05-10 | live ANCOM | OK | menține cron | 🟢 |
| **cnsc** | 29,488 | 2026 listing | 2026-05-10 | live CNSC | listing OK; 0% PDF parse | extracție decision_type din PDF (medium) | 🟡 |
| **cnas** | 36,244 (61 doc + 36k furnizori) | 2025-03-31 | 2026-05-10 | WP media CNAS | OK; 0% CUI match | activează matcher CUI | 🟡 |
| **asf** | 849 | 2022-12-19 | 2026-05-10 | live ASF | OK (nightly) | menține | 🟢 |
| **aaas** | 11 | n/a (last_action_date NULL) | 2026-05-10 | aaas.ro portfolio | only 11 firme — incomplete | backfill ORDIN 278/2005 PDF (~150 firme) | 🟡 |
| **curteacont** | 1,133 | 2026-05-15 | 2026-05-10 | live curteadeconturi.ro | listing OK; 0% PDF + 0 CUI | Stage 2 detail-page resolve | 🟡 |
| **apia** | 191 | 2024 (campaign) | 2026-05-10 | data.gov.ro CKAN | doar 1 CUI matched (191 PF) | re-rulează matcher cu fuzzy + adaugă camp.2025 | 🔴 |
| **gnm** | 349 (348 com + 1 amendă) | 2026-03-18 | 2026-05-10 | live gnm.ro RSS | listing OK; 0.6% amenzi parsate | finalizează Stage B (fuzzy matcher live) | 🟡 |

Legendă: 🟢 sănătos · 🟡 are gap-uri rezolvabile <2 zile · 🔴 problemă structurală sau backlog mare

---

## 2. Per-schema deep dive

### 2.1 SEAP (`seap.*`)

| Tabel | Rânduri | Min - Max date | Distinct CUI authority/supplier |
|---|---:|---|---|
| `announcements` | **781,029** | 2015-04-29 → 2026-05-30 | 14,616 / 65,643 |
| `direct_acquisitions` | **2,229,285** | 2025-01-01 → 2025-12-31 | 14,642 / 74,239 |
| `cui_location` | 96,523 | upd 2026-04-13 → 2026-05-09 | 96,523 |
| `entities` | 432 | 2026-04-13 (one shot) | 430 |
| `cpv_codes` | ~9,500 | static | — |
| `public_notices`, `notice_contracts` | **0 / 0** | gol | (legacy goale) |

**Distribuție anuală announcements:**
```
2015:  4,368   2016:    39   2017: 26,871   2018: 17,871
2019: 16,570   2020:     0   2021:     0   2022: 24,676
2023: 46,996   2024:    750   2025: 607,256   2026: 26,178
```
**Probleme observate:**
- ❌ **2020 + 2021 lipsă completă** (gap de 2 ani — confirmat în CLAUDE.md). Sursa: WSP scraper a sărit fereastra când a fost lansat în 2022.
- ❌ **2024 cvasi-absent** (doar 750 rows în martie). Backfill nu a recoperit 2024.
- ❌ **direct_acquisitions doar pentru 2025** (2,2M rows!) — istoric 2017-2024 = ~8M rânduri pierdute. CLAUDE.md confirmă "direct procurement 2017-2024 not ingested (~8M rows pending)".
- ❌ `seap.sync_state` arată feed `da` în `running` din **2025-10-16**, ultim update 2026-04-13 — backfill istoric blocat, nu mai progresează.
- ❌ `wsp_sync_state` nu a mai rulat din **2026-05-07** (3 zile stale; scraper rulează cron 2-4 ori/zi de obicei).
- ❌ `seap.public_notices` și `seap.notice_contracts` complet goale (legacy schema sau pipeline dezactivat).
- ⚠️ TED import: `import_ted.py` linia 22-38 — array `FIELDS` **NU conține `'publication-date'`**, deși codul îl folosește la linia 152. Toate `publication_date` din TED sunt **NULL** (1-line fix).

**Completitudine recentă:** announcements ultimele 30 zile = 3,474 rânduri ✅. DA ultimele 30 zile = **0** ❌.

### 2.2 firms (`firms.*`)

| Tabel | Rânduri | Coverage |
|---|---:|---|
| `entities` | **3,985,967** | 3.99M total · 3.32M active ANAF · 3.74M cu CAEN · 3.64M geocodate · 2.62M cu reprezentanți |
| `financials` | 4,245,749 | 2020-2024 · 1.18M CUI distincți |
| `financials_banks` | 66 | 2024 |
| `financials_ong` | 286,240 | 2020-2024 · 74,862 ONG |
| `reprezentanti_if` | 122,956 | sucursale UE |

**Completitudine:**
- 91.3% au CAEN (`caen_principal NOT NULL`)
- 91.3% sunt geocodate (`lat NOT NULL`)
- 65.7% au reprezentanți legali în JSON
- 83.4% activi ANAF (restul radiate / suspendate)

**Probleme:** niciuna critică. Last update 2026-05-09. Cron weekly OK. Există `staging_onrc_*` (~3GB) — probabil de șters după backfill.

### 2.3 fonduri (`fonduri.*`)

| Tabel | Rânduri | Date range | CUI matched |
|---|---:|---|---|
| `afir_plati` | **5,329,006** | source_year 2023-2024 | 37,647 distincți |
| `beneficiar_anunt` | 41,494 | 2013-10 → 2026-05-08 | 8,772 |
| `beneficiar_anunt_lot` | 48,392 | — | — |
| `beneficiar_proiect` | 11,489 | 2010-05 → 2026-05-08 | **0 matched** ⚠️ |

**Probleme:**
- `beneficiar_proiect` are 11,489 rânduri dar **0 CUI matched** (column `cui` populat?, dar `count(distinct cui)` = 0 — necesită investigație: probabil toate NULL).
- AFIR plăți istoric 2007-2022 nepublicat (sursa data.gov.ro publică doar 2023-2024 unificat).
- AFIR 2025 — sursa de obicei publică în Q1 anul următor; nu e gap real, e timing.

### 2.4 regas (`regas.ajutoare`)

- **78,546 rânduri**, 2016-01-13 → 2026-05-07 (live, lunar)
- 23,805 CUI distincți cu ajutoare de stat
- Distribuție: 2020-2023 sunt anii vârf (12k-21k/an), 2024 = 10,245, 2025 abia început
- ✅ **Sănătos** — last fetch 2026-05-09

### 2.5 anaf (`anaf.*`)

| Tabel | Rânduri | Min/Max date | Status |
|---|---:|---|---|
| `datornici` | 140,777 | **2016-03-31** *(static!)* | 🔴 stale ~10 ani |
| `lista_alba` | **0** | — | gol |
| `datornici_latest` | view | — | reflect static |

**Probleme catastrofale:**
- `anaf.datornici` are **doar Q1 2016** (publication_date = 2016-03-31). Sursa data.gov.ro publică trimestrial; ultimul Q4 2025 ar trebui ingerat.
- `anaf.lista_alba` complet gol — 0 rânduri.
- CLAUDE.md confirmă blocaj: "ANAF datornici via 2captcha" — site-ul actual ANAF cere captcha, ingestul automat a fost blocat după 2016.

### 2.6 aep (`aep.*`)

| Tabel | Rânduri | Min/Max | Note |
|---|---:|---|---|
| `donatii_pf` | 30,173 | 1997-03-29 → 2024-12-27 | persoane fizice |
| `donatii_pj` | 3,567 | 2000-05-16 → 2024-12-13 | persoane juridice (2,148 CUI distincți) |
| `donatii_rvc` | **346,237** | 2000-01-11 → **2034-01-31** ⚠️ | venituri (date eronate viitor) |
| `partide` | 64 | — | partide active |

**Probleme:**
- ✅ Coverage 2024 prezent — bun.
- ⚠️ `donatii_rvc` are date până la **2034-01-31** — câteva rânduri cu data eronată în viitor (probabil OCR error pe banipartide.ro).
- ⚠️ Surse 2025 lipsă pentru toate sursele AEP (raportările partidelor pe 2025 se publică abia Q2 2026).

### 2.7 ani (`ani.*`)

| Tabel | Rânduri |
|---|---:|
| `declaratii` | **25** (toate `parse_status='pending'`) |
| `officials`, `bunuri`, `donatii`, `functii`, `shareholdings` | **0** |

**Status:** Schema definită, **pipeline ne-implementat**. CLAUDE.md confirmă: "ANI 1.3M PDFs" — multi-week effort.

### 2.8 bugetar (`bugetar.*`)

| Tabel | Rânduri |
|---|---:|
| `entitate` | 18,822 (6,564 cu CUI matched, 12,258 fără) |
| `executie` | **0** ❌ |
| `crawl_job` | **0** ❌ |

**Probleme catastrofale:**
- `bugetar.entitate` populat cu 18,822 entități publice, dar `executie` și `crawl_job` complet goale.
- Pipeline-ul mfinante.gov.ro pentru execuție bugetară nu rulează (sau rulează dar respinge toate datele).

### 2.9 anre (`anre.*`)

| Tabel | Rânduri | Stare |
|---|---:|---|
| `licente` | **29,536** | 1999-09-20 → 2027-11-20 (autorizări viitoare incluse) |
| `electricieni` | **0** | nu rulează |
| Source breakdown | atestat: 23,996 · electricitate: 4,541 · gaze: 999 | |

**Distribuție stare:** 11,957 expirate · 8,077 atestate · 3,436 retrase · 1,332 acordate · ~5k alte stări.
**Problemă:** `anre.electricieni` complet gol — pipeline pentru registrul electricienilor neimplementat sau eșuat.

### 2.10 ancom (`ancom.*`)

| Tabel | Rânduri |
|---|---:|
| `operatori` | 518 (toți cu CUI matched ✅) |
| `drepturi` | 2,536 (1,311 servicii + 1,225 rețea) |

✅ **Sănătos** — registru live, 100% CUI match. Last fetch 2026-05-10.

### 2.11 cnsc (`cnsc.decizii`)

- **29,488 rânduri**, distribute pe 2015-2026 (medie ~2,800/an)
- **0% au `decision_type`, `decision_summary`, `pdf_text_sha1`** — listing OK, dar PDF-uri **complet neparsate**
- CLAUDE.md target: "50/page × 617 pages = ~30,850" — captura curentă (29,488) ≈ 96% din target. ✅ aproape complet.
- Last fetch 2026-05-10.

### 2.12 cnas (`cnas.*`)

| Tabel | Rânduri | Status |
|---|---:|---|
| `documents` | 61 (46 ok · 14 no_table · 1 unsupported) | 2022-03 → 2025-03 |
| `furnizori` | **36,183** | **0 CUI matched** ⚠️ |

**Probleme:**
- 100% furnizori extrași, **0% matched la CUI** — câmpul `cui_match_method` este gol pentru toate rândurile.
- 25% PDF-uri (15/61) eșuat la parsing (no_table sau format necunoscut).

### 2.13 asf (`asf.entitati`)

- **849 rânduri** (788 brokeri + 61 asigurători)
- Live nightly, `data_autorizare` 1900-2022 (1900 = data lipsă în sursă)
- ✅ Sănătos.

### 2.14 aaas (`aaas.firme`)

- **11 firme** (toate `aaas_status='active_holding'`)
- **`last_action_date` = NULL pentru toate** — câmp ne-populat
- CLAUDE.md target: "12-15 firme active portfolio" — captura curentă (11) ≈ 73-92% din target.
- ❌ Backfill **ORDIN 278/2005** PDF (~150 firme istorice) **deferred**.

### 2.15 curteacont (`curteacont.rapoarte`)

- **1,133 rânduri**: 500 conformitate + 499 financiar + 114 follow-up + 20 performanță
- Last finished_at: 2026-05-10 (Stage 1 = listing OK)
- ❌ **0% au `pdf_path`** (zero PDF-uri descărcate)
- ❌ **0% au `audited_entity_cui`** (entitatea auditată nu e extrasă)
- ❌ **0% `parsed_at`** — Stage 2 (detail-page resolve) ne-implementat
- audit_year: 2021(1), 2022(5), 2023(74), 2024(415), 2025(4)

### 2.16 apia (`apia.fermieri`)

- **191 rânduri** — campania 2024
- ⚠️ **Doar 1 CUI matched** — 190/191 sunt PF (persoane fizice fără CUI), legitim, dar și **PJ-urile nu sunt matchuite**
- CLAUDE.md target: "monthly via CKAN" — sursa publică doar lista anuală
- Lipsește campania 2025 (în mod normal disponibilă din martie 2026)
- Sub-utilizat — datasetul real APIA are ~800k fermieri/an, captura noastră are 191 (probabil un eșantion)

### 2.17 gnm (`gnm.*`)

| Tabel | Rânduri |
|---|---:|
| `comunicate` | 348 |
| `amenzi_extrase` | **1** |

- Distribuție: 2016(23), 2020-2023(8-51/an), 2024(51), 2025(92), **2026(5)**
- Last `publicat_la` = 2026-03-18 (~7 săptămâni stale față de scrape 2026-05-10)
- 36/348 (10%) flagged `is_enforcement=true`, 20/348 (5.7%) cu `total_amenzi_lei`
- Stage B fuzzy matcher recent comise (cf. commit `82b64b3`) dar a produs doar 1 amendă — pipeline necesită testare.

---

## 3. Quick wins (≤2h fixes — ranking by impact)

| # | Fix | Schema | Effort | Impact | Comandă/path |
|---|---|---|--:|---|---|
| 1 | **Adaugă `'publication-date'` în `FIELDS` array (TED import)** | seap (TED) | 5 min | 100% TED publication_date populat | `services/seap-scraper/import_ted.py` linia 22-38 |
| 2 | **Re-rulează scraper SEAP WSP** (3 zile stale, sync_state blocat la 2025-10-16) | seap | 30 min | recoperare daily live + deblochează backfill istoric | `services/seap-scraper/wsp/` + `seap.sync_state` reset manual |
| 3 | **Re-rulează matcher CUI pentru `cnas.furnizori`** (36k rows, 0% matched) | cnas | 20 min | 36k furnizori legabili la entități firme | `services/seap-scraper/cron/match-cui-external.sh` (extindere) |
| 4 | **Re-rulează matcher CUI pentru `apia.fermieri`** | apia | 10 min | match PJ (cu CUI explicit) la firms.entities | `cron/match-cui-external.sh` |
| 5 | **Curățare date eronate `aep.donatii_rvc`** (date 2034-01-31) | aep | 10 min | UPDATE … SET data_donatie = NULL WHERE data_donatie > now() | direct SQL |
| 6 | **Re-rulează scrape AEP donatii** pentru 2025 | aep | 1 h | adaugă raportările financiare 2024 finale | `cron/scrape-aep-donatii.sh` |
| 7 | **Drop staging tables firms.staging_onrc_*** (~3GB liberi) | firms | 5 min | recuperare spațiu DB după backfill | DROP TABLE manual |
| 8 | **Drop seap.public_notices, seap.notice_contracts** (legacy goale) | seap | 1 min | curățare schema | DROP TABLE |
| 9 | **Repornire scraper GNM** (last comunicat 2026-03-18, gap 53 zile) | gnm | 15 min | aducerea la zi a comunicatelor martie-mai 2026 | `cron/scrape-gnm.sh` |

**Total quick wins recomandate: ~3h** pentru a rezolva 9 issues cu impact direct vizibil.

---

## 4. Medium effort (1-2 zile fiecare)

| # | Fix | Schema | Effort | Impact |
|---|---|---|--:|---|
| 1 | **CNSC PDF parse pentru `decision_type` + `decision_summary`** | cnsc | 1-2 zile | 29,488 decizii devin filtrabile pe tip (admisă/respinsă) |
| 2 | **Curtea Conturi Stage 2** — detail-page resolve + extract `audited_entity_cui` + descarcă PDF | curteacont | 2 zile | 1,133 rapoarte legate la CUI + PDF disponibile |
| 3 | **AAAS ORDIN 278/2005 backfill** — parse PDF cu lista istorică ~150 firme | aaas | 1 zi | 11 → ~150 firme acoperire (12-13× growth) |
| 4 | **bugetar.executie pipeline repair** — entitate populat dar executie 0 rows | bugetar | 1-2 zile | adaugă date execuție pe ~6,564 instituții cu CUI matched |
| 5 | **APIA campania 2025** + **fixează volumul** (191 rânduri pare mic vs ~800k fermieri reali) | apia | 1 zi | datasetul devine real reprezentativ |
| 6 | **CNAS PDF parse upgrade** pentru 14 doc cu `parse_status='no_table'` | cnas | 1 zi | +25% acoperire furnizori CNAS |
| 7 | **GNM Stage B finalizare** — fuzzy matcher activ pe toate cele 348 comunicate (acum capturat 1/348) | gnm | 1 zi | extragerea efectivă a violatorilor de mediu |
| 8 | **ANRE electricieni** — pipeline neimplementat | anre | 1 zi | adaugă registrul electricienilor (~10k entries) |
| 9 | **Reset `seap.sync_state` pentru `da`** (blocat în `running` din 2025-10-16) | seap | 30 min + replay | deblochează backfill direct_acquisitions |
| 10 | **anaf.lista_alba** populare din data.gov.ro | anaf | 1 zi | listă albă completă (paralel datornici) |
| 11 | **`fonduri.beneficiar_proiect` matcher CUI** (11,489 rows, 0 matched) | fonduri | 1 zi | proiectele POIM/POR devin filtrabile pe CUI |

---

## 5. Heavy lifts (multi-week)

| # | Investiție | Schema | Effort | Impact |
|---|---|---|--:|---|
| 1 | **ANI 1.3M PDFs** — declaratii avere + interese, parser + match officials | ani | **4-6 săptămâni** | unlock declaratii politicieni — feature flagship |
| 2 | **SEAP direct_acquisitions backfill 2017-2024** — ~8M rânduri | seap | **2-3 săptămâni** | acoperire achiziții directe completă (acum doar 2025) |
| 3 | **SEAP announcements backfill 2020-2021** + **2024 lipsă** | seap | **1-2 săptămâni** | închidere gap istoric anunțuri |
| 4 | **ANAF datornici via 2captcha** — re-acoperire 2017-2025 (33 trimestre stale) | anaf | **2-3 săptămâni** | reactivare datornici (acum static la Q1 2016) |
| 5 | **Curtea Conturi PDF text extraction + entity resolution** | curteacont | **3-4 săptămâni** | rapoarte audit devin căutabile pe text + linked la firme |
| 6 | **ONRC raw → entities pipeline complet** (există staging 791MB + 938MB + 443MB nefolosit) | firms | **2 săptămâni** | refresh weekly al `firms.entities` din ONRC fresh dump |

---

## 6. Refresh cadence recommendation (cron schedule sustenabil)

Propunere `/etc/cron.d/govagreg-refresh` pentru steady-state:

```cron
# === LIVE / NEAR-REAL-TIME (multiple ori pe zi) ===
0 */4 * * *  satra  scrape-seap-wsp.sh         # SEAP live feed (4h cycle, ~3-4k rows/zi)
30 2 * * *   satra  scrape-cnsc.sh             # CNSC daily (~30 decizii noi/zi)

# === DAILY (o dată pe zi, off-peak 02:00-06:00) ===
0 3 * * *    satra  scrape-anre.sh             # ANRE licențe (live registry)
0 4 * * *    satra  scrape-ancom.sh            # ANCOM operatori (live)
0 5 * * *    satra  scrape-asf.sh              # ASF entitati (rebuilt nightly)
30 5 * * *   satra  scrape-curteacont.sh       # Curtea Conturi listing (Stage 1)
0 6 * * *    satra  refresh-mvs.sh             # MV refresh (post-toate-scrape-urile)

# === WEEKLY (luni dimineață) ===
0 2 * * 1    satra  scrape-gnm.sh              # GNM weekly RSS (~5-15 noi)
0 3 * * 1    satra  scrape-aaas.sh             # AAAS portfolio (rar schimbă)
0 4 * * 1    satra  scrape-cnas.sh             # CNAS WP media (lunar dar ieftin weekly)
0 5 * * 1    satra  import-onrc-fresh.sh       # ONRC update săptămânal

# === MONTHLY (1 ale lunii) ===
0 2 1 * *    satra  scrape-regas.sh            # RegAS — monthly publish
0 3 1 * *    satra  scrape-bugetar.sh          # Bugetar mfinante (lunar)
0 5 1 * *    satra  import-apia-fermieri.sh    # APIA CKAN

# === QUARTERLY (1 ale trim) ===
0 2 1 1,4,7,10 * satra scrape-anaf-datornici.sh # ANAF datornici Q (după activare 2captcha)
0 3 15 1,4,7,10 * satra scrape-aep-donatii.sh  # AEP — raportări trimestriale partide

# === ANUAL (15 ianuarie) ===
0 2 15 1 *   satra  import-afir-historical.sh  # AFIR plăți an precedent (CSV)
0 4 15 1 *   satra  import-financials.sh       # Bilanțuri ANAF anul precedent
```

### Estimări runtime per scraper (best-effort, observed)

| Scraper | Frecv | Runtime | Notes |
|---|---|---|---|
| scrape-seap-wsp | 4h | 5-15 min | depinde de volum daily |
| scrape-cnsc | daily | 2-5 min | (full re-scan ~617 pages = 30 min) |
| scrape-anre | daily | 3-5 min | 3 surse (atestat/electricitate/gaze) |
| scrape-ancom | daily | 1-2 min | 518 operatori |
| scrape-asf | daily | 2-3 min | 849 entități |
| scrape-curteacont | daily | 1-3 min | listing only |
| scrape-gnm | weekly | 1-2 min | RSS feed |
| scrape-aaas | weekly | 30 sec | 11 firme |
| scrape-cnas | weekly | 5-10 min | 61 PDF + parse |
| import-onrc-fresh | weekly | 30-60 min | 4M rows ETL |
| scrape-regas | monthly | 10-15 min | 78k rows update |
| scrape-bugetar | monthly | 30-60 min | 6,5k rapoarte |
| import-apia-fermieri | monthly | 5-10 min | CKAN API |
| scrape-anaf-datornici | quarterly | 30-60 min | dependent de captcha |
| import-afir-historical | yearly | 2-4 ore | 5M rows CSV |

**Total cron load:** ~30 min CPU/zi în steady-state, ~2h/lună în rafale lunare. Sustenabil pe `satra` Docker host.

---

## Concluzie executivă (200 cuvinte)

Baza de date `architools_db` (29 GB) conține 17.9M rânduri pe 17 schemas. **6 schemas sunt sănătoase** (firms, fonduri, regas, anre, ancom, asf), **6 au gap-uri rezolvabile sub 2 zile** (aep, cnsc, cnas, aaas, curteacont, gnm), iar **5 au probleme structurale** (seap istoric, anaf datornici stale 10 ani, ani neimplementat, bugetar executie 0 rows, apia subvolum).

**Quick wins (3h total):** (1) adaugă `'publication-date'` în `FIELDS` la `import_ted.py`, (2) reset `seap.sync_state` pentru deblocare backfill DA, (3) rerulează matcher CUI pentru `cnas.furnizori` (36k rows, 0% match) și `apia.fermieri`.

**Priorități critice:** (a) backfill SEAP DA 2017-2024 = ~8M rânduri lipsă (CLAUDE.md confirmat), (b) reactivare ANAF datornici via 2captcha (date înghețate la Q1 2016), (c) repară pipeline `bugetar.executie` (entități populate dar execuție 0).

Cron-ul propus rulează în 30 min CPU/zi steady-state. ANI 1.3M PDFs rămâne flagship-ul de 4-6 săptămâni — singura sursă cu adevărat blocată din cauze tehnice (parser PDF complex), restul sunt operaționale.

---

**Raport complet:** `/home/orchestrator/Code/gov-agreg/chatGPT/data-quality/freshness-audit-2026-05-10.md`
