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>
133 lines
12 KiB
Markdown
133 lines
12 KiB
Markdown
# Sabah özeti — 22 Eylül 2026 gece vardiyası
|
||
|
||
Bilal için tek rapor. Ayrıntı isteyeceğin her şey numaralı dosyalarda; burada yalnız kararlar ve senden istenenler var.
|
||
|
||
---
|
||
|
||
## 1. Gecenin çıktısı tek cümlede
|
||
|
||
**15 yeni/güncellenmiş rehber yazısı yazıldı ve editör denetiminden geçti; markanın adı ve genişleme sorusu kapandı; "öğrenciler ödemiyor" hipotezinin bugün test edilmemiş olduğu kanıtlandı; CEO açık kalan hiçbir madde bırakmadı.**
|
||
|
||
---
|
||
|
||
## 2. Rehber yazıları — asıl istediğin iş
|
||
|
||
| # | Yazı | Ne yapıyor |
|
||
|---|---|---|
|
||
| 1 | `taban-siralamalari-alti-yilda-nasil-degisti` | 2021→2026 eşleşmeli trend, 5.461 program. Gecenin kanonik trend kaynağı |
|
||
| 2 | `kac-net-ile-hangi-bolum` | `netler` tablosu ilk kez yazıya girdi — rakiplerde bu veri yok |
|
||
| 3 | `siralama-bandlari-hangi-kapilar-acilir` | 8 sıralama bandı × kaç program/üniversite/bölüm |
|
||
| 4 | `ayni-bolum-farkli-universite-siralama-farki` | Aynı bölüm, farklı okul: 150.000'de 82 Psikoloji programı açık ama yalnız 6'sı devlet |
|
||
| 5 | `hangi-bolumlerin-kontenjani-azaldi` | YÖK'ün 17 Şubat 2026 kontenjan kısıtı ↔ verimiz birebir örtüşüyor |
|
||
| 6 | `yeni-acilan-bolumler-nasil-degerlendirilir` | Kontenjanı 1–10 olan yeni programların %58'i medyandan sıkı açılıyor |
|
||
| 7 | `bilgisayar-mi-yazilim-muhendisligi-mi` | 56 üniversitenin 54'ünde BM daha seçici kapandı |
|
||
| 8 | `kktc-universiteleri-okunur-mu` | KKTC lisans doluluğu dört yılda %83,4 → %60,2 |
|
||
| 9 | `yapay-zekaya-tercih-sordum-guvenilir-mi` | Marka konumunu iddia ederek değil göstererek anlatıyor |
|
||
| 10 | `ek-madde-1-puanim-yetiyor-mu` | Bu yıl yerleşen güzde başvuramaz — mevzuattan çıkarıldı |
|
||
| 11 | `universitede-ilk-hafta-...` | Harç rakamları Resmî Gazete'nin taranmış PDF'inden okundu |
|
||
| 12 | `yks-2027-takvimi` | ÖSYM takvimi açıklamamış; **tek bir tahmini tarih yok** |
|
||
| 13 | `rehber-ogretmenler-icin-veri-kaynaklari` | Dağıtım kanalı: 16 adres tek tek açıldı, 13'ü çalıştı |
|
||
| 14 | `bolumumu-sevmedim-hangi-kapilar-var` | 539 kelimelik hub; 7 kapıyı mevcut yazılara bağlıyor |
|
||
| 15 | `veliler-icin-tercih-rehberi` *(güncellendi)* | Altındaki "sıralamanı gir" kutusu artık veliye ölü uç değil |
|
||
| 16 | `bos-kontenjanlar-ne-anlatiyor` *(canlı, düzeltildi)* | İki yanlış cümle: "birkaç yüz kişilik fark" aslında ~9 bin; payda açıklaması tersti |
|
||
|
||
**Editör hükmü: 16'sının 16'sı yayımlanabilir.** İki turda 46 yazıda 829 iç link tarandı, **0 kırık hedef**; 180+ DB hücresi yazıların kendi filtreleriyle yeniden koşuldu; 23 doğal çapraz link eklendi (yeni yazıların birbirine hiç linki yoktu).
|
||
|
||
**Editörün canlı yazıda bulduğu hata — düzeltildi:** `bos-kontenjanlar-ne-anlatiyor.md:131` "boş kontenjan farkı birkaç yüz kişilik" diyordu; gerçekte devlet kontenjan toplamında fark **~9 bin** (ÖSYM 265.356 ↔ bizim 256.532). Aynı satırdaki "yerleştirme sırasında eklenen kontenjanlar bu kolona yansıyor" açıklaması da **tersti** — ek kontenjan paydaya girseydi oran düşerdi. İkisi de düzeltildi ve yazıya `guncelleme: 2026-09-22` alanı eklendi (alan olmadan sitemap Google'a "değişmedi" derdi).
|
||
|
||
**Hiçbiri commit'lenmedi** — senin kararın. Yayın kuyruğu `docs/ekip/YAYIN-KUYRUGU.md`'de.
|
||
|
||
---
|
||
|
||
## 3. Marka adı — ekibin sorusuna cevap
|
||
|
||
**Ad kalıyor. Ekibin "kolaytercih güzel bir isim" görüşü doğrulandı, ama gerekçesi düzeltildi.**
|
||
|
||
Ad güzel olduğu için değil, üç şeyi bedava taşıdığı için iyi: arama niyetiyle birebir örtüşüyor, "sınav sonrası yerleştirme tercihi" ailesinin tamamına (DGS/KPSS/ALES/MSÜ) genişliyor, telaffuzu ve yazımı tek. **"Ad bizi üniversiteye kilitliyor" korkusu yersiz — kilit adda değil, veride ve mevsimde.**
|
||
|
||
**Genişleme tetiği (CEO kararı, sayı):** 2027 sezonunda **100 tamamlanmış ödeme** görülene kadar ikinci alan açılmaz. Açılırsa ilk alan **DGS/KPSS** (aynı veri şeması, farklı mevsim — boş kalan Ağustos-Eylül'ü doldurur). **LGS kalıcı ret:** MEB 2026'da kendi yapay zekâ destekli LGS tercih robotunu çıkardı, ücretsiz ve resmî.
|
||
|
||
**Marka tescili:** "KOLAYTERCİH" tek kelime hâlinde Türkiye'de **hiçbir sınıfta tescilli değil**. Tek yakın kayıt Vodafone'un 2012 tarihli "kolay tercih"i — sona ermiş, ana sınıfımız 41'i kapsamıyor. İzlenecek tek kayıt: "easytercih" (10.03.2026 başvuru, henüz tescilsiz). `kolaytercih.com.tr` boşta ve TRABİS 2022'den beri belge istemiyor.
|
||
|
||
---
|
||
|
||
## 4. "Öğrenciler hiç ödeme yapmadı" — neyi yanlış yapıyoruz?
|
||
|
||
**En önemli bulgu: bu cümle bugün bir pazar bulgusu değil. Kasa kırıktı.**
|
||
|
||
- 7 Ağu–12 Eyl arası ~100 siparişin **hiçbiri** iyzico token'ı alamadı — ödeme formu bir kez bile açılmadı.
|
||
- 30 günde paywall'a **2 kişi** geldi. n=2 ile fiyat hakkında hiçbir çıkarım yapılamaz.
|
||
- 21 Eylül'den beri token alınıyor ama **uçtan uca tamamlanmış tek ödeme yok.**
|
||
|
||
Yani "Türk öğrencisi ödemiyor" değil, "**ödeyemedi**". Bu ayrım her şeyi değiştiriyor.
|
||
|
||
**Pazar tarafı (araştırıldı):** Eğitimde para var ve ödeyen veli — aile ayda 700–1.300 TL'yi soru çözüm uygulamasına, 1.000–3.000 TL'yi tek seferlik tercih danışmanına verebiliyor. **299 TL bu ölçekte küçük para; fiyat itirazı muhtemelen birincil sorun değil.** Asıl rakibimiz `tercihrobotu.com.tr` değil — **MEB'in 81 ildeki ücretsiz tercih danışmanlığı birimleri.**
|
||
|
||
**Üründe bulunan üç somut kusur:**
|
||
1. `/paket` girişsiz ziyaretçiye birincil butonun altında birebir **"Paketi sonra alırsın."** yazıyor — cüzdanı elinde gelen kişi 299 TL'lik butonu hiç görmüyor.
|
||
2. **Ödeyecek kişi (veli) için sitede tek düğme yok.** Tüm `src/` içinde "veli" iki yerde geçiyor, ikisi de aynı özellik satırı ("Veliyle paylaşılabilir PDF") ve o da paywall'un arkasında.
|
||
3. **Paket vaadi ↔ kod çelişkisi:** `/paket` "liste dahil" diyor, kod paketliden de liste başına 3 kredi düşüyor.
|
||
|
||
**CEO'nun kararı:** fiyat ve maske **bu hafta değişmiyor** (kalıcı ret listesinde) — fiyatı gören kimse ödeme ekranına varamadı, veri yok. Sıra: **kasa → söz → önizleme → ödeyici.**
|
||
|
||
---
|
||
|
||
## 5. Senden istenen — 3 madde
|
||
|
||
1. **Disk + içerik yayını** (~25 dk). Komut bloğu `24-ceo-kapanis.md` §C3'te hazır: eski worktree'leri sil → içeriği commit'le → **build'i commit'in kendisi üzerinde doğrula** (APFS klonu, symlink değil) → push.
|
||
2. **Canlıda tek gerçek uçtan uca ödeme** (~15 dk). `/paket → /odeme → /odeme/sonuc`, sonra iyzico panelinden iade. Üç satır not: `hasPaket` açıldı mı, kilit çözüldü mü, Rybbit'te `/odeme/sonuc` göründü mü. **Bu olmadan gelir hakkında hiçbir karar veremeyiz.**
|
||
3. **Satıcı kimliği 5 satır + Search Console erişimi** (~10 dk). Unvan/ad-soyad, merkez adresi, MERSİS *(tacirsen)* ya da VKN *(esnafsan)*, telefon, KEP. Metin `31-guvenlik-satici-kimligi.md` §1.4'te `TODO-BILAL` boşluklarıyla hazır. Ardından birinci Google hesabını Search Console mülküne tam yetkili ekle.
|
||
|
||
*(CEO `[BİLAL]` listesini 3'ten 1'e indirdi; kalan tek gerçek karar satıcı kimliği bilgileri — ajan üretemez.)*
|
||
|
||
---
|
||
|
||
## 6. Gece boyunca olan iki aksaklık
|
||
|
||
**(a) İş kaybı — bir kod ajanı `git reset --hard` koştu.** 02:20'de kendi dalında commit düzeltirken çalışma ağacındaki **başkalarına ait commit'lenmemiş** işleri sildi.
|
||
|
||
| Dosya | Durum |
|
||
|---|---|
|
||
| `docs/ekip/KARARLAR.md` (senin 2 adet 22 Eylül kaydın) | **Geri yazıldı** — güvenlik ajanının raporunda birebir saklanmıştı |
|
||
| `content/rehber/veliler-icin-tercih-rehberi.md` | **Yeniden yazıldı** — yazar ajanı aynı metinle |
|
||
| `AGENTS.md` | **Geri yazıldı** — iki ajan tarafından, tam hâliyle |
|
||
| `docs/ekip/BACKLOG.md` | Dosya commit'li hâlinde; oturum başında okunan içerik (13 madde + notlar) aynen duruyor. Bunun dışında bir düzenleme varsa **kurtarılamadı** |
|
||
|
||
Untracked dosyalar (15 yazı, gece raporları) etkilenmedi. **Kural kalıcılaştı:** `AGENTS.md` sonuna "Yıkıcı git komutları yasak" bölümü eklendi — `reset`, `checkout --`, `restore`, `clean`, `stash` ajanlara yasak.
|
||
|
||
**(b) Oturum limiti** 02:35'te doldu, 06:00'da sıfırlandı. Üç ajan kesildi; ikisi (editör dalga 3, G3) sabah turunda yeniden başlatıldı, biri (SEO) ölmeden önce işini tamamlamıştı.
|
||
|
||
---
|
||
|
||
## 7. Kod paketleri
|
||
|
||
| Paket | Dal | Durum |
|
||
|---|---|---|
|
||
| **G1** `/sonuc` ilk ekran (tadımlık yukarı, boş harita kalkar, CTA doğru yere gider) | `funnel/sonuc-ilk-ekran` | **Bitti** — 6 commit, `tsc` + `lint` temiz, 7/7 kabul kriteri. Tepedeki `[Bilal]` commit'i (`d2e1190`) yeni CTA cümlesi, tek başına düşürülebilir |
|
||
| **G3** paket vaadi (paketliden kredi düşmesin) | `odeme/paket-vaadi` | **Bitti** — 2 commit, 3 dosya, `tsc` + `lint` temiz, 6/6 kabul grep'i. **Güvenlik denetimi: "merge edilebilir", düzeltilmesi gereken satır yok** |
|
||
| G4, G2+G5, A2 | — | Yazılmadı; CEO'nun kesme sırasında sondaydılar ve "bu sabah incelemesini istemiyorum" demişti |
|
||
|
||
**G3'ün güvenlik denetiminden çıkan tek kesinleşme:** yazılımcının "koddan çıkarım" diye işaretlediği kritik soru — `spendCredits(amount: 0)` `INSUFFICIENT` döner mi — izole bir test veritabanında gerçekten koşturuldu. Sonuç: `rowsAffected = 1`, `INSUFFICIENT` dönmüyor, `delta 0` satırı tabloya yazılıyor ve UNIQUE kısıt aynı `(reason, ref_id)` ile ikinci insert'i reddediyor. **Paketin vaadi kodda tutuyor, idempotency çapası kaybolmuyor.**
|
||
|
||
**Merge'e engel olmayan, kuyruğa giren üç iş:** (F1, orta) paketlide liste üretiminin kredi freni kalktı ve yerine sınır konmadı — repoda rate limit yok, eski tavan 60÷3 ≈ 20 üretimdi; (F2, düşük) `credits.ts:174` `delta 0` iade de `krediBittiAt`'ı null'lıyor → paketlinin top-up hatırlatma e-postası yanlışlıkla iptal olabiliyor; (F3, düşük) `KrediYetersiz` modalı paketlide ulaşılamaz oldu.
|
||
|
||
**G3 uyum tarafında bir açığı kapatıyor:** `/paket` "60 danışman sorusu" diyordu, gerçekte liste (3) + 2 revizyon (6) düşünce 51 kalıyordu. Artık 60 gerçekten 60.
|
||
|
||
**Hiçbir dal build'den geçmedi** — disk dar olduğu için `pnpm build` yasaklandı. Build doğrulaması senin sabah komut bloğunda.
|
||
|
||
---
|
||
|
||
## 8. Yan bulgular (karar gerektirmeyen ama bilinmesi gereken)
|
||
|
||
- **Listede yanlış bilgi var:** program tablosunun tooltip'i 11.964 satırda "X kontenjan, Y yerleşen" derken Y > X gösteriyor — `kontenjan` yalnız genel kontenjanı tutuyor, `yerlesen` dört kotanın toplamı. Çözüm tek ternary; "boş kaldı" rozeti **doğru**, dokunulmuyor.
|
||
- **`unitur='DEVLET'` güvenilmez:** Kıbrıs Amerikan (42 satır), Uluslararası Saraybosna ve Uluslararası Balkan üniversitelerinin satırları yanlış etiketli. Sihirbazın "Vakıf" kovasına **1.256 KKTC/yurt dışı satırı** giriyor (vakıf havuzunun %13,4'ü).
|
||
- **Kök neden bulundu:** `refresh.ts`'in UPDATE yolu `il`/`fakulte`/`isim` alanlarını hiç tazelemiyor — bu değerler 2021'deki ilk CSV'den kalma.
|
||
- **Vakıf burs kırılımı yapılabilir:** etiket API'de `birimAdi` içinde geliyor, `--isim-esitle` varsayılan kapalı olduğu için yazılmıyor. Koşu yapılmadan hiçbir yazı burs dağılımı yayımlamamalı.
|
||
- **SEO planındaki `netler` tanımı yanlıştı** ("yerleşenlerin ortalaması" değil, **son yerleşen kişinin** netleri) — 9 yerde düzeltildi, §0'a bağlayıcı kural eklendi.
|
||
|
||
---
|
||
|
||
## 9. Sıradaki dalga (CEO onaylı)
|
||
|
||
**Hız: haftada 4 yazı, dalga başına en çok 5 paralel yazar, bir dalga editörden geçmeden sonraki başlamaz.** Takvim: 24 Eyl / 1 Eki / 8 Eki / 15 Eki, dalga başına 4 yazı. Kritik yol iki yerden geçiyor: `puan-turu-nasil-secilir` çıkmadan `on-bir-sinifta-tercih-hazirligi` yazılamaz; `kendi-sehrinde-okumak` ise `il` temizliği merge edilmeden hiç yazılamaz.
|