Files
kolaytercih/docs/ekip/KARARLAR.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

17 KiB
Raw Blame History

Karar günlüğü

Yalnızca sona eklenir. Sahibi ceo ajanı (ve Bilal). Verilmiş karar silinmez; değişecekse yeni kayıtla, gerekçesiyle değiştirilir ve eskisine atıf yapılır. Kurallar: docs/ekip/PROTOKOL.md.

Kayıt biçimi:

## YYYY-AA-GG — <kısa başlık>
- Karar: …
- Yetki: [KARAR] | [BİLAL] (Bilal onayladı / bekliyor)
- Gerekçe: … (kanıt: rapor/dosya:satır)
- Yerine geçtiği karar: — | <tarih — başlık>

2026-09-21 — Onay dalı (entegrasyon/kararlar-0921) canlıya çıkar

  • Karar: + anında ekleme, YÖK logosu→tarihli satır, Armut fiyat kıyası (1.000–3.000 TL), "İş bulma kolaylığı" çipi, tadımlık olasılık dili ve Lenis'in kaldırılması yayına alınır; öncesinde bağımsız kod denetimi koşulur. Deploy tarihi buraya not edilir (Rybbit'te program_eklendi serisi o günden itibaren "gerçek ekleme"dir).
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: 82 kapı açılışının 77'si eklemeden döndü (gece vardiyası 2026-09-21, 01-analitik-bulgular, 11-ceo-kararlari-tur2 #12–13).
  • Yerine geçtiği karar: —

