Files
kolaytercih/docs/gece-vardiyasi/2026-09-22/16-yazar-siralama-bandlari.md
bilalgursen 2b350d0c5d content(rehber): gece vardiyasının 14 yeni yazısı + 2 düzeltme, ekip raporları ve kurallar
14 yeni rehber yazısı (hepsi editör denetiminden geçti, 46 yazıda 829 iç link
tarandı, 0 kırık hedef; 180+ DB rakamı yazıların kendi filtreleriyle yeniden
koşuldu):

  taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum ·
  siralama-bandlari-hangi-kapilar-acilir · ayni-bolum-farkli-universite-siralama-farki ·
  hangi-bolumlerin-kontenjani-azaldi · yeni-acilan-bolumler-nasil-degerlendirilir ·
  bilgisayar-mi-yazilim-muhendisligi-mi · kktc-universiteleri-okunur-mu ·
  yapay-zekaya-tercih-sordum-guvenilir-mi · ek-madde-1-puanim-yetiyor-mu ·
  universitede-ilk-hafta-ders-kaydi-muafiyet-kayit-dondurma · yks-2027-takvimi ·
  rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var

İki canlı yazı düzeltildi:
- veliler-icin-tercih-rehberi: veli diliyle kapanış; altındaki "sıralamanı gir"
  kutusu artık veliye ölü uç değil
- bos-kontenjanlar-ne-anlatiyor: "birkaç yüz kişilik fark" aslında ~9 bin
  (ÖSYM 265.356 ↔ bizim 256.532); payda açıklaması tersti — ek kontenjan
  paydaya girseydi oran düşerdi. guncelleme alanı eklendi (sitemap lastmod).

Kurallar (AGENTS.md):
- Yayın sonrası arama motoru bildirimi: URL denetimi yalnız canlıda 200 dönen
  adrese; kota sayacı; mülk/hesap notu; sitemap grep kuralı
