Files
kolaytercih/docs/ekip/KARARLAR.md
bilalgursen a97c65f5f8
All checks were successful
Deploy / deploy (push) Successful in 8m56s
fix(odeme): kredi ve paid damgaları akışını düzelt; çift paket iade akışını güncelle
- odemeyiSonuclandir fonksiyonu, kredi ve paid damgalarını doğru sırayla işleyerek sipariş durumunu günceller.
- iade akışında, paket tek seferlik kontrolü ve eski siparişlerin onarımı sağlandı.
- UNIQUE hatası için DrizzleQueryError mesajı güncellendi; callback geçici DB hatalarında yönlendirme yapıldı.
- krediKaydiVarMi indeksi ile haftalık mutabakat sorgusu optimize edildi.
2026-09-21 17:18:33 +03:00

104 lines
9.4 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)