# 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 — - Karar: … - Yetki: [KARAR] | [BİLAL] (Bilal onayladı / bekliyor) - Gerekçe: … (kanıt: rapor/dosya:satır) - Yerine geçtiği karar: — | ``` ## 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)