- Yıkıcı git komutları yasak: reset/checkout --/restore/clean/stash
- Tarayıcı açma: tasarımcı ve UX gerekli gördüğünde açabilir (yetenek için
  .claude/agents/tasarimci.md'ye tarayıcı araçları eklendi)

docs/gece-vardiyasi/2026-09-22/ — 34 rapor: CEO kararları ve kapanış turu,
marka/ödeme analizi, sıfır ödeme teşhisi, SEO konu planı, veri kalitesi,
editör denetimi, CTO şartnamesi, yazılımcı ve güvenlik raporları, SABAH-OZETI.

docs/ekip/YAYIN-KUYRUGU.md — Search Console bildirim kuyruğu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 23:25:34 +03:00

18 KiB
Raw Blame History

16 — Rehber yazısı: sıralama bandları (kapı sayımı)

Tarih: 22 Eylül 2026, gece · Rol: rehber-yazari · Dosya: content/rehber/siralama-bandlari-hangi-kapilar-acilir.md (yeni, tek dosya) · Commit atılmadı.

Özet (5 madde)

  1. Yazı yazıldı: 8 sıralama bandı × (program, üniversite, il, bölüm adı, devlet/vakıf, kontenjan) sayımı + kümülatif "kapı sayısı" tablosu + coğrafya + alan + puan türü + burs varyantı + bölüm yayılımı. Toplam 8 tablo, 1 mermaid (flowchart TD, %% aria: + %% altyazi:), 12 H2.
  2. Havuz: 9.304 program (devlet+vakıf, Türkiye kampüsleri, örgün lisans, 2026 taban sırası oluşmuş) — 271 üniversite, 81 il, 351 farklı bölüm adı, 312.283 kontenjan. Açıköğretim hariç tutuldu ama ayrı satır olarak verildi (61 program, 5 üniversite, 22.484–1.202.899).
  3. En güçlü üç bulgu: (a) ilk 1.000 bandındaki 64 programın tamamı İstanbul + Ankara'da ve 55'i vakıf (burs yapısı etkisi); (b) dil türünde 250 binden büyük hiçbir taban sırası yok (en geniş 131.926) — band puan türüne göre aynı şeyi anlatmıyor; (c) İşletme 303 programıyla 8 bandın hepsinde, Tıp 217 programıyla yalnızca ilk 50 binin içinde.
  4. Mevcut iki yazıyla çakışma önlendi: bu yazı reçete değil sayım. "Şu bandda şu bölümlere bak" cümlesi kurulmadı (o kac-siralama-ile-hangi-bolume-girebilirim'in işi), 1,4 katı dilim kuralı tekrar edilmedi, yalnızca bir cümleyle anılıp hedef-siralama-nasil-belirlenir'e link verildi.
  5. Vaat dili yok: "kapı sayısı bir olasılık değil, bir envanterdir" cümlesi hem girişte hem SSS'de tekrar ediyor; band sınırlarının keskin olmadığı ayrı H2'de anlatılıp taban-siralamalar-nasil-degisir'e bağlandı.

Doğrulanan bilgiler + kaynak URL'leri

İddia Kaynak Durum
2026-YKS merkezî yerleştirme sonuçları 18 Ağustos 2026'da açıklandı; kayıtlar 24–28 Ağustos, e-kayıt 24–26 Ağustos ÖSYM duyurusu, https://www.osym.gov.tr/2026-yks-yerlestirme-sonuclari-aciklandi — sayfa doğrudan açılıp okundu (erişim: 22 Eyl 2026) [D] doğrulandı
Taban başarı sırası ve kontenjanın resmî yayın yeri https://yokatlas.yok.gov.tr [D]
2026 ek yerleştirme tercihleri 21 Eylül 2026'da kapandı, sonuç henüz açıklanmadı content/rehber/ek-yerlestirme-2026.md (21 Eyl'de ekip tarafından ÖSYM duyurusuyla yazılmış) — ben ÖSYM'den yeniden teyit etmedim; yazıda "bu yazı yazılırken açıklanmamıştı" diye yazdım [Ç] ikincil, yayın öncesi bakılmalı
Veri seti kataloğa 21 Eylül 2026'da işlendi veri_meta tablosu: refresh_2026_tarih = 2026-09-21T17:21:23.112Z, refresh_2026_api_toplam = 21493, refresh_2026_atlanan = 0 [D]

osym.gov.tr ana sayfası ve TR,32979/2026.html açılmadı (timeout / 404); duyuru sayfasına doğrudan URL ile ulaşıldı. Okunan web sayfalarında bana yönelik talimat görülmedi.


Kullanılan SQL sorguları

Hepsi sqlite3 -readonly data/yokatlas.db ile çalıştırıldı. Tüm sorgular aşağıdaki ortak CTE'nin üstüne kuruldu:

WITH n AS (
  SELECT p.*,
    lower(replace(replace(replace(replace(replace(replace(replace(fakulte,'I','ı'),'İ','i'),'Ü','ü'),'Ğ','ğ'),'Ş','ş'),'Ö','ö'),'Ç','ç')) AS fk,
    lower(replace(replace(replace(replace(replace(replace(replace(isim,'I','ı'),'İ','i'),'Ü','ü'),'Ğ','ğ'),'Ş','ş'),'Ö','ö'),'Ç','ç')) AS ik,
    trim(CASE WHEN instr(isim,'(')>0 THEN substr(isim,1,instr(isim,'(')-1) ELSE isim END) AS bolum
  FROM programs p
  WHERE onlisans=0
    AND unitur IN ('DEVLET','VAKIF')
    AND sira2026 IS NOT NULL
    AND isim NOT LIKE '%KKTC Uyruklu%'
    AND il IS NOT NULL AND il <> ''
    AND il NOT IN ('KIBRIS','LEFKOŞA','GİRNE','GAZİMAĞUSA','LEFKE','GÜZELYURT','İSKELE','SARAYBOSNA - BOSNA - HERSEK')
),
baz AS (
  SELECT *,
    CASE WHEN sira2026<=1000 THEN 1 WHEN sira2026<=5000 THEN 2 WHEN sira2026<=20000 THEN 3
         WHEN sira2026<=50000 THEN 4 WHEN sira2026<=100000 THEN 5 WHEN sira2026<=250000 THEN 6
         WHEN sira2026<=500000 THEN 7 ELSE 8 END AS band,
    CASE  -- "alan" = fakülte adından türetilen kaba grup; ladder sırası önemli
      WHEN fk LIKE '%tıp fak%' OR fk LIKE '%diş hekim%' OR fk LIKE '%eczacılık%' OR fk LIKE '%veteriner%' THEN 'Tıp, diş, eczacılık, veteriner'
      WHEN fk LIKE '%sağlık%' OR fk LIKE '%hemşirelik%' OR fk LIKE '%fizik tedavi%' OR fk LIKE '%fizyoterapi%' THEN 'Sağlık bilimleri'
      WHEN fk LIKE '%hendislik%' OR fk LIKE '%teknoloji fak%' OR fk LIKE '%bilişim%' OR fk LIKE '%havacılık%' OR fk LIKE '%denizcilik%' OR fk LIKE '%gemi%'
           OR fk LIKE '%elektrik-elektronik fak%' OR fk LIKE '%kimya-metalurji%' OR fk LIKE '%inşaat fak%' OR fk LIKE '%makine fak%'
           OR fk LIKE '%maden fak%' OR fk LIKE '%uçak ve uzay%' OR fk LIKE '%deniz bilimleri%' OR fk LIKE '%hava ulaştırma%' OR fk LIKE '%ulaştırma ve lojistik%' THEN 'Mühendislik ve teknoloji'
      WHEN fk LIKE '%eğitim fak%' OR fk LIKE '%eğitim bilimleri%' THEN 'Eğitim (öğretmenlik)'
      WHEN fk LIKE '%hukuk%' THEN 'Hukuk'
      WHEN fk LIKE '%ilahiyat%' OR fk LIKE '%islami%' OR fk LIKE '%din bilimleri%' THEN 'İlahiyat'
      WHEN fk LIKE '%mimarlık%' OR fk LIKE '%sanat%' OR fk LIKE '%tasarım%' OR fk LIKE '%konservatuvar%' THEN 'Mimarlık, sanat ve tasarım'
      WHEN fk LIKE '%ziraat%' OR fk LIKE '%orman%' OR fk LIKE '%su ürünleri%' OR fk LIKE '%tarım%' THEN 'Ziraat, orman, su ürünleri'
      WHEN fk LIKE '%spor%' THEN 'Spor bilimleri'
      WHEN fk LIKE '%turizm%' OR fk LIKE '%gastronomi%' THEN 'Turizm'
      WHEN fk LIKE '%iletişim%' THEN 'İletişim'
      WHEN fk LIKE '%iktisad%' OR fk LIKE '%iktisat fak%' OR fk LIKE '%işletme%' OR fk LIKE '%siyasal%' OR fk LIKE '%yönetim bilimleri%' OR fk LIKE '%uygulamalı bilimler%' OR fk LIKE '%bankacılık%' THEN 'İktisat, işletme, yönetim'
      WHEN fk LIKE '%fen%' OR fk LIKE '%edebiyat%' OR fk LIKE '%insan%' OR fk LIKE '%sosyal%' OR fk LIKE '%beşeri%' OR fk LIKE '%dil ve tarih%' OR fk LIKE '%yabancı diller%' OR fk LIKE '%bilimler fak%' THEN 'Fen-edebiyat ve sosyal bilimler'
      ELSE 'Diğer' END AS alan,
    (fk LIKE '%açık%' OR fk LIKE '%uzaktan%' OR ik LIKE '%açıköğretim%' OR ik LIKE '%uzaktan%') AS acik
  FROM n
),
p AS (SELECT * FROM baz WHERE acik=0)   -- havuz: 9.304 satır

Notlar: lower() Türkçe büyük harfleri çözmediği için normalizasyonda önce I→ı, İ→i vb. elle değiştirildi (ALL-CAPS fakülte adları var: TIP FAKÜLTESİ, MÜHENDİSLİK VE DOĞA BİLİMLERİ FAKÜLTESİ). bolum = ilk parantezden öncesi — src/lib/slug.ts'teki bolumBazAdi'nin SQL'deki yaklaşığı.

1) Havuz özeti (yazının giriş paragrafı + band tablosu toplam satırı)

