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>
48 KiB
05 — CEO kararları (gece vardiyası, 22 Eylül 2026)
Hazırlayan: CEO ajanı · Kaynak: 00-kurucu-brief.md, 02-seo-konu-plani.md, 03-marka-ve-odeme.md, 04-sifir-odeme-teshisi.md, 01-orkestrator-gunlugu.md + kendi kod/DB doğrulamalarım.
Yöntem: yalnız okuma. Kod ve içerik değiştirilmedi; KARARLAR.md/BACKLOG.md'ye dokunulmadı (Bilal'in commit'lenmemiş değişikliği var). Karar günlüğüne girecek kayıtlar en sonda hazır.
İşaret: [D] bu gece koştuğum sorgu/okuduğum dosya:satır · [Ç] koddan çıkarım · [A] başka ajanın açtığı dış kaynak, ben doğrulamadım.
Tek cümlelik teşhis
"Öğrenciler ödemiyor" bir pazar bulgusu değil, bir ölçüm yokluğudur: 30 günde ödeme ekranına 2 kişi geldi, kasa 6 hafta kırıktı, ödemesini beklediğimiz kişiye (veli) sitede tek bir yüzey yok ve ona verdiğimiz tek söz (PDF) ödemenin arkasında kilitli — bu yüzden bu hafta fiyata, maskeye ve marka adına dokunmuyoruz; kasanın çalıştığını kanıtlıyor, verdiğimiz sözü koda eşitliyor ve kurucunun istediği içerik hattını kalite kapısıyla birlikte kuruyoruz.
Özet — odak (5 madde)
- Ad değişmiyor, genişleme kapalı. Marka ajanının tavsiyesi doğrulandı; gerekçesini daralttım: kilit adda değil veride ve mevsimde. Tek cümlelik tetik aşağıda. Bu karar bedava (maliyeti sıfır), o yüzden bende kaldı — Bilal'e gitmiyor.
- Ödeme sırası: (1) kasa çalışıyor mu, (2) verdiğimiz sözü koda eşitle, (3) ödeme öncesi tek gerçek önizlemeyi ilk ekrana getir, (4) ödeyecek kişiye tek yüzey. Fiyat, maske (3→8), taksit ve ikinci paket bu hafta açılmıyor — ödeme ekranını gören kimse olmadığı için hepsi n=2 üzerine kurulu tahmin olur.
- Ödeyen veli, kullanan öğrenci — ama bu hafta akış değişmiyor. Bu hafta atılan tek veli adımı kod değil, içerik: veli yazısının kendi gövdesinde veliye hitap eden kapanış. "Listeyi veline gönder" e-postası (3. kişi verisi + KVKK) 2027 öncesine PRD olarak bırakıldı.
- İçerik hattı kurucunun istediği gibi çoğalıyor: haftada 4 yazı, dalga başına en çok 5 paralel yazar, her dalga tek editör geçişinden geçmeden bir sonraki başlamaz. Ama bu gecenin 10 yazısının hiçbiri bu sabah yayına girmiyor: üç yazıda rakamları kendi belirttikleri yöntemle yeniden üretemedim (aşağıda dosya:satır ve sorguyla). "Yayımlanmaz" kriterim §C.4'te.
- Bu turda 5 yeni teknik paket onaylandı (2 XS, 3 S ≈ 50 dk inceleme). P1–P4 vardiya sırasında
main'e merge edildi (84fc88e, 01:38) ama push edilmedi —main,origin/main'in 18 commit önünde [D]. Bilal'in sabahki ilk işi yeni kod değil, bu kuyruğun build + push'u.
1. İddiaların kod/DB doğrulaması
Her satırı bu gece ben açtım. "Doğru ama eksik" = iddia doğru, sonucu değiştiren bir şey atlanmış.
| # | İddia | Sahibi | Hüküm | Kanıt |
|---|---|---|---|---|
| 1 | Kasa 6 hafta kırıktı; uçtan uca tamamlanmış ödeme hâlâ 0 | Marka §2.1, Ürün §2 | Doğru (kaynak: 21 Eyl gece prod orders sorgusu, KARARLAR.md) — bu gece prod'a erişmedim, teyit Bilal'in testine bağlı |
docs/ekip/KARARLAR.md 21 Eyl gece kaydı |
| 2 | /paket girişsiz ziyaretçiye 299 TL'lik buton göstermiyor, "Paketi sonra alırsın." diyor |
Ürün Ö2 | Doğru ama eksik — eksik olan: bu metin 21 Eylül'de Bilal'in onayladığı kararın uygulaması; önceki hâli "Giriş yap — sonra 299 TL'ye…" idi | paket-satinal.tsx:128-146 [D]; git show 95bc87e [D]; KARARLAR.md 21 Eyl gece #6 |
| 3 | /giris ödemeye gelen kişiye üçüncü kez ücretsiz deneme anlatıyor |
Ürün Ö2(b) | Doğru ama eksik — funnel koşuluna /paket eklemek yetmez: funnel dalı da "Seçimlerin hazır — listen üretilsin" diyor, ödeme niyetiyle gelene o da yanlış. Üçüncü dal gerekir |
giris-karti.tsx:28-31, 52-65 [D] |
| 4 | Paket "60 danışman sorusu" diyor, kodda en çok 51 kalıyor | Ürün Ö3 | Doğru | paket-satinal.tsx:36-41 (${URUNLER.paket.credits} Yapay Zeka danışman sorusu), credits.ts:7,14,17, rapor-actions.ts:118-124 ve :244-249 — spendCredits hasPaket dalı olmadan çağrılıyor [D] |
| 5 | Çözüm (a): paketliden liste/revizyon kredisi alınmasın | Ürün Ö3 tavsiyesi | Doğru ama tehlikeli — raporun kaçırdığı şey bu | spendCredits'in ledger'daki UNIQUE refId'si, üretimin tek idempotency çapası; DUPLICATE dalı (rapor-actions.ts:133-162) ve iade mantığı ona bağlı. Çağrı atlanırsa paketli kullanıcı aynı requestId ile LLM üretimini tekrar tekrar tetikleyebilir ve Bilal'in şu an üzerinde çalıştığı "çifte kredi" düzeltmesi (backlog #1) paketlide hükümsüz kalır. Çözüm: çağrıyı kaldırma, amount: hasPaket ? 0 : RAPOR_KREDI yap — gte(creditBalance, 0) geçer, ledger satırı (delta 0) yazılır, DUPLICATE korunur. İade dalı da (grantCredits, :172-176) aynı koşulu almalı, yoksa paketliye bedava 3 kredi sızar [D + Ç] |
| 6 | Ödeyecek kişiye (veli) sitede tek düğme yok | Marka §2.4 | Doğru — ve rapordan daha kötü | src/ içinde "veli" 2 yerde, ikisi de aynı özellik satırı (app/page.tsx:197, paket-satinal.tsx:36) [D]. Eksik olan: o tek vaat (PDF) tamamen ödemenin arkasında — rapor-yazdir.tsx:28 if (!user.hasPaket) redirect("/paket") [D]. Yani veliye verdiğimiz tek sözü veli ödemeden göremiyor |
| 7 | Veli rehber yazısının CTA'sı öğrencinin CTA'sı | Marka §2.4 | Doğru ve genel | rehber-makale.tsx:112-116 — CtaSiraForm tüm yazıların altına basılıyor, yazı başına seçim yok [D] |
| 8 | Satıcı kimliği / fatura / makbuz e-postası yok | Marka §2.3 | Doğru | unvan/vergi/MERSİS grep = 0 [D]; eposta.ts'te yalnız 2 şablon (:127 magic link, :173 kredi hatırlatma) [D] |
| 9 | Sosyal kanıt şeridi /paket'e taşınsın |
Marka Ö2(b) | Yanlış (bu tur) | Eşik 25 liste (sosyal-kanit-sabitler.ts:11) [D], 30 günde üretilen liste 3 (01-ai-listesi-hunisi §5.1). Taşınsa da hiç çizilmez. Taşıma işi değil, ölçü işi |
| 10 | Taksit kapalı | Marka §2.3 | Doğru | iyzico.ts:201 enabledInstallments: [1] [D] |
| 11 | Paket adı sezona kilitli ("Tercih Dönemi Paketi") | Marka §1.1 | Doğru | credits.ts:7 [D] |
| 12 | Footer ürünü "YKS Tercih Robotu 2026" diyor | Marka §1.5 | Doğru (satır 49 değil 48) | site-footer.tsx:48 [D] |
| 13 | /sonuc ilk ekranı boş gri harita placeholder'ı |
Ürün Ö4 | Doğru | manuel-harita.tsx:69-79 [D] |
| 14 | Tadımlık tablonun ~1.500 px altında | Ürün Ö5 | Doğru | sonuc/page.tsx:102-118 — sıra: ManuelHarita → SonucProgramTablosu → TadimlikBolumu [D] |
| 15 | 20 yazı /rehber'i kullanılamaz hâle getirir (T33, P0) |
SEO T33 | Doğru ama yanlış yeri işaret ediyor | /rehber düz masonry, tarihe göre desc, kümeleme/sayfalama yok (rehber-listesi.tsx:7-12, rehber.ts:250-253) [D] — 52 kart çirkin ama kullanılabilir. Asıl kırılan yer makale altı: getAllRehberler().filter(...).slice(0,4) (rehber-makale.tsx:45-47) [D] → 52 yazının hepsinde aynı 4 yeni yazı görünür, iç link grafiği çöker. P0 olan yarısı bu, /rehber gruplaması P1 |
| 16 | SEO planının DB rakamları | SEO §2 | Doğru — birebir | Altı yıllık trend (İktisat 51/256.761→131.892, Tarih 64/276.363→120.510, Psikoloji 184/152.325→270.358, İlk. Mat. Öğrt. 76/83.225→218.963), kontenjan kısıntısı (İng. Dili −1.096, Görsel İletişim −1.084, Hukuk −1.072, Diş Hek. −792), önlisans 9.254/354.627, bantlar 64/3.361/8.201, netler 2025=20.821 — hepsini koşturdum, hepsi tuttu [D] |
| 17 | netler = "yerleşenlerin ortalama netleri" (SEO planı §2 ilk paragraf) |
SEO #2 | Yanlış | YÖK Atlas verisi son yerleşen kişinin netleridir; bu gece yazılan kac-net-ile-hangi-bolum.md:7 doğru çerçeveyi kullanmış. Planın cümlesi yayına girmemeli |
| 18 | ÖSYM 2027 takvimi açıklanmadı → takvim yazısı şimdi yazılmaz (SEO §3) ↔ orkestratör yks-2027-takvimi'ni yazdırdı |
SEO §3 ↔ Orkestratör | Çelişki çözüldü: yazı haklı | Yazının tezi zaten "açıklanmadı"; her satır AÇIKLANDI/BEKLENTİ etiketli, 2027 sütununda tek bir uydurma tarih yok (yks-2027-takvimi.md:7,47,51-60) [D]. Ayrıca 2026 satırı (29 Tem–10 Ağu) koddaki sezon sabitleriyle çakışıyor (site-top-banner.tsx:7-8) — iç tutarlılık teyidi [D] |
Raporların kaçırdığı, benim eklediklerim
- Ö3(a)'nın idempotency maliyeti (üstte #5). Tek satırlık bir "kredi düşme" kaldırma işi değil; yanlış yapılırsa çifte LLM maliyeti + backlog #1'in delinmesi.
/giris'in üçüncü dalı (üstte #3). Ö2(b) önerildiği gibi uygulanırsa metin yine yanlış olur.- Veliye verilen tek söz paywall'un arkasında (üstte #6). "Veli sayfası yok"tan daha keskin bir cümle ve bedava düzeltilebilir bir konum hatası değil — gelir modeli kararı. Not ediyorum, bu hafta açmıyorum.
- Gündüz yazdığım P1 kabul kriteri hatalıydı. "
grep -rn "Tercih dönemi bitmeden" src/→ 0" ölçüsü işe yaramaz: cümle JSX'te satır sonuna bölünmüş (hero-focus-button.tsx:44-46, 63-66). Doğru ölçügrep -rn "bitmeden yerini al" src/; onunlamain=2 →icerik/sezon-celiskisi=0, yani P1 kabul kriterini geçiyor [D]. Kriter düzeltildi. - P1 dalı kapsamını aştı ama kabul edilebilir yönde:
src/lib/sezon.ts(86 satır, tek kaynak sezon takvimi +BANT_METNI) eklenmiş, hero'ya kanonik sağ ok konmuş. Bant metni A/B iki seçenek olarak hazır (4034f03"[Bilal]" commit'i dalın tepesinde, cherry-pick edilmezse dal A ile tutarlı) [D]. Bu, markanın "4 sezon durumu için tek metin şeması" isteğinin altyapısı — onaylıyorum, ama kayda geçiyorum: tek amaçlı paket kuralı esnetildi. /rehbersayfa başlığı sezona kilitli: "Tercih Rehberi 2026 — YKS Tercih Dönemi Yazıları" (src/app/rehber/page.tsx:13-17) [D]. Bu gece eklenen yazıların yarısı 1. sınıf/veli/2027 içeriği; başlık artık sayfanın içeriğini yanlış tarif ediyor.- Ödeme yolu değişikliği bu hafta yasak bölge. Bilal tek gerçek uçtan uca ödemeyi yapacak; o testten önce
iyzico.ts,odeme-actions.ts, paket adı ve taksit parametresine el değmez — yoksa testin neyi ölçtüğü belirsizleşir. Bu, aşağıdaki üç ertelemenin ortak gerekçesi.
2. Kurucunun dört sorusuna cevap
A · Marka adı ve genişleme
Marka ajanının analizi doğrulandı, gerekçesi daraltıldı. Doğrulananlar: paket adının sezona kilitli olması (credits.ts:7), footer'ın ürünü reddedilmiş kategoriyle adlandırması (site-footer.tsx:48), logo tipografisinin ağırlığı "Tercih"e kaydırmış olması (site-header.tsx:22-27), "Kolay yerleşme" çipinin ürün içinde düşük hedef anlamına gelmesi (sihirbaz-sabitler.ts:17) — hepsi [D]. Dış kaynaklar (TDK, MEB LGS robotu, Armut, Kunduz, 19.566 MEB birimi) [A] — ben açmadım, marka ajanı açtı; kararım bunların hiçbirine tek başına dayanmıyor.
Çürüttüğüm tek yer: marka raporu "ad kararı ile genişleme kararını ayırın" derken genişleme tetiğini yalnız ödeme adedine bağlıyor. Eksik: genişlemenin gerçek maliyeti kod değil mevsim ve veri hattı. DGS/KPSS'nin cazip görünmesinin sebebi "aynı veri" değil, boş kalan Ağustos–Eylül; ama o ay bugün zaten boş ve biz onu dolduramıyoruz. İkinci alan, birinci alanın cevaplayamadığı soruyu ikiye katlar.
[KARAR] — tek cümle: Ad değişmiyor; KolayTercih üniversite tercihinin dışına ancak 2027 YKS sezonunda 100 tamamlanmış ödeme görülürse ve ilk alan DGS/KPSS olarak açılır — LGS hiçbir koşulda açılmaz (MEB'in ücretsiz ve resmî yapay zekâ destekli LGS robotu var [A]).
Maliyeti sıfır bir karar (hiçbir şey değişmiyor), o yüzden Bilal'e gitmiyor. Bilal'e giden tek ad konusu marka tescilidir (para + hukuk) ve onu da bu hafta istemiyorum; önce bir engel kontrolü gerekiyor (aşağıda marka ajanına soru).
B · Öğrenciler neden ödemedi — çelişki çözümü ve sıra
İki rapor çelişmiyor, tek bir yerde çarpışıyor: /paket girişsiz CTA'sı. Ürün yöneticisi "birincil buton fiyatı ve satın almayı taşısın, 'Paketi sonra alırsın.' kalksın" diyor (Ö2a). Ama bugünkü metin 21 Eylül'de Bilal'in onayladığı kararın ta kendisi (KARARLAR.md 21 Eyl gece #6; git show 95bc87e). Gerekçesi olarak gösterilen 24 Ağustos'taki kullanıcı ise o karardan önceki sürümü gördü. Yani ortada yeni kanıt yok, bir günlük kararın verisi hiç okunmadı. Hüküm: Ö2(a) reddedildi (PROTOKOL: verilmiş karar yeni kanıt olmadan açılmaz). Ö2'nin onaylanan yarısı: "Paketi sonra alırsın." cümlesi kalkar — o cümle kararın metni değil, satın almayı aktif olarak erteleten bir alt satır; kaldırılması kararı bozmaz.
Sıra (ve neden bu sıra): ölçülemeyen bir hipotezi test etmeden önce, testin mümkün olduğunu kanıtlamak gerekir.
- Kasa çalışıyor mu? Bilal'in tek uçtan uca ödemesi +
odeme_hata {kod}olayı (G2). Bu olmadan aşağıdaki hiçbir sayı yorumlanamaz. - Verdiğimiz sözü koda eşitle. "60 soru" ↔ 51 soru (G3). Ölçütüm sırasında ilk madde: kullanıcıya verilen sözü bozan yanlış bilgi. Ödeyen 0 kişi olduğu için geri dönüş maliyeti bugün sıfır, bir hafta sonra olmayabilir.
- Ödeme öncesi tek gerçek önizlemeyi ilk ekrana getir (G1). "Ödemek için sebep" testinin tek eksiği, teslim edilecek şeyin örneğini ödeme kararından önce göstermek; örnek zaten üretilmiş ve bedava (522 satırlık tadımlık havuzu).
- Ödeyecek kişiye tek yüzey. Bu hafta yalnız içerik adımı (aşağıda).
Fiyat ve maske kararı — erteleme gerekçesi: 299 TL'nin yanlış olduğunu söyleyen tek bir veri yok, çünkü fiyatı gören hiç kimse ödeme ekranına varamadı (30 günde odeme_baslatildi → /odeme görüntülemesi = 0). Maskeyi 3'ten 8'e çıkarmak ya da fiyatı indirmek, geri alındığında müşteride kötü görünen hamlelerdir; veri yokken yapılırsa geri alma ihtimali yüksektir. İkisi de Bilal'in alanında ve bu hafta açılmıyor.
Ödeyen öğrenci mi, veli mi?
Kullanan öğrenci, ödeyen veli. Vizyon bunu zaten söylüyor (
vizyon.md:36), ürün hiç uygulamamış: "veli" kelimesi kodda iki yerde ve veliye verdiğimiz tek söz (PDF) ödemenin arkasında kilitli (rapor-yazdir.tsx:28).
Bu karar bu hafta akışı nasıl değiştirir? Neredeyse hiç — bilerek. Veliye giden e-posta üçüncü kişi verisidir (KVKK metni + onay cümlesi + yeni şablon = M boy) ve sezon dışı hacimde etkisi okunamaz. Bu hafta atılan tek adım kodsuz: content/rehber/veliler-icin-tercih-rehberi.md gövdesine veli diliyle bir kapanış paragrafı + doğru bağlantı eklenir (bileşen CTA'sı yazı başına seçilebilir hâle gelene kadar ara çözüm). Kalıcı çözüm (kume: veli olan yazılarda farklı CTA) G4'ün üstüne, sonraki tura.
Türkiye ölçeğinde büyüyen girişimlerden ders — bizim hacmimizde ne işe yarar?
| Kaldıraç | Bizde işe yarar mı (95 ziyaret/hafta)? | Gerekçe |
|---|---|---|
| İçerik / organik yer tutma | Evet — sezon dışı çalışan tek kaldıraç | AI gösteriminde ilk 10'un 7'si rehber yazısı; 24 rehber, 864 katalog sayfasından fazla gösterim çekiyor (geo-raporu §8.1.1 [A/D]). Bileşik getirili, trafikten bağımsız birikir. Kurucunun "yazı çoğalt" talimatı hacim gerçeğiyle uyumlu olan tek büyüme hamlesidir. |
| Rehber öğretmen kanalı | Evet | MEB'in 81 ildeki 19.566 birimi [A] rakip değil dağıtım kanalı; rehberlik servisleri ve il MEM sayfaları bu tür sayfalara link verir. Maliyeti bir yazı (#17). |
| Sezon öncesi satış penceresi (Kunduz modeli) | Evet ama 2027 işi | Bugün satacak sezon yok; hazırlığı Nisan 2027. |
| Fiyat testi / indirim | Hayır | n=2. |
| Taksit | Hayır (bu hafta) | 299 TL'de ekonomik değil; ayrıca ödeme yolu bir kez uçtan uca çalışmadan ödeme isteğine parametre eklenmez. |
| A/B testi | Hayır | Her kol 47 ziyaret/hafta. |
| Sosyal kanıt şeridi | Hayır | Eşik 25, elimizde 3 liste var; taşısak da çizilmez [D]. |
| Ücretli reklam | Hayır | Alt huni sızdırırken üste trafik pompalamak. |
C · İçerik hattı
(a) Bu gecenin 10 yazısı. Dördü 20'lik planın konuları (#1 taban-siralamalari-alti-yilda-nasil-degisti, #2 kac-net-ile-hangi-bolum, #6 siralama-bandlari-hangi-kapilar-acilir, #19 yapay-zekaya-tercih-sordum-guvenilir-mi), üçü 21 Eylül planından (universitede-ilk-hafta…, yks-2027-takvimi, ek-madde-1-puanim-yetiyor-mu), ikisi yedek havuzdan (bilgisayar-mi-yazilim-muhendisligi-mi, kktc-universiteleri-okunur-mu), biri plan dışı yeni konu (yeni-acilan-bolumler-nasil-degerlendirilir).
Hiçbiri bu sabah yayına girmiyor. Gerekçe — üç yazıda rakamları, yazının kendi belirttiği yöntemle bağımsız koşturduğumda tutturamadım:
| Yazı | Yazıdaki rakam | Benim koşum (aynı filtre) | Hüküm |
|---|---|---|---|
bilgisayar-mi-yazilim-muhendisligi-mi.md:7,66 |
"56 üniversitenin 54'ünde" | 57 / 55 (istisna sayısı 2 ✓) | Düzeltilecek. Program/kontenjan tablosu (303/133, 12.993, 11.285, 134/169) birebir tuttu [D] |
kktc-universiteleri-okunur-mu.md:81,212 |
Lisans 13.162/7.923, önlisans 4.851/3.632 ve "toplamlarımız ÖSYM ile birebir aynı" | Bizim DB: 12.912/7.849 ve 4.637/3.537; ayrıca 16 değil 23 ayrı universite değeri |
"Birebir aynı" iddiası yanlış — ya çıkarılır ya farkın kaynağı (arşivlenen satırlar / KKTC-uyruklu kontenjanlar) yazılır |
siralama-bandlari-hangi-kapilar-acilir.md:7,66 |
9.304 program / 271 üniversite / 81 il | Stated filtre ile 9.482 / 277 / 84 | Fark muhtemelen yurt dışı kampüs + kirli il değerleri (T34); yazı bunu satır satır yazmalı |
kac-net-ile-hangi-bolum.md:7 |
Tıp 31,5/28,2/33,8 (106) ✓; Hukuk 30,1/19,4/21,9 (51); Psikoloji 28,8/12,8/12,0 (72) | Tıp birebir; Hukuk 29,9/19,2/21,8 (52); Psikoloji 28,0/12,2/11,5 (75) | Havuz farkı açıklanmalı |
Bu bir "kötü yazar" bulgusu değil — yazıların yöntem anlatımı dürüst, kaynakları açık, vaat dili yok, yks-2027-takvimi belirsizliği örnek biçimde yönetiyor. Bulgu şu: filtre cümlesi, rakamı yeniden üretmeye yetmiyor. Çözüm ucuz, çünkü yazarlar sorguyu zaten koştu.
[KARAR]: Bir yazı, içindeki her DB rakamı yazının kendi verdiği sorgu/filtre ile bağımsız koşturulduğunda aynı çıkmadıkça yayımlanmaz. Yazar raporuna kullandığı tam SQL'i yazar;
rehber-editorudalga sonunda tek geçişte yeniden koşar ve tutmayan her rakamı ya düzeltir ya çıkarır.
(b) Onaylanan yeni konular (bir sonraki dalga, 4 yazı): ayni-bolum-farkli-universite-siralama-farki (#3 — şablon değeri yüksek, #10'un girdisi), hangi-bolumlerin-kontenjani-azaldi (#5 — kanonik #1 artık yazıldı, bağımlılığı kalktı), rehber-ogretmenler-icin-veri-kaynaklari (#17 — dağıtım kanalı, bağlantı kazanma), bolumumu-sevmedim-hangi-kapilar-var (#11 — hub; 600 kelime sınırı, beş mevcut yazıyı birbirine bağlar, G4 ile birlikte iç link değerini ikiye katlar).
#2'nin (netler) yayımlanması için Bilal'in onayını istemiyorum — kararı ben veriyorum: veri YÖK Atlas kaynaklı ve kamuya açık, bizim özel verimiz değil; risk gizlilik değil doğruluktur. Koşullar: (i) her rakamın yanında yıl etiketi (2026 net verisi yok — netler max(yıl)=2025 [D]), (ii) çerçeve "son yerleşen kişinin netleri" olmalı — planın "yerleşenlerin ortalaması" ifadesi yanlıştır ve kullanılamaz, (iii) 5 satır YÖK Atlas'tan gözle teyit.
(c) Hız: haftada 4 yazı. Dalga başına en çok 5 paralel yazar; bir dalga editör geçişinden ve rakam yeniden üretiminden geçmeden sonraki dalga başlamaz. Dalganın en çok yarısı DB rakamına dayansın (doğrulama maliyeti dengelensin). Bu hızla 52 yazıya ~5 haftada varılır ve Bilal'in içerik borcu yazı başına ~2 dakikaya iner (yalnız iki listeyi okur: kaynak açılamadığı için çıkarılan iddialar + tutmayan rakamlar).
(d) "Yayımlanmaz" kriterim (kalite eşiği):
- Rakam, yazının kendi filtresiyle yeniden üretilemiyorsa.
- Yöntem kutusu yoksa (hangi tablo, hangi yıl kolonu, hangi filtre, kaç satır + veri tarihi).
- Açılamayan kaynağa dayanan cümle varsa — "muhtemelen/genelde" ile yumuşatılamaz, çıkarılır.
- Vaat dili tek geçişte bile varsa ("yerleşirsin", "garanti", "kesin", "atanırsın"); istihdam/atama iddiası yasak.
- Mevcut bir yazıyla aynı arama niyetini hedefliyor ve ayrım cümlesi ilk 200 kelimede yoksa.
- Teknik: 3 zorunlu frontmatter alanı, 1 mermaid +
%% aria:, ≥1 tablo, ölü iç link yok (/il/*sayfası yok;/tercih-robotu301'e gidiyor).
(e) T33 — /rehber 52 yazıda kullanılamaz hâle gelir mi? Kısmen; SEO raporu doğru teşhis koymuş ama yanlış yeri P0 ilan etmiş (§1 #15). P0 olan yarısı makale altındaki "Diğer rehber yazıları", ve bu bir sonraki turun işi değil, bu turun işi (G4) — çünkü alan yazılar teslim edilirken eklenirse ikinci bir elden geçirme olmaz. /rehber index'inin küme başlıklarıyla gruplanması P1, sonraki tur.
D · Gündüz verdiğim P1–P5 ile bu gecenin işleri çelişiyor mu?
Hayır, iki yerde kesişiyor ve ikisini de birleştirdim.
- P1–P4 zaten dallarda uygulandı ve vardiya sırasında
main'e merge edildi (faba6f4,001440a,d720e18,84fc88e; 01:37–01:38) [D]. P1'in kabul kriterini düzeltilmiş grep'le doğruladım: geçiyor. Push yok;main,origin/main'in 18 commit önünde. Bant metni A/B seçeneği hazır (4034f03). - P5 (tadımlık vaadi/hedefi) ile ürün yöneticisinin Ö5'i (tadımlığı yukarı taşı) ve Ö4'ü (boş harita placeholder'ı) aynı ekranı değiştiriyor. Üçü tek amacın parçası: ödeme öncesi tek gerçek önizleme ilk ekranda görünsün ve doğru yere göndersin. Birleştirildi → G1. Aynı dosyaya iki el değmez.
- Ürün yöneticisinin Ö4'ü, gündüz ertelediğim tasarımcı Ö4'üyle aynı şey değil: ertelenen,
/sonucsıralamasının tersine çevrilmesiydi (M boy, CLS/SSR etkili); bu, tekreturn null(kaldırma işi). Çelişki yok.
Sabah Bilal'in önüne kaç madde, hangi sırayla: üç. (1) merge kuyruğunun build+push'u, (2) tek gerçek ödeme, (3) tek cümlelik veto hakkı. Yeni kod paketleri (G1–G5) gece/yarın yazılır ve bir sonraki inceleme turuna kalır; bu sabah onların incelemesini istemiyorum.
3. Onaylanan teknik paketler
Her biri ayrı dal, tek amaç, push/merge yok. Satır numaraları main @ 84fc88e.
Öncelik sırası: G1 → G3 → G2 → G5 → G4. Bilal'in tek inceleme aralığı varsa G1 ve G3 alınır.
G1 · funnel/sonuc-ilk-ekran — S (P5 + Ö4 + Ö5 birleşik)
- Amaç: Ödeme öncesi tek gerçek önizleme ilk ekranda görünsün ve doğru yere göndersin.
- Kapsam: (a)
sonuc/page.tsx:102-118—<TadimlikBolumu><SonucProgramTablosu>'nun öncesine alınır. (b)manuel-harita.tsx:69-79—liste.length === 0iken bileşennulldöner. (c)tadimlik-satiri.tsx:111— giriş callback'isonucHref()yerine/listem?uret=1(üretim dönüşte kendiliğinden başlar). (d)tadimlik-satiri.tsx:186— "24 satırın tamamı" iddiası çıkar (maske 3 satır açıyor,rapor-maske.ts:12); yerine gelecek yeni cümle ayrı[Bilal]commit'i, ana commit yalnız yanlış iddiayı kaldırır. Kapsam dışı: maskenin kaç satır açtığı,/sonucsıralamasının tersine çevrilmesi,<h1>işi, tadımlığın başka yüzeylere taşınması. - Kabul:
/sonucsunucu HTML'inde tadımlık başlığının ilk geçiş konumu tablo başlığınınkinden önce; boş durumda "haritada belirir" metni HTML'de yok, listeye program eklenince harita yine görünür; girişten dönüşte üretim ek tık olmadan başlar; ekranda teslim edilmeyen bir sayı vaat edilmez; havuz boşsa tadımlık yine hiç render edilmez;/meraklisinaşeması etkilenmez (sihirbaz adımları, havuz kuralları, 24'lük iskelet değişmiyor) ve bu rapora yazılır.
G3 · odeme/paket-vaadi — S
- Amaç: Paket sayfasındaki sözü kodla eşitlemek: "60 danışman sorusu" gerçekten 60 olsun.
- Kapsam:
rapor-actions.ts—spendCreditsçağrısı kaldırılmaz, tutarı koşullanır:amount: user.hasPaket ? 0 : RAPOR_KREDI(liste:118-124, revizyon:244-249). İade dalları (grantCredits,:172-176ve revizyon karşılığı) aynı koşulu alır. Metinler tek kaynaktan doğru okunur (paket-satinal.tsx:36-41,app/page.tsx:201,listem-govde.tsxkilit satırı). Kapsam dışı: fiyat, kredi adedi, top-up, maske. - Kabul: Paketli kullanıcıda liste ve revizyon kredi düşmez;
credit_ledger'da satır yine yazılır (delta 0) ve aynırequestIdile ikinci üretim DUPLICATE döner (idempotency korunuyor, backlog #1 delinmedi); üretim hata verirse paketliye kredi iade edilmez; paketsiz kullanıcıda davranış bit-bit aynı;grep -rn "danışman sorusu" src/sonuçlarının tamamı aynı sayıyı ve aynı koşulu söyler;guvenlik-uyumdenetimi temiz.
G2 · odeme/kasa-olculur — XS
- Amaç: Ödeme hunisine payda. (Backlog #7 = ürün Ö1'in kod yarısı.)
- Kapsam:
satin-al-form.tsx'in üç hata dalına (:49, :53civarı)odeme_hata {kod}olayı;OlayAdibirliğine tek ad. Kapsam dışı:odeme_tamamlandisunucu tarafı olayı, yeni sayfa görüntüleme enstrümanı. - Kabul:
grep -n "odeme_hata" src/features/odeme/components/satin-al-form.tsx≥1 ve adsrc/lib/analitik.ts'te tanımlı; mevcutodeme_baslatildidavranışı değişmez; build + tip kontrolü temiz. Yayın koşulu: Bilal'in test ödemesiyle aynı yayında çıkar.
G5 · icerik/paket-erteleme-cumlesi — XS
- Amaç: Satın alma niyetiyle gelen kişiye "sonra al" dememek.
- Kapsam: (a)
paket-satinal.tsx:141-143— "Paketi sonra alırsın." cümlesi çıkar; birincil buton ve ilk iki cümle (21 Eyl kararı) aynen kalır. (b)giris-karti.tsx:28-31, 52-65—/paketcallback'i için üçüncü metin dalı ("ödemeye devam"), mevcut funnel metni/sonucve/listem?uret=1için korunur. Kapsam dışı: birincil CTA metni ve hedefi (21 Eyl kararı — açılmıyor). - Kabul:
grep -n "Paketi sonra alırsın" src/→ 0;/giris?callback=/paket'te ekranda deneme kredisi vaadi birincil cümle değil;/sonucve/listem?uret=1callback'lerinde metin değişmemiş; build temiz.
G4 · icerik/rehber-ilgili-yazilar — S
- Amaç: 42 (yakında 52) yazıda "Diğer rehber yazıları" bloğunun hepsinde aynı 4 yeni yazıyı göstermesini bitirmek.
- Kapsam: (a)
src/lib/rehber.ts— opsiyonelkume:frontmatter alanı (yoksa"genel"; mevcut 42 dosyanın hiçbiri değiştirilmeden derlenmeli). (b)rehber-makale.tsx:45-47— ilgili yazılar önce aynı kümeden, yetmezse tarihten tamamlanır. (c)src/app/rehber/page.tsx:13-17— sayfa başlığı/açıklaması sezon-bağımsız olur ("Tercih Dönemi Yazıları" ifadesi kalkar). Kapsam dışı:/rehberindex'inin küme başlıklarıyla gruplanması (sonraki tur), mevcut 42 yazıya küme etiketi dağıtılması (ayrı, mekanik editör işi), yazı başına CTA seçimi. - Kabul: Küme alanı olmayan yazılarla site derlenir ve
/rehberbugünkü gibi çalışır; kümesi olan iki yazıdan her birinin "Diğer rehber yazıları" listesi diğerini içerir; hiçbir makalede liste boş kalmaz;/rehberbaşlığında yıl/sezon iddiası yok.
Onaylanan rehber yazıları
Bu gece yazılan 10 — "editörden geçmek koşuluyla onaylı", yayın sırası:
taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum · siralama-bandlari-hangi-kapilar-acilir · 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
Sonraki dalga — onaylı 4 konu: ayni-bolum-farkli-universite-siralama-farki · hangi-bolumlerin-kontenjani-azaldi · rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var
Kodsuz içerik işi (1): veliler-icin-tercih-rehberi.md gövdesine veli diliyle kapanış paragrafı + doğru bağlantı (bugün yazının altındaki CTA veliden kendi sıralamasını istiyor).
4. Bilal'e bırakılan kararlar (kısa tutuldu)
Kurucu "CEO benim yerime karar verebilir" dedi; aşağıdakiler gerçekten geri dönüşü zor ya da kurucu bilgisi gerektiren üç madde. Kalanını kendim karara bağladım.
| Karar | Tavsiyem | Geri dönüş maliyeti |
|---|---|---|
| Paket içeriği (G3): paketliye liste + revizyon kredisiz mi? | Evet, kredisiz — vizyonun kararı bu (vizyon.md:32-34), anlatması kolay ("krediler yalnız sohbet için") ve ödeyen 0 kişi olduğu için bugün kimseyi mağdur etmiyor. Vetolamazsan uygulanır. |
Bugün sıfır; ödeyen çıktıktan sonra orta (paketi daraltmak kötü görünür) |
| Satıcı kimliği (unvan/adres/vergi no) sitede açılsın mı? | Sezon açılmadan zorunlu, bu hafta değil. Para alan sitede satıcının kim olduğunu söyleyen tek satır yok (grep = 0) ve fatura/makbuz kelimesi hiç geçmiyor. 21 Eylül'de ertelendi, bu turda yeni kanıt yok — açmıyorum, ama "2027 öncesi zorunlu" diye kayda geçiriyorum | Geri dönüşü zor (ticari kimlik açma) |
| Deneme maskesi 3 → kaç satır / 299 TL | Bu hafta dokunma. Fiyatı gören kimse ödeme ekranına varamadı; hangi sayının doğru olduğunu söyleyecek veri yok | Orta — fiyat/değer algısı; geri alması müşteride kötü görünür |
(Bilal'e götürmediklerim ve nedenleri: ad kararı — maliyeti sıfır, bende; netler yayını — kamuya açık veri, risk doğruluk, koşullarıyla bende; /paket birincil CTA — 21 Eyl kararı, açılmıyor; taksit, paket adı, makbuz e-postası, ana sayfa kıyas ekseni — ödeme testi öncesi ödeme yoluna el değmez; marka tescili — önce engel kontrolü, sonra karar.)
5. Reddedilenler / ertelenenler
| Öneri | Sahibi | Hüküm ve gerekçe |
|---|---|---|
/paket girişsiz birincil CTA'sı fiyat + satın alma fiili taşısın |
Ürün Ö2(a) | Reddedildi. 21 Eyl'de Bilal'in onayladığı kararın geri alınması; gösterilen kanıt (24 Ağu kullanıcısı) karardan önceki sürüme ait. Yeni kanıt yok |
Sosyal kanıt şeridini /paket'e taşı |
Marka Ö2(b) | Reddedildi (bu tur). Eşik 25, elimizde 3 liste — taşınsa da hiç çizilmez [D] |
| Taksit açılması | Marka Ö3 | Ertelendi. Ödeme yolu bir kez uçtan uca çalıştığı doğrulanmadan iyzico isteğine parametre eklenmez; komisyon etkisi de doğrulanmalı |
| Paket adının sezon-bağımsız olması ("Tercih Dönemi Paketi") | Marka H1 | Ertelendi — ödeme testinden sonraki ilk iş. Ad, iyzico sepetine giden etikettir; testten önce değiştirmek testin neyi ölçtüğünü bulandırır |
| Ödeme sonrası makbuz e-postası | Marka Ö2(c)/H3 | Ertelendi. Satıcı kimliği gelmeden makbuz metni yazılamaz; ayrıca ödeme akışına test öncesi el değmez |
| "Listeyi veline gönder" düğmesi + veli e-postası | Marka Ö1/Y1 | Ertelendi (PRD, en geç Nisan 2027). 3. kişi verisi + KVKK onay metni + yeni şablon = M boy; sezon dışı hacimde ölçülemez. Bu hafta yerine kodsuz içerik adımı atılıyor |
| Veli sayfası ("Çocuğunuz ne aldı?") | Marka Y3 | Ertelendi — aynı gerekçe, aynı pencere |
| Ana sayfa kıyas ekseninin MEB'in ücretsiz danışmanlığına çevrilmesi | Marka Y4 | Ertelendi (sezon öncesi). Tespit değerli [A] ama tablo 21 Eyl'de yeni kuruldu; iki günde iki kez değiştirmiyoruz |
| İkinci alan (DGS/KPSS/LGS) açılması | Marka §1.3 | Reddedildi, adet tetiğine bağlandı (§A). LGS kalıcı olarak kapalı |
/rehber index'inin küme başlıklarıyla gruplanması |
SEO T33 | Ertelendi (sonraki tur). P0 olan yarısı G4'te; index duvarı çirkin ama kullanılabilir |
siralama-bandina-gore… yazısının /il/[slug] bağımlısı kardeşi (#18) |
SEO #18 | Reddedildi (bu tur). programs.il kirli: 91 farklı değer, KKTC/yurt dışı şehirler, 110 boş il satırı (T34). Temizlik olmadan yazı ölü link üretir |
| Öğretmenlik branş yazısı (#4) | SEO #4 | Ertelendi. İstihdam/YMYL sınırına en yakın konu; ikinci editör okuması gerektiriyor, bu dalganın kapasitesi dolu |
| #7, #8, #9, #10, #12, #13, #14, #15, #16, #20 | SEO | Sıraya alındı. Haftada 4 yazı hızı; sonraki dalgalarda |
vakif-universitesi-burslu-indirimli-ucretli-farki |
Orkestratör dalga 2 | Ertelendi. 3.821 vakıf lisans programında isimde burs etiketi yok [D: SEO §1]; veri sorusu çözülmeden tablo yayımlanmaz |
| Vakıf üniversitelerinin adıyla doluluk yayını | 21 Eyl SEO §3 #10 | Ertelendi — ben de sormuyorum. Bilal'in kuyruğunda bundan değerli üç madde var; konu sırası gelince açılır |
/sonuc'a <h1>, /sonuc sıralamasının tersi, mobil alt çubuk, tutarlılık temizliği, eval seti |
22 Eyl gündüz §5 | Ertelemede kalıyor. Yeni kanıt gelmedi |
6. Diğer ajanlara açık sorular (sonraki tur)
rehber-editoru(en yüksek öncelik): 10 yazıyı tek geçişte al. Zorunlu çıktı: (a) her DB rakamının yazının kendi filtresiyle yeniden koşulmuş hâli ve tutmayanların listesi — başlangıç noktası §C'deki dört satır (bilgisayar…56/54 → 57/55;kktc…"ÖSYM ile birebir aynı" iddiası ve 16 vs 23 üniversite;siralama-bandlari…9.304 vs 9.482/271 vs 277/81 vs 84;kac-net…Hukuk ve Psikoloji satırları), (b) açılamayan kaynak yüzünden çıkarılan cümleler, (c) kanibalizasyon denetimi:siralama-bandlari-hangi-kapilar-acilir↔ mevcutkac-siralama-ile-hangi-bolume-girebilirimayrım cümlesi ilk 200 kelimede var mı.seo-geo: (1) Planın #2 için yazdığı "yerleşenlerin ortalama netleri" çerçevesi yanlış (doğrusu: son yerleşen kişinin netleri) — plandaki cümleyi düzelt, aynı hata başka konulara kopyalanmasın. (2)yeni-acilan-bolumler…plan dışı çıktı ve iyi bir yazı; 20'lik planın önceliklendirmesini bu konuyu da içerecek şekilde güncelle. (3) T34 (il temizliği) olmadan #18 ve T7 yapılmıyor —veri-muhendisiile birlikte tek soru: boşildeğerli 110 satırın kaynağı ne?cto: G1–G5 şartnameleri; özellikle G3'ün idempotency koşulu (§1 #5) ve G4'ün "kümesiz yazı da derlenir" geriye dönük uyumluluğu. Ayrıca:/rehbergruplaması için küme taksonomisi 5–6 kümeyi geçmemeli (öğrenci-karar / veri-analiz / 1. sınıf / veli-öğretmen / takvim-mevzuat).analitik: Rybbit bağlanınca ilk üç sorgu sabit: (a) 21 Eyl sonrasıtadimlik_goruntulendiveliste_uretim_hataadedi, (b) P1–P4 yayınından sonra girişli oturumlarda/listemgörüntüleme adedi (taban: 30g'de 7), (c)liste_uretim_basladihaftalık adedi vebasladi − (olusturuldu + hata + kredi_bitti)farkı. Ek iş: tek sayfalık "haftalık adet kartı" tanımı.marka: (1) TÜRKPATENT'te "kolaytercih" ve yakın yazımlar tescilli mi — ad kararından önce bilinmesi gereken tek gerçek engel, ve bunu Bilal'e sormaya gerek yok, açık kayıt. (2) 4 sezon durumu (hazırlık / sonuç bekleme / tercih / ek yerleştirme) için tek metin şeması — altyapısrc/lib/sezon.ts'te artık var,BANT_METNIkayıtlarını doldur.urun-yoneticisi: G1–G5 backlog'a "onaylı"; §5 tablosu "aday"; backlog #7 G2 ile kapanıyor; yeni satır: "rakam yeniden üretim kapısı" (içerik süreç işi). Veli ödeme yolu PRD'siaday, hedef pencere Nisan 2027.qa-muhendisi: (1)main @ 84fc88eüzerinde P1–P4'ün kabul kriterleri — özellikle + kapısını bitiren kullanıcı nereye çıkıyor ve navbar 375 px'te satır sarıyor mu. (2) Gündüzki hatalı grep kriterine dikkat: doğru ölçügrep -rn "bitmeden yerini al" src/. (3) G3 için tek senaryo: paketli kullanıcı aynırequestIdile iki kez üretim tetikleyemiyor.guvenlik-uyum: G3'ün ledger'a delta 0 satırı yazmasının mutabakat sorgularını (haftalık iyzico mutabakatı,docs/odeme/iyzico.md) bozup bozmadığı; ve paketliye iade yapılmamasının bir açık bırakıp bırakmadığı.yapay-zeka-muhendisi: G1 tadımlığı ilk ekrana çıkarınca havuz kapsamı kritikleşiyor —tadimlik_havuzu'nda kategori kaçağı (backlog #10: "Makine Resim ve Konstrüksiyonu" sanat-medya kategorisinde) G1 yayınından önce kapatılmalı mı, yoksa kaçak satır oranı ihmal edilebilir mi? Sayıyla cevap.
7. Bilal'den istenen (3 madde)
- Merge kuyruğunu bitir ve yayınla.
mainşu anorigin/main'in 18 commit önünde (P1–P4 + sezon altyapısı); bant metni için4034f03'teki A/B seçeneğinden birini seç (tavsiyem: A — kısa, 375 px'te tek satıra sığıyor), çalışma ağacındakiliste-uretici.tsx+uretim-basladi-olayi.tsxişini aynı pakete al, push edilecek commit üzerinde temiz worktree'depnpm buildal — ~45 dk. - Canlıda tek bir gerçek uçtan uca ödeme yap (
/paket → /odeme → /odeme/sonuc, sonra iyzico panelinden iade) ve üç şeyi yaz:hasPaketaçıldı mı, kilit çözüldü mü, Rybbit'te/odeme/sonucgörüntülemesi düştü mü. Bu hafta alınacak diğer bütün ödeme kararları bunun sonucuna bağlı — ~15 dk. - Tek cümlelik veto: paketli kullanıcıdan liste ve revizyon kredisi alınmaması (G3) sana doğru geliyor mu? Sessizlik onay sayılır ve uygulanır — ~2 dk.
(Listeden düşürdüklerim: satıcı kimliği bilgileri — sezon öncesine kaydedildi, bu hafta iş üretmiyor; vakıf doluluk yayını kararı — sırası gelmedi; Search Console rakamları — merge/push ve ödeme testi bu hafta daha çok söyler; marka tescili — önce ajan engel kontrolü yapsın.)
KARARLAR.md'ye eklenecek kayıtlar
Bu gece
KARARLAR.md'ye dokunulmadı (Bilal'in commit'lenmemiş değişikliği var). Aşağıdaki bloklar dosyanın sonuna olduğu gibi eklenebilir.
## 2026-09-22 — Ad kalıyor; ikinci alan adet tetiğine bağlandı
- Karar: "KolayTercih" adı değişmiyor. Üniversite tercihinin dışına çıkmak, 2027 YKS sezonunda 100 tamamlanmış ödeme görülmesine bağlı; görülürse ilk alan DGS/KPSS (aynı veri şeması, boş kalan Ağustos–Eylül), LGS hiçbir koşulda açılmıyor. Marka tescili ve .com.tr kararı ayrı ve Bilal'de; önce TÜRKPATENT engel kontrolü yapılacak.
- Yetki: [KARAR] (ad değişmediği için maliyeti sıfır) · [BİLAL] (tescil/alan adı, para)
- Gerekçe: Ad hiçbir kapıyı kapatmıyor; kilit adda değil veride ve mevsimde. Tek ürünün cevaplamadığı soru "pazar var mı" değil "bu üründen para geçiyor mu" (30 günde tamamlanmış ödeme 0); ikinci alan bu soruyu cevaplamaz, ikiye katlar. Kod kanıtı: paket adı sezona kilitli (`src/lib/credits.ts:7`), footer ürünü reddedilmiş kategoriyle adlandırıyor (`src/components/site-footer.tsx:48`) — ikisi de addan bağımsız, ayrı işler. Dış pazar kaynakları marka ajanının açtığı sayfalardan (`03-marka-ve-odeme.md` §1.1–1.5), CEO tarafından bağımsız doğrulanmadı.
- Yerine geçtiği karar: —
## 2026-09-22 — Sıfır ödemede sıra: önce kasa, sonra söz, sonra önizleme; fiyat ve maske açılmıyor
- Karar: (1) Bilal canlıda tek bir uçtan uca ödeme yapar ve aynı yayında `odeme_hata {kod}` olayı eklenir (G2, backlog #7). (2) Paket vaadi kodla eşitlenir: paketli kullanıcıdan liste/revizyon kredisi alınmaz — `spendCredits` çağrısı kaldırılmaz, tutarı 0'lanır; iade dalı da koşullanır (G3). (3) `/sonuc` ilk ekranı: tadımlık tablonun üstüne çıkar, boş harita placeholder'ı kalkar, tadımlık CTA'sı `/listem?uret=1`'e gider ve "24 satırın tamamı" iddiası kalkar (G1; gündüzki P5 + ürün yöneticisinin Ö4/Ö5'i tek pakette). (4) "Paketi sonra alırsın." cümlesi kalkar ve `/giris`'e `/paket` callback'i için üçüncü metin dalı gelir (G5). Fiyat (299 TL), deneme maskesi (3 satır), taksit, ikinci paket ve paket adı bu hafta AÇILMIYOR.
- Yetki: [KARAR] (G1, G2, G5 ve G3'ün uygulaması) · [BİLAL] (G3'ün paket içeriği kararı — veto edilmezse uygulanır; fiyat/maske)
- Gerekçe: 30 günde paywall'a 2 kişi geldi, `odeme_baslatildi` 60+ iken `/odeme` görüntülemesi 0 (`04-sifir-odeme-teshisi.md` §1-2). Fiyat/maske kararı n=2 üzerine kurulur ve geri alınması müşteride kötü görünür. Paket "60 danışman sorusu" diyor, kodda en çok 51 kalıyor (`paket-satinal.tsx:36-41`, `credits.ts:7,14,17`, `rapor-actions.ts:118-124`) — ödeyen 0 kişi olduğu için düzeltmenin en ucuz anı bugün. G3'ün kritik kısıtı: `spendCredits`'in ledger'daki UNIQUE `refId`'si üretimin tek idempotency çapası; çağrı atlanırsa paketli kullanıcı aynı `requestId` ile üretimi tekrar tetikleyebilir.
- Yerine geçtiği karar: 2026-09-22 — Sevk sorunu… (P5 maddesi G1'de birleştirildi)
## 2026-09-22 — Ödeyen veli, kullanan öğrenci; ama bu hafta akış değişmiyor
- Karar: Ürünün ödeyicisi veli kabul edilir. Bu hafta yapılan tek adım kodsuzdur: `content/rehber/veliler-icin-tercih-rehberi.md` gövdesine veliye hitap eden kapanış paragrafı ve doğru bağlantı eklenir. "Listeyi veline gönder" düğmesi + veli e-postası, veli sayfası ve ödeme akışında veli yolu PRD'ye alınır; hedef pencere en geç Nisan 2027.
- Yetki: [KARAR] (erteleme + içerik adımı) · [BİLAL] (veli ödeme yolu, 2027 öncesi)
- Gerekçe: `docs/urun/vizyon.md:36` veliyi ödeyici sayıyor ama kodda "veli" iki yerde ve ikisi de aynı özellik satırı (`src/app/page.tsx:197`, `paket-satinal.tsx:36`); veliye verilen tek söz olan PDF tamamen ödemenin arkasında (`rapor-yazdir.tsx:28`). Veli e-postası üçüncü kişi verisidir (KVKK onay metni + yeni şablon = M boy) ve sezon dışı hacimde ölçülemez. Ayrıca bütün rehber yazılarının altına aynı öğrenci CTA'sı basılıyor (`rehber-makale.tsx:112-116`), yani veli yazısı bugün veliden kendi sıralamasını istiyor.
- Yerine geçtiği karar: —
## 2026-09-22 — İçerik hattı: haftada 4 yazı, rakam yeniden üretim kapısı, ilgili yazılar düzeltmesi
- Karar: (1) Hız haftada 4 yazı; dalga başına en çok 5 paralel yazar; bir dalga editör geçişinden geçmeden sonraki dalga başlamaz; dalganın en çok yarısı DB rakamına dayanır. (2) YAYIMLANMAZ kriteri: rakam yazının kendi filtresiyle yeniden üretilemiyorsa; yöntem kutusu yoksa; açılamayan kaynağa dayanan cümle varsa; vaat/istihdam dili varsa; kanibalizasyon ayrım cümlesi ilk 200 kelimede yoksa; teknik asgari (3 frontmatter alanı, mermaid + `%% aria:`, ≥1 tablo, ölü iç link yok) sağlanmıyorsa. Yazar raporuna tam SQL'ini yazar, editör dalga sonunda yeniden koşar. (3) Bu gecenin 10 yazısı "editörden geçmek koşuluyla" onaylı; hiçbiri editör turu öncesi yayına girmez. (4) Sonraki dalganın 4 konusu: `ayni-bolum-farkli-universite-siralama-farki`, `hangi-bolumlerin-kontenjani-azaldi`, `rehber-ogretmenler-icin-veri-kaynaklari`, `bolumumu-sevmedim-hangi-kapilar-var`. (5) `netler` (program bazlı net) verisi yayımlanır — koşul: yıl etiketi zorunlu (2026 net verisi yok), çerçeve "son yerleşen kişinin netleri" (planın "yerleşenlerin ortalaması" ifadesi yanlıştır), 5 satır YÖK Atlas'tan gözle teyit. (6) `/il/*` bağımlı yazı (#18) ve vakıf burs etiketi kırılımına dayanan yazılar veri temizliği çıkana kadar yazılmaz.
- Yetki: [KARAR]
- Gerekçe: Kurucunun bu vardiya için tek ana çıktısı yazı çoğaltmak ve bu, ~95 ziyaret/haftalık hacimde ölçülebilir getirisi olan tek büyüme kaldıracı (AI gösteriminde ilk 10'un 7'si rehber yazısı, `docs/geo/geo-raporu.md` §8.1.1). Kapı gerekli: bu gece yazılan üç yazıda rakamlar kendi belirttikleri yöntemle yeniden üretilemedi — `bilgisayar-mi-yazilim-muhendisligi-mi.md:7,66` "56 üniversitenin 54'ü" (yeniden koşum: 57/55), `kktc-universiteleri-okunur-mu.md:81,212` "ÖSYM ile birebir aynı" (bizim DB: 12.912/7.849 ve 4.637/3.537), `siralama-bandlari-hangi-kapilar-acilir.md:7` 9.304/271/81 (yeniden koşum: 9.482/277/84). Aynı yazıların program/kontenjan tabloları ve SEO planının bütün omurga rakamları birebir tuttu — sorun yöntem cümlesinin rakamı yeniden üretmeye yetmemesi.
- Yerine geçtiği karar: 2026-09-22 — Sevk sorunu… ("bu tur yeni rehber yazısı onaylanmadı" satırı; kurucu brief'i 22 Eyl gece bunun üstüne geçti)
## 2026-09-22 — `/rehber` ölçek borcunun P0 yarısı bu turda kapanır
- Karar: `kume:` opsiyonel frontmatter alanı eklenir, makale altındaki "Diğer rehber yazıları" önce aynı kümeden seçilir ve `/rehber` sayfa başlığı sezon-bağımsız olur (G4, dal `icerik/rehber-ilgili-yazilar`). `/rehber` index'inin küme başlıklarıyla gruplanması ve mevcut 42 yazıya küme etiketi dağıtılması sonraki tura bırakıldı.
- Yetki: [KARAR]
- Gerekçe: SEO T33 doğru teşhis koydu ama yanlış yeri P0 ilan etti: `/rehber` düz bir duvar olsa da kullanılabilir; asıl kırılan yer `rehber-makale.tsx:45-47` — `getAllRehberler().slice(0,4)` tarihe göre sıralı olduğu için 42 (yakında 52) yazının HEPSİ aynı 4 yeni yazıya link veriyor, iç link grafiği çöküyor. Alan, yazılar teslim edilirken eklenirse ikinci elden geçirme olmaz.
- Yerine geçtiği karar: —
## 2026-09-22 — `/paket` girişsiz CTA kararı açılmıyor; yalnız erteleyen cümle kalkıyor
- Karar: `/paket` girişsiz ziyaretçinin birincil butonu ("Giriş yap — ilk 3 tercihini ücretsiz gör") 21 Eylül kararı gereği AYNEN kalır; yalnız altındaki "Paketi sonra alırsın." cümlesi kaldırılır ve `/giris`, `/paket` callback'i için üçüncü bir metin dalı alır (G5).
- Yetki: [KARAR]
- Gerekçe: Ürün yöneticisinin Ö2(a) önerisi bir günlük kararın geri alınması anlamına geliyor; gerekçe olarak gösterilen 24 Ağustos kullanıcısı o karardan ÖNCEKİ sürümü gördü (`git show 95bc87e`), yani yeni kanıt yok (PROTOKOL: verilmiş karar yeni kanıt olmadan açılmaz). "Paketi sonra alırsın." ise kararın metni değil, satın almayı aktif olarak erteleten bir alt satır (`paket-satinal.tsx:141-143`).
- Yerine geçtiği karar: —
## 2026-09-22 — P1–P4 merge edildi; kabul kriteri düzeltmesi
- Karar: P1–P4 vardiya sırasında `main`'e alındı (faba6f4, 001440a, d720e18, 84fc88e — 22 Eyl 01:38); push edilmedi, `main` `origin/main`'in 18 commit önünde. P1'in gündüz yazılan kabul kriteri hatalıydı ve düzeltildi: doğru ölçü `grep -rn "bitmeden yerini al" src/` (cümle JSX'te satır sonuna bölündüğü için "Tercih dönemi bitmeden" araması hiçbir zaman eşleşmiyordu). Düzeltilmiş ölçüyle P1 geçiyor (main=2 → dal=0). P1 dalının kapsamı `src/lib/sezon.ts` (tek kaynak sezon takvimi + `BANT_METNI`) ile aşıldı; markanın "4 sezon için tek metin şeması" isteğinin altyapısı olduğu için onaylandı, tek amaçlı paket kuralının bu kez esnetildiği kayda geçiriliyor.
- Yetki: [KARAR] (kriter düzeltmesi, kapsam onayı) · [BİLAL] (build + push; bant metni A/B seçimi — commit 4034f03)
- Gerekçe: `git log`/`git grep` doğrulaması, 22 Eylül 2026 gece vardiyası.
- Yerine geçtiği karar: 2026-09-22 — Sevk sorunu… (P1 kabul kriteri)