# Pragul București v2.0

**Versiunea 2.0.0 · release candidat separat · construit la 21 iulie 2026**

Pragul este un atlas interactiv și verificabil al admiterii la liceele din București. Acest pachet pornește exclusiv din arhiva live `pragul-bucuresti-live-v1.2.zip`, identificată prin SHA-256 `b0122ab2f45d17864bde6ae55c8345017641d2dd3a190b45615236375d67b14f`, și păstrează corecțiile publicate după ZIP-ul v1.2.0 anterior.

> **Verdict de release:** blocat pentru publicare ca v2 definitiv. Nucleul existent, migrarea, interfața și infrastructura modulelor sunt validate; componentele care cer surse neincluse sau încă nepublicate rămân marcate explicit drept indisponibile. Pachetul nu a fost publicat și nu modifică domeniul live.

![Previzualizare desktop v2](docs/screenshots/v2-desktop-1440.png)

## Ce păstrează

- canonicalizarea liceelor, registrele de aliasuri și evenimentele administrative;
- seria unică „Viaceslav Harnaj” și seria unificată „Costin D. Nenițescu”;
- cohorta stabilă de 74 de licee;
- intervalele de poziții pentru mediile egale;
- cele 33 de excepții de reconciliere documentate;
- separarea dintre anii cu distribuții complete și anii cu numai mediile ultimilor admiși;
- încărcarea progresivă, fallback-ul offline, dark/light, accesibilitatea, mobilul și URL-urile partajabile;
- Back/Forward cu intrări reale în istoricul browserului;
- canonical, Open Graph, Twitter, JSON-LD, `robots.txt`, `sitemap.xml`, `llms.txt`, pagina 404, redirectul 301 și headerele UTF-8;
- lipsa trackerelor și publicarea exclusivă a agregărilor.

## Ce adaugă v2

- matrice publică de acoperire pentru 26 de ani și 10 module;
- registru istoric exportabil pentru 115 identități de licee;
- model separat pentru locuri planificate, repartizați observați și locuri rămase;
- fluxuri agregate județ–liceu cu suprimarea grupurilor sub 5;
- infrastructură pentru fluxurile gimnaziu–liceu, hartă și cohorte Bac, fără valori inventate;
- trei articole editoriale în care faptul, calculul, interpretarea, limitarea și întrebarea deschisă sunt câmpuri distincte;
- colector conservator pentru paginile oficiale vechi, cu snapshot HTML și SHA-256;
- aritmetică și rotunjire explicită, plus două builduri independente comparate byte cu byte;
- upgrade de cache de la v1.2 la v2.0 și asset-uri versionate.

## Acoperire reală

Pragurile sunt integrate pentru **2009 și 2011–2025**. Distribuțiile complete sunt integrate pentru **2009, 2012, 2013 și 2021–2025**. Anii **2001–2008 și 2010** au surse oficiale catalogate, dar nu sunt publicați ca serii până la descărcarea completă și reconcilierea tuturor paginilor. Ediția **2026** nu este integrată deoarece repartizarea generală nu era publicată la data buildului.

În anii în care știm numărul de admiși, pragul anual reprezentativ al liceului este **media pragurilor specializărilor, ponderată după numărul de admiși**. În ceilalți ani, este **mediana simplă a pragurilor disponibile**. Valorile „cel mai mic prag anual din serie” și „cel mai mare prag anual din serie” sunt extremele acestui indicator anual, nu nota primului admis și nu extremele specializărilor.

## Rulare

Deschidere offline: dezarhivează și deschide `index.html`.

Server local recomandat:

```bash
python serve.py
```

Verificare integrală:

```bash
./run_checks.sh
```

Construire ZIP determinist:

```bash
python release.py --output ../Pragul-Bucuresti-v2.0.0.zip
```

## Fișiere esențiale

- `data/v2/coverage_matrix.csv` — matricea an × modul;
- `data/v2/school_registry.csv` și `.json` — registrul istoric;
- `data/v2/places.csv` — locuri/repartizați, cu câmpuri separate;
- `data/v2/county_flows.csv` — fluxurile publicabile;
- `data/v2/bac_cohorts.csv` — definițiile cohortelor, fără rezultate fabricate;
- `docs/reports/` — snapshot, migrare, proveniență, teste, goluri și verdict;
- `sources/baseline/` — inventarul și hashurile bazei live primite.

## Confidențialitate

Nu sunt publicate nume, coduri de candidat, școli de proveniență individuale sau trasee individuale. Fluxurile sunt agregate și folosesc pragul public minim de 5. Asocierea admitere–Bac, atunci când va deveni disponibilă, nu poate fi prezentată drept efect cauzal al liceului.