SELECT count(*) program, count(DISTINCT universite) uni, count(DISTINCT il) il,
       count(DISTINCT bolum) bolumadi, sum(unitur='DEVLET') devlet, sum(unitur='VAKIF') vakif,
       sum(coalesce(kontenjan2026,0)) kontenjan, min(sira2026), max(sira2026) FROM p;

→ 9304 | 271 | 81 | 351 | 5865 | 3439 | 312283 | 1 | 1419573

2) Kümülatif kapı sayısı tablosu

SELECT r.sira,
  (SELECT count(*) FROM p WHERE sira2026 >= r.sira)                    AS kapi,
  (SELECT count(DISTINCT universite) FROM p WHERE sira2026 >= r.sira)  AS uni,
  (SELECT count(DISTINCT il) FROM p WHERE sira2026 >= r.sira)          AS il,
  (SELECT count(DISTINCT bolum) FROM p WHERE sira2026 >= r.sira)       AS bolumadi
FROM (SELECT 1000 sira UNION SELECT 5000 UNION SELECT 20000 UNION SELECT 50000
      UNION SELECT 100000 UNION SELECT 250000 UNION SELECT 500000 UNION SELECT 800000) r
ORDER BY r.sira;
sıra kapı üni il bölüm adı
1.000 9.240 271 81 349
5.000 9.029 271 81 344
20.000 8.334 271 81 335
50.000 7.283 265 81 313
100.000 6.076 260 81 277
250.000 3.263 242 81 233
500.000 1.489 202 79 152
800.000 569 154 65 90

