Files
kolaytercih/docs/ekip/KARARLAR.md
2026-09-21 23:15:47 +03:00

122 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)