2026-09-21 — "Garanti" dilim etiketi "Güvenli" olur

  • Karar: Yalnız görünen etiket değişir; iç anahtar garanti kalır. "Güvenli · Güvenli" tekrarını önlemek için risk etiketi yalnız dilim varsayılanından farklıysa gösterilir. Dal: entegrasyon/guvenli-etiket.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: "Garanti vermiyoruz" ana vaadiyle çelişen tek kelime (05-ceo-kararlari #2, 11-ceo-kararlari-tur2 #2, envanter 10-marka-seo-tur2 §A).
  • Yerine geçtiği karar: —

2026-09-21 — Döngü 2 kodları bağımsız denetimden geçer

  • Karar: Yayından önce kod-denetcisi koşulur; kapsam onay dalı + p5 + commit'lenmemiş ödeme değişikliği.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: SABAH-OZETI §7 — döngü 2 dalları denetlenmemişti.
  • Yerine geçtiği karar: —

2026-09-21 — Ödeme butonu değişikliği tamamlanır

  • Karar: baslatOdeme'nin redirect() fırlatmak yerine hedef döndürmesi + SatinAlForm'un client'ta yönlendirmesi tamamlanıp denetimden sonra commit'lenir.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Geri dönen kullanıcıda butonun tıklamaya sağır kalması (docs/odeme/iyzico.md, odeme-actions.ts yorumu).
  • Yerine geçtiği karar: —

2026-09-21 — /hakkinda ve satıcı kimliği şimdilik ertelendi

  • Karar: Şimdilik yapılmıyor; sezon öncesi yeniden gündeme alınır.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Bilal'in önceliği değil (05-ceo-kararlari #5). Not: ödeme alındığı için satıcı bilgisi zorunluluğu riski açık kalıyor.
  • Yerine geçtiği karar: —

2026-09-21 — Hukukçu tutulmayacak; hukuki konular içeride çözülür

  • Karar: Ekim hukuki gözden geçirmesi iptal. Gizlilik/koşullar metni, kredi hatırlatma e-postasının ticari ileti sınıfı ve session replay konularını ekip (guvenlik-uyum) + Bilal kendisi kapatır.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Bilal'in kararı (05-ceo-kararlari #10, 11-ceo-kararlari-tur2 #16).
  • Yerine geçtiği karar: —

2026-09-21 — Katalog başlık paketi (P7) ve e-posta paketi (P4) yayına alınır

  • Karar: gece/p7-katalog ve gece/p4-eposta denetimden geçerse onay dalına eklenir. Yanıt adresi destek@kolaytercih.com (koddaki varsayılan; ayrı secret gerekmez).
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Derin katalog sayfalarında kopya başlık; giriş e-postasına yanıtların bounce olması (SABAH-OZETI §2, 04-mail-testi).
  • Yerine geçtiği karar: —

2026-09-21 — Şema fontu ücretsiz alternatifle değiştirildi

  • Karar: Sweet Cucumber Mocktail (yalnız kişisel kullanım) → Patrick Hand (SIL OFL). Commit 0400aa5.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Site ticari; lisans satın alınmayacak (el-cizimi-sema.tsx eski yorumu).
  • Yerine geçtiği karar: —

2026-09-21 — 2026 yerleştirme verisi çekilir

  • Karar: veri-muhendisi 2026 verisini resmî kaynaktan çeker; canlı DB'ye yazmadan önce kopya üzerinde kalite kontrolü yapılır.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Veri raporu, karne ve 2027 içerikleri buna bağlı (05-ceo-kararlari #11, docs/geo/geo-raporu.md T8).
  • Yerine geçtiği karar: —

2026-09-21 — Yayın kaydı: onay paketi canlıya gönderildi (8f4669e)

  • Karar: main a834f5f → 8f4669e push edildi (21 Eylül 2026). İçerik: + anında ekleme, tadımlık olasılık dili, YÖK logosu→tarihli satır, Armut kıyası, Güvenli etiketi, P4 e-posta, P7 katalog başlıkları, Patrick Hand şema fontu, ödeme butonu + çift paket koruması, denetim düzeltmeleri. Rybbit notu: program_eklendi bu tarihten önce "+ tıklaması", sonrası "gerçek ekleme"; cta_form_goruntulendi artık /bolum sayfalarında da atılır.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: İki bağımsız kod denetimi + ödeme güvenlik denetimi "yayına alınabilir"; build push edilen commit üzerinde temiz worktree'de geçti.
  • Yerine geçtiği karar: —

2026-09-21 — Açık kalanlar (denetimlerden; karar bekliyor)

  • Karar: (1) Ödemede paid damgası ile kredi yazımı ayrı transaction — araya kesinti girerse para çekilir kredi yazılmaz; sıra çevrilmeli. (2) Çift paket ödemesi olursa politika: otomatik iade mi, kredi mi. (3) baslatOdeme'de hız sınırı / eski pending sipariş temizliği. (4) iyzico'ya giden alıcı IP'sinin güvenilir başlıktan alınması (devops teyidi). (5) 2026 verisi: refresh.ts/detay.ts yaması + okuyan taraftaki yıl sabitleri + kodu değişen programların çift satırı — tek iş. (6) Prod'da pnpm tadimlik --force (prompt değişti).
  • Yetki: [BİLAL] (bekliyor)
  • Gerekçe: guvenlik-uyum ödeme denetimi B1–B4, veri-muhendisi 2026 keşfi, kod-denetcisi bulgu 6 (21 Eylül 2026 gündüz oturumu).
  • Yerine geçtiği karar: —

2026-09-21 — Ödemede önce kredi sonra paid; çift paket ödemesi iade edilir

  • Karar: (1) odemeyiSonuclandir krediyi yazıp sonra paid damgalar; deftersiz eski paid siparişler ilk ziyarette onarılır. (2) Zaten paketli kullanıcıdan gelen ikinci paket ödemesine kredi yazılmaz, tutar iade edilir; iade iyzico panelinden ELLE yapılır (destek@ kutusuna "İade gerekli" e-postası + senkron log + /odeme/sonuc iade kartı + /kosullar#iade paragrafı, "en geç 14 gün"). Haftalık mutabakat sorgusu docs/odeme/iyzico.md'de. Yayın: 024a2a4 (21 Eylül 2026).
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: guvenlik-uyum B1–B2 ve ikinci denetim (#1–#6); test sırasında drizzle'ın UNIQUE hatasını sarması yüzünden idempotent no-op'un hiç çalışmadığı bulundu ve düzeltildi.
  • Yerine geçtiği karar: 2026-09-21 — Açık kalanlar, madde (1) ve (2)

2026-09-21 — 2026 verisi tek iş olarak yüklenir (CTO şartnamesi)

  • Karar: P-0 sözleşme (src/lib/veri-yillari.ts, 38e02e0) → P-A betikler+DB (veri-muhendisi, dal veri/2026) → P-B okuyan taraf ∥ P-C metin+şema (yazilimci). Çift satır, sorgu koşuluyla değil DB inşasında programs_arsiv'e taşınarak çözülür. Rapor promptu son 4 yılı göndermeye devam eder. Kontenjan kırılımı 2026 kolonları eklenmez. Rehber yazılarındaki 2025 atıfları ayrı iş.
  • Yetki: [BİLAL] (iş onaylandı) · iki alt karar bekliyor: "son 6 yıl (2021–2026)" metni; kılavuzda olmayan ~2.800 eski satırın siteden kalkması (en çok 22 bölüm adı + 1 üniversite sayfası kapanır)
  • Gerekçe: cto şartnamesi, 21 Eylül 2026 gündüz oturumu; veri-muhendisi keşfi.
  • Yerine geçtiği karar: 2026-09-21 — Açık kalanlar, madde (5)

2026-09-21 — "Son 6 yıl (2021–2026)"; kılavuzda olmayan eski program kayıtları siteden kalkar

  • Karar: (1) Veri penceresi kaymaz, uzar: site "son 6 yıl (2021–2026)" der. (2) Son kılavuzda yer almayan ~2.800 eski program satırı DB inşasında programs_arsiv'e taşınır; aday havuzuna yalnız son kılavuzdaki programlar girer (meraklısına şeması aynı işte güncellenir). En çok 22 bölüm adı + 1 üniversite sayfası kapanır; kapanan slug listesi seo-geo'ya gider (404 mü yönlendirme mi).
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: cto şartnamesi madde 3–4; kayıtlı rapor/tadımlık siraGecmisi dizileri 2021'e demirli, pencere kayarsa eski kayıtlar yanlış yıla okunur; eski kod satırları öğrenciye tercih edilemeyecek program önerebiliyor.
  • Yerine geçtiği karar: 2026-09-21 — 2026 verisi tek iş olarak yüklenir (bekleyen iki alt karar)

2026-09-21 — Arşivleme gerçek sayılarla yeniden onaylandı; 2026 verisi denetimden sonra canlıya çıkar

  • Karar: Son kılavuzda olmayan 3.706 program satırı (tahmin 2.800'dü) programs_arsiv'e taşınır; 25 /bolum + 2 /universite sayfası kapanır (liste: veri-muhendisi P-A raporu; büyükleri spor-yoneticiligi 113, radyo-ve-televizyon-programciligi 70, uygulamali-ingilizce-cevirmenlik 47, spor-yonetimi 35; üniversiteler izmir-kavram-meslek-yuksekokulu, kibris-ilim-universitesi). veri/2026-entegrasyon dalı kod denetimi temiz çıkınca ve build push edilecek commit'te doğrulanınca main'e alınıp push edilir.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: Öğrenci kılavuzda olmayan programı tercih edemez; P-A kalite raporu (2025 ve öncesi değerler 0 fark, sira2026/sira2025 oranı %99,12 makul aralıkta).
  • Yerine geçtiği karar: 2026-09-21 — "Son 6 yıl (2021–2026)"; kılavuzda olmayan eski program kayıtları… (sayılar güncellendi)

2026-09-21 — Yayın kaydı: 2026 yerleştirme verisi canlıda (d275e4d, 49683fa)

  • Karar: veri/2026-entegrasyon 21 Eylül 2026 18:51'de main'e alındı (d275e4d), ardından 49683fa (kayıtlı manuel liste tabanlarının yeni veri yılına tazelenmesi + 4 rehber yazısında yıl metinleri) ile birlikte push edildi. Sitedeki taban sıraları, risk hesabı ve liste önerileri bu tarihten itibaren 2026 verisiyle çalışır; 3.706 eski program satırı arşivde. Geri dönüş noktası: 024a2a4 (2025 verili son sürüm). Not: merge ve push, asıl oturum kullanım sınırındayken başka bir oturumdan yapıldı; o oturumun denetimi 49683fa'daki bulguyu üretti. Asıl oturumdaki bağımsız kod-denetcisi turu yarıda kesildiği için YAYIN SONRASI denetim olarak origin/main @ 49683fa üzerinde sürdürülüyor.
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: git geçmişi (d275e4d, 49683fa); Bilal'in aynı günkü yayın onayı.
  • Yerine geçtiği karar: —

2026-09-21 — Yayın sonrası denetim: canlıda kalabilir; düzeltme paketi hazır (75fc12d, push bekliyor)

  • Karar: kod-denetcisi origin/main @ 49683fa için "canlıda kalabilir, geri alma gerekmez" dedi (kritik 0, yüksek 2, orta 2, düşük 2). Hazırlanan paket fix/2026-yayin-sonrasi @ 75fc12d (typegen+tsc+lint+build temiz): (B1) tadımlık örneği tabanı/geçmişi canlı DB'den okur, arşivlenmiş program örnek gösterilmez; (B3) sunucuylaBirlestir riskleri her zaman yeniler; (B2) kılavuz kodu başka programa devredilmiş 30 satırın kimliği onarıldı (29 devir + 1 ad değişimi; eski kimlikler programs_arsiv'e kopyalandı, refresh artık kimlik uyuşmazlığında yazmadan duruyor, veri-kalite'de kimlik kontrolü). 3 /bolum sayfası daha kapanır (taki-tasarimi, islam-bilimleri, endustri-yonetimi-muhendisligi — yalnız yanlış etiketli satırlardan oluşuyordu). B4 (8.631 satırda burs/dil ekli ad) UYGULANMADI: kategoriBul ham isme regex uyguladığı için ek metni sihirbaz kategorisine sızıyor; önce kategoriBul baz ada geçirilmeli, sonra refresh --isim-esitle.
  • Yetki: [BİLAL] (push onayı bekliyor) · ayrıca bekleyen: kapanan 27+3 sayfa için yönlendirme kararı; B4 için tek satırlık kategori düzeltmesi; prod'da pnpm tadimlik --force
  • Gerekçe: yayın sonrası kod-denetcisi raporu (B1–B6) ve veri-muhendisi kimlik onarımı raporu, 21 Eylül 2026.
  • Yerine geçtiği karar: —

2026-09-21 — Gece oturumu: tadımlık canlıya yüklendi; ödeme formu 17:00'den beri çalışıyor; beş karar

  • Karar: (1) Canlı tadimlik_havuzu 0 satırdı; dış modele gidilmeden elle yazılmış 522 satır (375 tekil gerekçe; risk notu ve trend koddan) konteynere node yükleyiciyle yüklendi — deploy tohumu yalnız ilk kurulumda kopyaladığı için tadımlık deploy'la taşınmaz. Prod'da pnpm tadimlik --force maddesi böylece kapandı; tadımlık için LLM koşusu varsayılan yol değildir. (2) Prod orders: 7 Ağu–12 Eyl arası ~100 siparişin hiçbiri iyzico token'ı alamamış (form hiç açılmamış); 24 Ağu ve 12 Eyl'deki iki gerçek kullanıcı bu yüzden kayboldu. 21 Eyl 17:00 diliminde 7/7 sipariş token aldı → fix(odeme) (8f4669e, 024a2a4) tuttu; uçtan uca tamamlanmış ödeme henüz yok, Bilal tarayıcıdan bir kez deneyecek. (3) fix/2026-yayin-sonrasi @ 75fc12d push edilir. (4) Kapanan 27+3 katalog sayfası benzer sayfaya kalıcı yönlendirilir (soft 404 yerine). (5) Ana sayfa karşılaştırma tablosu yeniden kurulur (ücretsiz robotların artık yapay zekâ sunduğu kabul edilir). (6) /paket girişsiz CTA "ilk 3 tercihini ücretsiz gör" olur. Açık: vakıf üniversitelerinin adıyla doluluk oranı yayımı (yazı sırası gelince).
  • Yetki: [BİLAL] (Bilal onayladı)
  • Gerekçe: docs/ekip-raporlari/2026-09-21/ 01 (QA), 03 (analitik §4), 04 (marka §7 #1–#2), 05 (SEO T1); prod orders ve tadimlik_havuzu sorguları (21 Eyl 2026 gece, Bilal sunucuda koştu).
  • Yerine geçtiği karar: 2026-09-21 — Yayın sonrası denetim… (bekleyen push onayı, yönlendirme kararı ve tadimlik --force maddeleri)

2026-09-22 — Sevk sorunu: sıra "önce çelişkiyi kaldır, sonra ölü ucu bağla", yeniden tasarım ertelendi

  • Karar: 22 Eyl gündüz oturumunda dört ajanın (analitik/tasarım/marka/yapay zekâ) tek soruya verdiği dört farklı "en yüksek etkili iş" önerisi şu sıraya kondu ve bu hafta 5 iş onaylandı: P1 sezon çelişkisi (icerik/sezon-celiskisi), P2 liste_uretim_basladi olayı (olcum/liste-uretim-basladi), P3 + ölü ucu (funnel/arti-olu-ucu), P4 girişli kullanıcıya kalıcı /listem girişi + giriş callback'i (funnel/listem-girisi), P5 tadımlık CTA'sının yanlış vaadi ve hedefi (icerik/tadimlik-vaat). Hepsi S; P2 önce merge edilir ve P3/P4 ile aynı yayında çıkar (payda olmadan huni değişikliği okunamaz). Sezon dışı olduğu için A/B yok, oran yok: kabul ölçüsü adet (haftalık olay sayısı).
  • Yetki: [KARAR] (P2, P3, P4; P1 ve P5'in yanlış/çelişkili cümleyi kaldıran kısmı) · [BİLAL] (P1'de bandın yeni sezon metni, P5'te tadımlık CTA'sının yeni cümlesi — ayrı [Bilal] commit'i olarak hazırlanır)
  • Gerekçe: Dört iddia da koddan doğrulandı — navbar'da /listem linki yok ve giriş callback'i "/" (src/components/site-header.tsx:8-38, src/features/kullanici/components/user-nav.tsx:45-64, src/features/kullanici/components/giris-karti.tsx:18-19); + kapısı sihirbazın 3 adımını doldurtup profilTamamlandi'nın null dalında bırakıyor (src/features/liste/components/program-ekle-butonu.tsx:82, liste-cekmecesi.tsx:293, use-tercih-profili.ts:346, toast tercih-profili-kapisi.tsx:238) ve bu, 30g'deki en büyük sıra kaynağı (14/28 olay, 01-ai-listesi-hunisi §1d); üst bant bugün "Tercih dönemi sona erdi" (src/components/site-top-banner.tsx:7-8,64) derken aynı sayfada CTA "Tercih dönemi bitmeden yerini al" diyor (src/features/pazarlama/components/hero-focus-button.tsx:45,65 — her iki dalda da); tadımlık CTA'sı "24 satırın tamamı için giriş yap" diyor ama maske 3 satır açıyor ve callback /sonuc'a düşüyor (tadimlik-satiri.tsx:111,186, src/lib/rapor-maske.ts:12).
  • Yerine geçtiği karar: —

2026-09-22 — /sonuc'ta LLM'siz 24 satırlık önizleme ve diğer yeniden tasarımlar bu hafta yapılmaz

  • Karar: Yapay zekâ mühendisinin "senin 24'lük iskeletin" önizlemesi (0 LLM, 04-uretim-engelleri §3), tasarımcının Ö2 (mobil katalog satırı), Ö4 (/sonuc sıralamasının tersine çevrilmesi) ve markanın H2/H3 (hero alt başlığı, katalog CTA metni) işleri ertelendi; sıradaki turda önce CTO şartnamesi yazılır. Ertelemeyen tek istisna /sonuc H1'i (src/app/sonuc/page.tsx:98-102 arasında bugün hiç <h1> yok) — gelecek turun ilk işidir. Deneme maskesinin gevşetilmesi (3→8 satır) gelir modeli kararıdır, Bilal'e bırakıldı.
  • Yetki: [KARAR] (erteleme) · [BİLAL] (maske/gelir kararı)
  • Gerekçe: Sezon 10 Ağu 2026'da kapandı; hız ~95 ziyaret/hafta ve haftada ~0,5 liste (01-ai-listesi-hunisi §5.1). Bu hacimde hiçbir oran makul sürede okunamıyor (§5.2: en iyi aday bile ~6 hafta, /listem→liste ~36 hafta) ve A/B her kolu 47 ziyaret/haftaya düşürür. Bu hafta onaylanan 5 iş "ölçülemeyecek deney" değil, koddan kesin gösterilmiş kusur ve çelişki düzeltmesidir. Kurucunun inceleme kapasitesi günde 1–2 saat (docs/urun/vizyon.md); onaylanan iş = inceleme borcu.
  • Yerine geçtiği karar: —