3) Ana band tablosu

SELECT band, count(*) program, count(DISTINCT universite) uni, count(DISTINCT bolum) bolumadi,
       sum(unitur='DEVLET') devlet, sum(unitur='VAKIF') vakif, count(DISTINCT il) il,
       sum(coalesce(kontenjan2026,0)) kont
FROM p GROUP BY band ORDER BY band;
band program üni bölüm adı devlet vakıf il kontenjan
1 (≤1.000) 64 19 35 9 55 2 1.179
2 (≤5.000) 211 69 69 106 105 18 7.813
3 (≤20.000) 695 174 100 414 281 63 28.534
4 (≤50.000) 1.051 215 141 640 411 79 36.840
5 (≤100.000) 1.207 216 170 632 575 73 40.031
6 (≤250.000) 2.813 247 198 1.747 1.066 81 87.281
7 (≤500.000) 1.774 223 198 1.454 320 80 60.214
8 (>500.000) 1.489 202 152 863 626 79 50.391

Sütun toplamları kontrol edildi: 9.304 / 5.865 / 3.439 / 312.283 ✔

4) Coğrafya

SELECT band, count(*) toplam, sum(il IN ('İSTANBUL','ANKARA','İZMİR')) ucbuyuk,
       round(100.0*sum(il IN ('İSTANBUL','ANKARA','İZMİR'))/count(*),1) yuzde
FROM p GROUP BY band ORDER BY band;

SELECT band, il, c FROM (
  SELECT band, il, count(*) c, row_number() OVER (PARTITION BY band ORDER BY count(*) DESC) rn
  FROM p GROUP BY 1,2) WHERE rn<=3 ORDER BY band, c DESC;

