All checks were successful
Deploy / deploy (push) Successful in 17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78 lines
6.5 KiB
Markdown
78 lines
6.5 KiB
Markdown
# 01 · Arşiv tablosundaki yanlış `unitur` etiketi kapatıldı (BACKLOG #21)
|
||
|
||
Dal: `gece/0922-unitur-kacagi` (dünkü dalın devamı) · Kaynak: `2026-09-22/09-p2-unitur.md` §5-A, `BACKLOG.md` #21
|
||
Commit'ler: `9722689` kod · `c5fd2cb` veri
|
||
|
||
## Özet (5 madde)
|
||
|
||
1. **`programs_arsiv`'de 85 satır düzeldi**: 61 `unitur` (`DEVLET` → `YURTDISI KAMU`; 31 ULUSLARARASI BALKAN + 30 ULUSLARARASI SARAYBOSNA) ve 24 `il` (Balkan'da `SARAYBOSNA - BOSNA - HERSEK` → `ÜSKÜP-MAKEDONYA`). Arşiv ile `programs` arasında `unitur` farkı olan kurum: **2 → 0**.
|
||
2. **Puan/sıra/kontenjan/yerleşen kolonlarında değişen satır: 0.** Her iki tablonun 45 kolonu id üzerinden tek tek karşılaştırıldı; `netler` ve `veri_meta` de dokunulmadı. Fark raporu §2'de ve veri commit'inin gövdesinde.
|
||
3. **Denetim de genişledi:** `veri-kalite` kontrol 13 ve 14 artık arşivi de tarıyor. Genişletme olmadan iki tablo sessizce ayrışabilirdi — kusur duran DB'de ikisi de `KALDI` verdi (çıkış kodu 1), düzeltmeden sonra `GEÇTİ`. Son durum: **0 ZORUNLU kontrol kaldı, 3 uyarı** (üçü de dünküyle birebir aynı, hiçbiri bu işten doğmadı).
|
||
4. **Dünkü yanlış rakam kayda geçti.** `cto` denetimi (`12-kod-denetimi.md` O1) haklı: `1df86cf` gövdesindeki "hub'da Devlet listesi 170 → 166" yanlıştı; 170/166 ham `programs.universite` ad sayısıdır. Doğru hub değişimi **132 → 129 kurum**. Yeni kod commit'inin gövdesinde düzeltme yazılı; entegrasyon build'inin ürettiği HTML de 129 gösteriyor (`.next/server/app/universiteler.html`).
|
||
5. **Betik idempotent**, entegrasyon dalı tazelendi: `gece/0922-entegrasyon`'a merge edildi (çakışma yok, `scripts/veri-kalite.ts` auto-merge), `pnpm build` temiz. `tsc` + `eslint` temiz.
|
||
|
||
## 1. Ne değişti
|
||
|
||
| Dosya | Değişiklik |
|
||
|---|---|
|
||
| `scripts/unitur-onar.ts` | Aşama D (`KURUM_DUZELT`) artık `programs` **ve** `programs_arsiv` üzerinde koşuyor (tablo varsa). A/B/C aşamaları `programs`'ta kaldı — arşivde NULL `unitur` yok. Kapanış dağılımı iki tablo için basılıyor. |
|
||
| `scripts/veri-kalite.ts` | Kontrol 13 (baz ad başına tek `unitur`) ve 14 (DEVLET etiketi Türkiye ili ile destekli) kaynak ilişkisi `programs` → `programs` ∪ `programs_arsiv`. Tek yeni sabit (`KURUMLAR`), kontrol gövdeleri aynı. |
|
||
| `data/yokatlas.db` | 85 satır, ayrı commit. |
|
||
|
||
Neden arşivde vardı: kapanan programlar `programs`'tan arşive olduğu gibi taşınıyor, yanlış etiket de beraberinde gitmiş. Dün Aşama D yalnız `programs`'a uygulandığı için arşiv geride kaldı.
|
||
|
||
Kapsam dışı bırakılan (bilerek): Saraybosna Ü.'nin `il` değeri (**kurum gerçekten Saraybosna'da**), arşivdeki 28 boş `il` (eksik, eksik olarak görünmeli), ad normalizasyonu (arşivde tire-boşluklu duplikat ad yok — sorguyla doğrulandı). Kıbrıs Amerikan'ın arşivde hiç satırı yok.
|
||
|
||
## 2. Fark raporu (öncesi/sonrası)
|
||
|
||
Düzeltme öncesi DB `sqlite3 -readonly … .backup` ile scratchpad'e alındı; `ATTACH` ile **her tablonun her kolonu** id üzerinden karşılaştırıldı.
|
||
|
||
```
|
||
programs: eski 21493 → yeni 21493 | 45 kolon | kayıp/yeni id 0 | DEĞİŞEN: yok
|
||
programs_arsiv: eski 3735 → yeni 3735 | 45 kolon | kayıp/yeni id 0 | DEĞİŞEN: unitur=61, il=24
|
||
netler: eski 62975 → yeni 62975
|
||
veri_meta: eski 37 → yeni 37
|
||
|
||
her iki tabloda 34 yıl/ölçü kolonu (sıra/puan/kontenjan/yerleşen + 2025 ek
|
||
kontenjanları, 2021-2026) Σ sağlaması: BİREBİR AYNI ✓
|
||
```
|
||
|
||
`unitur` dağılımı (`programs_arsiv`): `DEVLET 1106→1045`, `YURTDISI KAMU 8→69`; toplam 3735 sabit. `programs` dağılımı hiç değişmedi.
|
||
|
||
Dosya 4 KB (bir sayfa) büyüdü — WAL checkpoint; satır sayıları sabit.
|
||
|
||
## 3. Kabul kriterleri
|
||
|
||
| # | Kriter | Sonuç |
|
||
|---|---|---|
|
||
| 1 | Arşivde üç kurumun `unitur`/`il` değerleri `programs` ile tutarlı | ✅ `programs_arsiv` ↔ `programs` `unitur` farkı olan kurum: **0** (önce 2). Balkan arşivde `YURTDISI KAMU`, ili `ÜSKÜP-MAKEDONYA` (24) / boş (7); Saraybosna `YURTDISI KAMU` |
|
||
| 2 | `pnpm veri-kalite --yil 2026 --db data/yokatlas.db` → 0 ZORUNLU | ✅ `Sonuç: 0 ZORUNLU kontrol kaldı, 3 uyarı.` |
|
||
| 3 | Puan/sıra/kontenjan kolonlarında hiçbir değişiklik yok, fark raporu commit'te | ✅ §2; rapor `c5fd2cb` gövdesinde |
|
||
| 4 | `tsc` + `lint` temiz | ✅ `npx next typegen && npx tsc --noEmit` → 0; `npx eslint scripts/unitur-onar.ts scripts/veri-kalite.ts` → 0 |
|
||
| 5 | İdempotent | ✅ İkinci koşu: `programs` 0/0, `programs_arsiv` 0/0, A/B/C 0 |
|
||
|
||
Denetimin gerçekten yakaladığının kanıtı — **kusur duran DB'de** (yalnız arşiv yanlış, `programs` dün düzeltilmişti) genişletilmiş kontroller:
|
||
|
||
```
|
||
KALDI baz ad başına tek unitur — … ULUSLARARASI BALKAN ÜNİVERSİTESİ/YURTDISI KAMU,DEVLET/81 ;
|
||
ULUSLARARASI SARAYBOSNA ÜNİVERSİTESİ/YURTDISI KAMU,DEVLET/68
|
||
KALDI DEVLET etiketi Türkiye ili ile destekli — … BALKAN/SARAYBOSNA - BOSNA - HERSEK/31 ; SARAYBOSNA/30
|
||
Sonuç: 2 ZORUNLU kontrol kaldı (çıkış kodu 1)
|
||
```
|
||
|
||
Kalan 3 uyarı (dünküyle aynı, bu işten doğmadı): `il boş` 110 satır, `kimlik ATLANDI` (`data/ham` repoda yok), `yetim netler` 2066.
|
||
|
||
## 4. Kullanıcıya yansıyan etki
|
||
|
||
**Bugün: yok.** `src/` tarafında `programs_arsiv`'i okuyan hiçbir SQL yok (tablo yalnız `src/lib/kapanan-sluglar.ts`'te bir yorumda geçiyor); sihirbaz havuzu ve katalog yalnız `programs`'tan besleniyor. Bu düzeltme **önleyici**: arşiv ileride okunduğunda (kapanan program sayfası, "bu bölüm kapandı" bilgisi) aynı sızıntı — devlet filtresine giren Bosna/Makedonya programları — geri gelmesin diye. Entegrasyon build'inin HTML'inde hub sayıları değişmedi: Devlet **129**, Vakıf **78**.
|
||
|
||
## 5. Entegrasyon
|
||
|
||
`gece/0922-entegrasyon` dalı `git merge --no-edit gece/0922-unitur-kacagi` ile tazelendi — çakışma yok (`scripts/veri-kalite.ts` auto-merge, dünkü `0e689e6` "Tür" kartı düzeltmesiyle çatışmıyor). `pnpm build` temiz: 259 üniversite sayfası + 493 sayfalama yolu prerender edildi, hata/uyarı yok. Çalışma ağacı temiz.
|
||
|
||
## Bilal'den istenen
|
||
|
||
1. **Dünkü rakam düzeltmesini gözden geçir** — `9722689` gövdesinde "170 → 166 yanlıştır, doğrusu 132 → 129" satırı duruyor; merge mesajına taşımak istersen oradan alabilirsin. **~2 dk.**
|
||
2. Karar: **§5-B (`data/yokatlas.db-shm` / `-wal` git'ten çıkarılsın mı)** hâlâ açık — dün `.gitignore`'da commit'lenmemiş değişiklikleriniz olduğu için dokunmadım, bugün de dokunmadım. **~2 dk.**
|
||
3. Yok (2. madde dışında bu iş için istenen bir şey kalmadı).
|