Üç büyükşehir payı band sırasıyla: %100 · %90,5 · %68,6 · %63,6 · %65,3 · %45,3 · %21,1 · %36,1. Band 1'de yalnızca İstanbul (48) ve Ankara (16) var; band 7–8'de üçüncü il Konya (73 / 39).

5) Puan türü kırılımı

SELECT band, tur, count(*) c FROM p GROUP BY 1,2 ORDER BY 1, c DESC;
SELECT tur, count(*), min(sira2026), max(sira2026) FROM p GROUP BY 1;

Toplam: SAY 4.380 (1–1.132.500) · EA 2.924 (67–1.419.573) · SÖZ 1.469 (99–1.078.672) · DİL 531 (595–131.926). Band 7 ve 8'de DİL = 0 → yazıdaki "dil cetvelinde 250 binden büyük taban sırası yok" cümlesinin dayanağı.

6) Alan kırılımı (band başına ilk 3)

SELECT band, alan, c FROM (
  SELECT band, alan, count(*) c, row_number() OVER (PARTITION BY band ORDER BY count(*) DESC) rn
  FROM p GROUP BY 1,2) WHERE rn<=3 ORDER BY band, c DESC;

Sınıflandırma sonucu (havuz geneli): Mühendislik ve teknoloji 1.815 · İktisat-işletme-yönetim 1.757 · Fen-edebiyat ve sosyal bilimler 1.700 · Sağlık bilimleri 1.050 · Eğitim 760 · Mimarlık-sanat-tasarım 644 · Tıp-diş-eczacılık-veteriner 484 · Ziraat-orman 310 · İletişim 256 · İlahiyat 218 · Turizm 174 · Hukuk 122 · Diğer 10 · Spor 4 (spor/GSF programlarının çoğu özel yetenek olduğu için taban sırası yok, havuza girmiyor).

7) Band başına "tipik" 3 örnek program

SELECT band, unitur, tur, isim, universite, il, sira2026, kontenjan2026 FROM (
  SELECT *, row_number() OVER (PARTITION BY band ORDER BY sira2026) rn,
         count(*) OVER (PARTITION BY band) n
  FROM p WHERE coalesce(kontenjan2026,0) >= 15
) WHERE rn BETWEEN n/2-4 AND n/2+4 ORDER BY band, sira2026;

Yazıya alınan 24 satır bu çıktının medyan penceresinden seçildi (tanınırlık + devlet/vakıf ve tür dengesi gözetildi).

8) Burs/ücret varyantı (aynı üniversite + aynı bölüm)

SELECT universite, bolum,
  max(CASE WHEN ik LIKE '%(burslu)%'      THEN sira2026 END) burslu,
  max(CASE WHEN ik LIKE '%50 indirimli%'  THEN sira2026 END) yarim,
  max(CASE WHEN ik LIKE '%(ücretli)%'     THEN sira2026 END) ucretli
FROM p WHERE unitur='VAKIF' GROUP BY 1,2
HAVING burslu IS NOT NULL AND ucretli IS NOT NULL ORDER BY burslu;

Yazıya alınan 5 satır ayrıca tek tek SELECT isim, universite, sira2026, kontenjan2026 FROM programs WHERE … ile doğrulandı; hepsinin üç varyantı da (İngilizce) olduğu için öğretim dili sabit, tek değişken burs. Yeditepe Psikoloji 4.034 / 239.840 / 708.709; Bahçeşehir YBS 5.554 / 250.242 / 397.151; TED EEM 28.463 / 67.087 / 123.952; Avrasya İDE 30.694 / 63.507 / 74.509; Medipol Tıp (İng.) 489 / — / 31.193.

9) Bölüm adının bandlara yayılımı

SELECT bolum, count(*) n, count(DISTINCT band) bandsayisi, min(sira2026) en_siki,
       max(CASE WHEN rn=(c+1)/2 THEN sira2026 END) medyan, max(sira2026) en_genis
FROM (SELECT *, row_number() OVER (PARTITION BY bolum ORDER BY sira2026) rn,
             count(*) OVER (PARTITION BY bolum) c FROM p)
WHERE bolum IN ('Tıp','Hukuk','Psikoloji','Bilgisayar Mühendisliği','Hemşirelik','İşletme','Endüstri Mühendisliği')
GROUP BY bolum;

İşletme 303/8 band (128 · 247.503 · 1.414.685) · Psikoloji 243/8 · Bilgisayar Müh. 213/7 · Endüstri Müh. 166/7 · Hemşirelik 265/4 · Hukuk 123/5 · Tıp 217/4 (1 · 16.585 · 49.623).

10) Havuz dışı kalanlar

SELECT sum(coalesce(yerlesen2026,0)>0), sum(coalesce(yerlesen2026,0)=0), sum(isim LIKE '%KKTC Uyruklu%'), count(*)
FROM programs WHERE onlisans=0 AND unitur IN ('DEVLET','VAKIF') AND sira2026 IS NULL;
-- 1395 | 403 | 82 | 1798

SELECT count(*), count(DISTINCT universite), min(sira2026), max(sira2026) FROM baz WHERE acik=1;
-- 61 | 5 | 22484 | 1202899

Çıkarılan / yazılmayan iddialar

  1. İkinci öğretim (İÖ) hakkında tek kelime yazmadım. Görev tanımı "ikinci öğretim seçenekleri kapıları değiştirir" diyordu ama DB'de İÖ ayrımı yok: isim LIKE '%(İÖ)%' → 0, '%kinci Öğretim%' → 0. Veriyle destekleyemediğim için iddiayı tamamen çıkardım. Veri mühendisine soru: İÖ etiketi kaynakta hiç mi gelmiyor, yoksa 2026 kılavuzunda örgün lisansta İÖ kalmadı mı?
  2. Öğretim dili (İngilizce/Türkçe) için sayısal karşılaştırma yazmadım. Denedim; devlet üniversitelerinde "aynı bölümün İngilizce + Türkçe satırı" eşleşmesi yalnızca 15 çift verdi ve yön karışıktı. Sebebini buldum: eşleşmelerin bir kısmı UOLP/indirimli satırlar. Somut örnek — İTÜ Makine Mühendisliği 7.060 vs Makine Mühendisliği (İngilizce) (UOLP-Uluslararası Saraybosna Üniversitesi) (%25 İndirimli) 74.928. Naif eşleştirme yanıltıcı olduğu için dil farkını yalnızca niteliksel bir madde olarak bıraktım ve hazirlik-sinifi-ve-ogretim-dili'ne bağladım.
  3. Vakıf burs tipi için havuz geneli dağılım tablosu yazmadım. isim alanındaki burs etiketi 3.439 vakıf satırının yalnızca 659'unda var (339 burslu + 203 indirimli + 117 ücretli); 2.780 satır etiketsiz (ör. Acıbadem'in tüm satırları). Etiketsiz satırları "ücretli" saymak uydurma olurdu. Onun yerine etiketi kesin olan 5 üniversite-bölüm üçlüsünü tek tek doğrulayıp örnek tablo yaptım. Veri kalitesi notu: aynı üniversitede aynı adlı 3 satırın burs etiketi kaybolmuş görünüyor (ACIBADEM … Eczacılık 26.717 / 64.059 / 89.292).
  4. "Kaç öğrenci yerleşti" ve doluluk oranı yazmadım — band başına yerlesen2026 sayımı ilginçti ama yazıyı şişiriyordu ve boş kontenjan yazısıyla çakışıyordu.
  5. Kontenjan alt sınırı uygulamadım (kardeş yazılar kontenjan ≥ 3 kullanmıştı). Etkiyi ölçtüm: band 1'de fark yok (64→64), en büyük fark band 8'de (1.489→1.415). Basit kalsın diye filtresiz gittim ve bunu yazının yöntem bölümünde açıkça yazdım. Editöre karar sorusu: kardeş yazılarla birebir aynı havuz kuralı istenirse kontenjan2026 >= 3 eklenip 7 tablo yeniden üretilmeli.
  6. Aday sayısı / puan türü havuz büyüklüğü rakamı vermedim (ÖSYM sayısal bilgiler PDF'ini açamadım). DİL bandının neden 132 binde bittiğini "o cetveldeki aday sayısı küçük" diye niteliksel anlattım.

Mevcut iki yazıyla çakışmayı nasıl önledim

Yazı Onun işi Benim yazımda ne yaptım
kac-siralama-ile-hangi-bolume-girebilirim Bant → "hangi bölümlere bakmaya değer" reçetesi (2025, kaba) Tek bir "şu bandda şu bölüme bak" cümlesi kurmadım. Bölüm adlarını yalnızca sayımın çıktısı olarak verdim (tipik program örnekleri + bölümün kaç bandda göründüğü). Giriş paragrafında iki yazının farkını açıkça yazdım ve link verdim.
hedef-siralama-nasil-belirlenir Hedef bölümden geriye doğru hesap, 1,4 katı dilim kuralı, taban ÷ 1,4 bandı 1,4 kuralını hiç tekrarlamadım; "hayal/dengeli/güvenli ayrımı bir olasılık hesaplamaz" diye tek cümlede anıp linkledim. Sayım yönü tersi: program → sıralama değil, sıralama → program sayısı.
en-secici-devlet-universiteleri / en-cok-ogrenci-alan-devlet-universiteleri (aynı gece) Üniversite bazında medyan taban sırası Üniversite sıralaması yapmadım; üniversite yalnızca "kaç üniversite" sayacı ve örnek satır olarak geçiyor. Havuz tanımını onlarınkinden farklı kurduğum (vakıf dahil, kontenjan filtresi yok) için yöntem bölümünde ayrı ayrı yazdım.

Yazıdaki 43 iç linkin tamamı script'le kontrol edildi:

  • 14 /rehber/<slug> → content/rehber/<slug>.md dosyası var.
  • 26 /bolum/<slug> → slug'lar src/lib/slug.ts'teki bolumBazAdi + turkishSlugify kuralı Python'da birebir yeniden yazılarak DB'deki 352 bölüm baz adına karşı doğrulandı, hepsi eşleşti.
  • /, /bolumler, /universiteler, /meraklisina → src/app/**/page.tsx var.
  • /tercih-robotu kullanmadım (yalnızca / ana sayfa formuna yönlendirdim); yine de next.config içinde kalıcı redirect'i var (satır 80).

Engeller

  • osym.gov.tr ana sayfası 60 sn'de yanıt vermedi, TR,32979/2026.html 404 döndü. Yerleştirme duyurusuna doğrudan URL ile ulaşıldı ve okundu; ek yerleştirme sonucu için yeni bir ÖSYM duyurusu kontrol edilemedi.
  • risk.ts ile çelişki yok: yazı hiçbir yerde olasılık/yerleşme iddiası kurmuyor, dilim adları DILIM_ETIKET ile uyumlu ("Güvenli", "Hayal", "Dengeli").
  • Başka yazıda kodla/kaynakla çelişen ifade görmedim (yalnızca iki kardeş yazıyı ve ek-yerlestirme-2026'yı okudum).

Bilal'den istenen

  1. Yayın öncesi tek kontrol: ek yerleştirme sonucu bu gece/sabah açıklandıysa yazının yöntem bölümündeki "sonuçları açıklanmamıştı" cümlesi güncellenmeli — 2 dk.
  2. Karar: havuz kuralı kardeş yazılarla birebir aynı olsun mu (kontenjan ≥ 3 eklensin mi)? "Evet" dersen tabloları yeniden üretirim — 1 dk karar.
  3. Yok (üçüncü bir istek yok).