All checks were successful
Deploy / deploy (push) Successful in 7m12s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
32 KiB
32 KiB
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_eklendiserisi 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
garantikalı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, envanter10-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-denetcisikoş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'ninredirect()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.tsyorumu). - 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-katalogvegece/p4-epostadenetimden geçerse onay dalına eklenir. Yanıt adresidestek@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.tsxeski yorumu). - Yerine geçtiği karar: —
2026-09-21 — 2026 yerleştirme verisi çekilir
- Karar:
veri-muhendisi2026 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.mdT8). - Yerine geçtiği karar: —
2026-09-21 — Yayın kaydı: onay paketi canlıya gönderildi (8f4669e)
- Karar:
maina834f5f→8f4669epush 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_eklendibu tarihten önce "+ tıklaması", sonrası "gerçek ekleme";cta_form_goruntulendiartık/bolumsayfaları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
paiddamgası 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ı / eskipendingsipariş 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.tsyaması + okuyan taraftaki yıl sabitleri + kodu değişen programların çift satırı — tek iş. (6) Prod'dapnpm tadimlik --force(prompt değişti). - Yetki: [BİLAL] (bekliyor)
- Gerekçe:
guvenlik-uyumödeme denetimi B1–B4,veri-muhendisi2026 keşfi,kod-denetcisibulgu 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)
odemeyiSonuclandirkrediyi yazıp sonrapaiddamgalar; deftersiz eskipaidsipariş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/sonuciade kartı +/kosullar#iadeparagrafı, "en geç 14 gün"). Haftalık mutabakat sorgusudocs/odeme/iyzico.md'de. Yayın:024a2a4(21 Eylül 2026). - Yetki: [BİLAL] (Bilal onayladı)
- Gerekçe:
guvenlik-uyumB1–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, dalveri/2026) → P-B okuyan taraf ∥ P-C metin+şema (yazilimci). Çift satır, sorgu koşuluyla değil DB inşasındaprograms_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-muhendisikeş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 listesiseo-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ıksiraGecmisidizileri 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/universitesayfası 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-entegrasyondalı kod denetimi temiz çıkınca ve build push edilecek commit'te doğrulanıncamain'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-entegrasyon21 Eylül 2026 18:51'demain'e alındı (d275e4d), ardından49683fa(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ızkod-denetcisituru yarıda kesildiği için YAYIN SONRASI denetim olarakorigin/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-denetcisiorigin/main @ 49683faiçin "canlıda kalabilir, geri alma gerekmez" dedi (kritik 0, yüksek 2, orta 2, düşük 2). Hazırlanan paketfix/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)sunucuylaBirlestirriskleri 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 kimliklerprograms_arsiv'e kopyalandı,refreshartık kimlik uyuşmazlığında yazmadan duruyor,veri-kalite'de kimlik kontrolü). 3/bolumsayfası 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:kategoriBulham isme regex uyguladığı için ek metni sihirbaz kategorisine sızıyor; öncekategoriBulbaz ada geçirilmeli, sonrarefresh --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-denetcisiraporu (B1–B6) veveri-muhendisikimlik 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_havuzu0 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'dapnpm tadimlik --forcemaddesi böylece kapandı; tadımlık için LLM koşusu varsayılan yol değildir. (2) Prodorders: 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 @ 75fc12dpush 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)/paketgiriş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); prodordersvetadimlik_havuzusorguları (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 --forcemaddeleri)
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), P2liste_uretim_basladiolayı (olcum/liste-uretim-basladi), P3 + ölü ucu (funnel/arti-olu-ucu), P4 girişli kullanıcıya kalıcı/listemgiriş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
/listemlinki 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ı doldurtupprofilTamamlandi'nınnulldalında bırakıyor (src/features/liste/components/program-ekle-butonu.tsx:82,liste-cekmecesi.tsx:293,use-tercih-profili.ts:346, toasttercih-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 (/sonucsı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/sonucH1'i (src/app/sonuc/page.tsx:98-102arası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: —
2026-09-22 — Gece vardiyası Tur 2: bu gece 4 iş onaylandı, gerisi reddedildi
- Karar: Sezon dışı + okunamaz örneklem (801 temiz oturum, 3 liste üretimi, 5 kilit görüntüleme, 0 tamamlanmış ödeme) gerçeğiyle bu gece yalnız dört iş onaylandı; dördü de "yanlış olanı düzelt" ya da "ölç" sınıfında, hiçbiri deney değil. P1
gece/0922-risk-etiketi, P2gece/0922-unitur-kacagi, P3gece/0922-urap, P4gece/0922-olcum. Push ve merge yok. - Yetki: [KARAR]
- Gerekçe: Bilal'in gece ölçütü ("kolay akış, gereksiz şey yok, over-engineering yasak") +
01-analitik.md§2/§4 örneklem büyüklükleri; ayrıntıdocs/gece-vardiyasi/2026-09-22/06-ceo-kararlari.md. - Yerine geçtiği karar: —
2026-09-22 — Riskin adı satırda yazıyla görünür (P1)
- Karar:
/sonucprogram tablosunda risk göstergesine metin etiketi eklenir (RISK_ETIKET, tek kaynaksrc/lib/risk.ts);/listem'de etiketinsr-only sm:not-sr-onlysınıfı kaldırılır, mobilde de görünür. Yeni bileşen/sabit/olay yok. Dal:gece/0922-risk-etiketi. - Yetki: [KARAR]
- Gerekçe:
AGENTS.mdrisk dili kuralının iki ihlali —src/features/liste/components/program-tablosu.tsx:306-314risk yalnız renkli nokta vearia-hidden,RISK_ETIKETo dosyada hiç kullanılmıyor;src/features/rapor/components/rapor-listesi.tsx:267etiketi 390px'te gizliyor (trafiğin ~%90'ı mobil). Aynı zamanda01-analitik.mdönceliği #1'in ("karar veren bilgi tıklamasız görünsün") nedensellik iddiası gerektirmeyen parçası. - Yerine geçtiği karar: —
2026-09-22 — Sihirbaz havuzundaki unitur sızıntısı kapatılır (P2, BACKLOG #9)
- Karar: Kıbrıs Amerikan, Uluslararası Balkan ve Uluslararası Saraybosna için 100 satır
unitur+ 26 satırildüzeltilir;scripts/unitur-onar.ts'e NULL koşulsuzKURUM_DUZELTharitası,scripts/veri-kalite.ts'e "baz ad başına tekunitur" kontrolü eklenir. Kod vedata/yokatlas.dbbinary'si AYRI commit'ler. Kapsam dışı:ilboş 19 satır, B4 burs/dil adları,kategoriBul. Dal:gece/0922-unitur-kacagi; merge [BİLAL]. - Yetki: [KARAR] (uygulama) · [BİLAL] (merge, bekliyor)
- Gerekçe:
src/lib/db.ts:79-82devlet filtresiunitur='DEVLET', vakıf filtresiunitur<>'DEVLET'→ öğrenci "devlet" dediğinde havuza 27 program sızıyor, "vakıf" dediğinde aynı 27'si eksik kalıyor. Kök neden ilk CSV ingest'inde (05-urap.md§6.2);unitur-onar.ts'in çelişki koruması tam ad üzerinden çalıştığı için aynı kurumun iki yazımı çelişki sayılmıyor. - Yerine geçtiği karar: —
2026-09-22 — URAP yerleşimi: "Tür" kartıyla takas; uyarı ve atıf ayrı kaynak satırında (P3)
- Karar:
/universite/[slug]metrik ızgarasında "Tür" kartının yerine URAP kartı gelir (başlık +18 / 198+2025-2026); ızgara 4 kart kalır, şablon değişmez. Metodoloji uyarısı ve atıf karta değil, tablonun altındaki AYRI ikinci kaynak satırına girer —VeriKaynagikullanılmaz/kopyalanmaz (dönemi ve tarihi başka). Kanonik cümle: "URAP Türkiye Sıralaması 2025-2026 (198 üniversite arasında) — akademik yayın ve araştırma performansını ölçer; eğitim kalitesini ya da iş bulma oranını ölçmez." URAP'ta olmayan 31 kurumda kart çizilmez ve "Tür" yerinde kalır (hiçbir sayfada "—" ya da delik yok), eksiklik alttaki kaynak satırında tek cümleyle söylenir. Atıf şartı pazarlık dışı: gerçek<a href>,rel="noopener", yeni sekme, nofollow yok, adresURAP_KAYNAK_URLsabitinden; URAP sayısının göründüğü her yüzeyde aynı ekranda bulunur, link konulamayan yüzeyde (OG görseli) sayı gösterilmez. Uygulama:src/lib/urap-siralama.ts198 satırlık sabit (uni-koordinatlar.tsdeseni) +katalog.tsokuma katmanı +veri-kalite.ts5 kontrol. Yeni DB dosyası, göç, cron ve çekme betiği YOK. Dal:gece/0922-urap; yayın [BİLAL]. - Yetki: [KARAR] (uygulama) · [BİLAL] (yayın, bekliyor)
- Gerekçe: Bilal'in izni (brief §4) +
05-urap.md§2 (198/198 birebir slug eşleşmesi, ek normalleştirme kuralı gerekmiyor) +02-tasarim.md§6-A (kart sayısı artmıyor; "Tür" üç yerde daha var) +03-acilar-ve-rakipler.md§5 (tablo gürültü, tek satır ilaç; URAP metodolojisi forumda eleştiriliyor)./universite/*en kalabalık yüzey (01-analitik.md§1: 405 mobil oturum). - Yerine geçtiği karar: —
2026-09-22 — URAP bu sürümde yalnız üniversite sayfasında yaşar
- Karar: URAP sayısı 24'lük liste satırına,
/sonuctablosuna,/universitelerhub'ının sıralama/filtresine ve LLM prompt'una GİRMEZ. "En iyi üniversiteler" listesi/başlığı yapılmaz, URAP'a göre program sıralanmaz, renk dili uygulanmaz (URAP risk dili değildir).06-uni-veri.md'deki 8 göstergenin hepsinin birden kutu alması reddedilir. - Yetki: [KARAR]
- Gerekçe:
02-tasarim.md§6 (aynı üniversite listede 3 kez geçerse sayı 3 kez tekrarlanır; 8 gösterge = 8 kutu = istemediğimiz tablo yığını),03-acilar-ve-rakipler.md§5 ("öznel sıralama yok" ilkesi),04-liste-maliyet-ve-oneriler.mdöneri 5 reddi (metin diyeti,rapor.ts:83). - Yerine geçtiği karar: —
2026-09-22 — İki ölçüm deliği kapatılır; sihirbaz_adim serisi kırılır (P4)
- Karar: (1)
sihirbaz_adim{adim:1}modal açılışında tam bir kez atılır (bugün yalnız ileri geçişte atıldığı için 1. adım hiç düşmüyor). (2) Kaynaksız 10/paketlinkine?kaynak=eklenir. Görsel değişiklik yok. Dal:gece/0922-olcum. Ölçüm notu: bu dal yayına girdiği tarihten öncekisihirbaz_adimserisinin paydası farklıdır; öncesi/sonrası karşılaştırılmaz (21 Eylül'dekiprogram_eklendinotuyla aynı mantık). - Yetki: [KARAR]
- Gerekçe:
01-analitik.md§5 delik #1 ve #2;sihirbaz-adimlar.tsx:205(if (yeniAdim > adim)) ve 14/paketlinkinin 10'unda kaynak parametresi yok (koddan doğrulandı; analitiğin "10/16" sayısı 10/14'tür). - Yerine geçtiği karar: —
2026-09-22 — Net/OBP verisinin vitrine çıkarılması: yön doğru, bu gece uygulanmaz
- Karar: "Net detayını açan oturum 3 kat daha çok sıra giriyor" bulgusu üzerine katalog satırı YENİDEN TASARLANMAZ; bulgunun korelasyon olduğu (ters nedensellik) kabul edilir. Pazarlama cümlesi ("YÖK Atlas'ın kaldırdığı son yerleşen netleri bizde duruyor") iki doğrulama gelmeden yayına GİRMEZ: (a) YÖK Atlas'ta verinin bugün gerçekten olmadığının ekran teyidi, (b) arşiv verisini yayımlamanın uygunluğu. Ayrıca cümlede yıl aralığı ZORUNLU:
netlertablosu 2023–2025'i kapsar, 2026'yı kapsamaz (sqlite: 21.341 / 20.813 / 20.821 satır). Net butonunun görünür etiket kazanması da aynı doğrulamaya bağlandı — iki kez yapmamak için. - Yetki: [BİLAL] (bekliyor)
- Gerekçe:
01-analitik.md§1 (GA'lar ayrışıyor ama niyet değişkeni kontrol edilmemiş),03-acilar-ve-rakipler.md§4 doğrulama notu (kaynak: şikâyet + köşe yazısı; resmî duyuru bulunamadı),program-netleri.tsx:101-102(buton yalnızListChecksikonu +sr-only). Protokol kuralı 9: doğrulanmamış rakam/atıf yayına giremez. - Yerine geçtiği karar: —
2026-09-22 — Sezon bandının kaldırılması reddedildi (K1)
- Karar:
site-top-banner.tsxsezon dışında da çizilmeye devam eder. Tasarımcının K1 kesimi reddedildi. - Yetki: [KARAR]
- Gerekçe: Bilal bu bandın sezon-dışı metnini 22 Eylül 01:38'de iki alternatif arasından bizzat seçti (
84fc88e, dalbilal/sezon-bant-metni-B) ve "375 px'te alt satıra taşar" bedelini commit mesajında açıkça kabul etti.02-tasarim.mdK1'in kanıtı "koddan çıkarım" bir piksel tahmini; verilmiş kararı bozacak yeni kanıt değil. - Yerine geçtiği karar: —
2026-09-22 — K2, K3, K4 ve yapay zekâ B-önerileri bu gece reddedildi
- Karar: Reddedilenler: K2 (
/sonucboş harita kutusu), K3 (iki giriş panelinden biri), K4 (kilitli satırların tek tek açılması), S1–S8, R3–R11, vaat dili regex denetimi + kurtarma ölçümü, B-1 (tek cümleyle sihirbaz ön-doldurma), B-2/B-3 (hazır çipler), B-4 (veliye e-posta paragrafı), marka'nın "ücretsiz yolu da var" cümlesi,kosullar/page.tsx:15yorumunun silinmesi. K4, K2, R7, R11 ve rehber kaydırma olayı backlog'a önerildi (BACKLOG'a dokunulmadı, sahibiurun-yoneticisi). - Yetki: [KARAR]
- Gerekçe: K3 için tasarımcının kendi notu ("hangisinin kalacağını rakam belirlemeli",
02-tasarim.md§8) ve kesimin koşullu olması; K4 için izleyici sayısı (tüm zamanlarda kilidi gören 5 gerçek oturum); vaat dili filtresi ve eval için üretilmiş toplam 3 liste; B-1 için sihirbazda kopma olmaması (adım 2→3 geçişi %96,9, tamamlama %80,6); B-4 için tamamlanmış ödeme sayısının sıfır olması. Onaylanan iş = Bilal'in inceleme borcu; bir turda dörtten fazlası onaylanmaz. - Yerine geçtiği karar: —
2026-09-22 — Üç rapor iddiası koddan yanlış çıktı; düzeltmeler kayda geçer
- Karar: (1) "
/bolum/[slug]detayındaCtaSiraFormhiç yok" iddiası YANLIŞ — form var ve üstte (bolum-icerik.tsx:267konum="ust",:297konum="alt"); üniversite tarafında da tablonun üstünde (universite-icerik.tsx:290,:352), analitiğin "tablonun altında" notu da yanlış. Analitik önceliği #4 düşürüldü. (2) "/paketsayfasında iade politikası hiç görünmüyor" iddiası YANLIŞ —paket-satinal.tsx:96'da "Paketi al" butonunun hemen altında/kosullar#iadelinki var; konu kapandı. (3)kosullar/page.tsx:15'teki "MVP taslağıdır" bir JS yorumudur, kullanıcıya render edilmez; silinmesi için iş açılmaz. Satıcı kimliği eksikliği ayrı bir konudur ve 21 Eylül kararıyla ertelenmiş durumdadır, yeniden açılmadı. - Yetki: [KARAR]
- Gerekçe: Bu vardiyada CEO'nun kod doğrulaması (
06-ceo-kararlari.md§2, satır 4, 14, 15). - Yerine geçtiği karar: —
2026-09-22 — "/sonuc parametre şişmesi" bulgusu düşürüldü
- Karar: 2026-09-21 turunda CTO listesine giren "/sonuc parametre şişmesi" maddesi kapatılır; iş açılmaz.
- Yetki: [KARAR]
- Gerekçe:
01-analitik.md§2 — dünkü "143 oturumda 1.602 görüntüleme" iç trafik eseriymiş; gerçek kullanıcıda/sonucmedyanı 1 sayfa görüntüleme, 37 sn (30 gerçek oturum). - Yerine geçtiği karar: 2026-09-21 turundaki CTO maddesi (parametre şişmesi)
2026-09-22 — Bilal'e giden altı karar (tavsiyelerle, bekliyor)
- Karar: (1) Sihirbazın 3. adımındaki "Öncelikler" 7 çipi kalksın mı — tavsiye: kalksın;
huni-semasi.tsxbu adımı zaten anlatmıyor,01-analitik.md§3'e göre tamamlayanların çoğu hiç seçmiyor (20/29, GA %51–83),04-liste-maliyet-ve-oneriler.md§1 listenin yapısını kodun kurduğunu gösteriyor; alan tipte geriye uyumlu bırakılır. (2) Liste üretimi paketsiz kullanıcıya ücretsiz olsun mu — tavsiye: evet; kredi bir maliyeti karşılamıyor, asıl paywall (maskeleme) değişmiyor, kötüye kullanım kullanıcı başına günlük sınırla kapanır (uretimKilidiAl,9bd448b). "Veri bekleyelim" seçeneği elendi: karar ekonomiyle veriliyor, örneklem Kasım'dan önce okunur hâle gelmiyor. (3) URAP paketinin yayını + izin e-postasınındocs/altına konması. (4) P2uniturdüzeltmesinin merge'i. (5) Net/OBP vitrin cümlesi için iki doğrulama. (6) Rybbit panelinde iç trafik filtresi + Web Vitals (yayın sonrası trafiğin %70'i iç;01-analitik.md§6). - Yetki: [BİLAL] (altısı da bekliyor)
- Gerekçe:
docs/gece-vardiyasi/2026-09-22/06-ceo-kararlari.md§5. - Yerine geçtiği karar: —
2026-09-25 — Kişiselleştirme: güncellik kuralı, v1/v2 ayrımı, profil tasarımı
- Karar: (1) Güncellik kuralı: yılı gösterilemeyen ya da üç yıldan eski veri ürüne girmez; ÜNİ-VERİ (2014-2019 mezunları) elendi, "İş bulma kolaylığı" ve "Yüksek maaş" çipleri güncel kaynak bulunana kadar kalkar. (2) v1 (main): küçük veri işleri — kadın/erkek oranı üniversite sayfasında bilgi satırı (
05402f9); filtre ya da çip yapılmaz. (3) v2 (dalv2, worktree../kolaytercih-v2): YÖK Atlas API ek alanları (program_ozellik), danışman araçları, kapalı listeli profil, havuzun profili süzmesi. (4) Sihirbaza şimdilik soru eklenmez; tercihler danışmanda toplanır. (5) Geçiş (Ek Madde-1) soran öğrenciye danışman kapısı açılmaz; ayrı sayfa olur. DGS sonraya. (6) Profil kapalı liste (7 alan), serbest metin yok; cinsiyet/sağlık/gelir sorulmaz; profil yalnız liste üretimi ve danışman aramasında kullanılır, pazarlamada kullanılmaz; kayıt öncesi "kaydedeyim mi?" onayı (PROFIL_ONAY_SOR). - Yetki: (1)-(5) [BİLAL] (25 Eyl sohbeti); (6) [KARAR] — hukuk araştırmasının C.3 maddelerine dayanır, onay adımının bedeli (bir kredi) Bilal'e sorulacak.
- Gerekçe:
docs/arastirma/2026-09-25-kisisellestirme/README.md§0, §8;hukuk-ve-rakipler.mdC.3/10-13. - Yerine geçtiği karar: 2026-09-22 "Bilal'e giden altı karar" (1) — öncelik çiplerinin kaldırılması: iki çip kalkar, diğerleri veriye bağlanana kadar durur (Dalga 3).
2026-09-25 — Gizlilik metni kodla çelişiyordu; yurt dışı aktarım dayanağı Bilal/avukat kararı
- Karar: Gizlilik metnindeki "Anthropic (ABD)" ifadesi yanlıştı (kod: OpenRouter → DeepSeek). v2 dalında metin koda eşitlendi, profil satırı, amaç+hukuki sebep, saklama süreleri, md. 11 hakları ve 18 yaş altı notu eklendi; giriş kartında gizlilik "okudum", koşullar "kabul" oldu. Açık kalanlar: veri sorumlusu unvan/adres; yurt dışı aktarımın dayanağı (Türkiye'de model mi, Kurul standart sözleşmesi mi — açık rıza yolu sürekli aktarım için 2024'ten beri kapalı); saklama süresi sayıları; OpenRouter'da eğitimde-kullanma/saklama ayarı.
- Yetki: metin düzeltmesi [KARAR] (v2'de, merge Bilal'de); dayanak ve unvan [BİLAL] + avukat.
- Gerekçe:
hukuk-ve-rakipler.mdA.2, C.1, C.2 (31 kaynak; KVKK Yurt Dışına Aktarım Rehberi Ocak 2025; İlke Kararı 2026/347). - Yerine geçtiği karar: —
2026-09-26 — Profil onayı ücretsiz; model Türkiye'de barındırılacak
- Karar: (1) Danışmanın "Bunu profiline kaydedeyim mi?" sorusuna kısa evet/hayır cevabı kredi harcamaz (sunucu tarafında tespit: son danışman mesajında onay ibaresi + ≤40 karakter evet/hayır kalıbı; gerçek soru içeren "evet ama …" bedava geçmez). (2) Yapay zekâ modeli Türkiye'de barındırılacak; yurt dışı aktarım sorusu böylece kapanır. Kod hazır: sağlayıcı
AI_BASE_URL/AI_API_KEYile seçilir (v27042385). Aday sıralaması: LLMTR (bir günlük deneme) → baykAI (DPA yazılı) → EVREN (erişim sorulacak); ayrıntıdocs/arastirma/2026-09-25-kisisellestirme/turkiye-saglayici.md. Sağlayıcı seçilince/gizlilikaynı commit'te yeniden yazılır. - Yetki: [BİLAL] (26 Eyl sabaha karşı: "ücretsiz olsun, sunucu türkiyede")
- Gerekçe:
hukuk-ve-rakipler.mdA.2/C.1 (açık rıza yolu sürekli aktarım için kapalı; Türkiye'de model aktarımı hiç doğurmaz); onay adımı için C.3/10. - Yerine geçtiği karar: 2026-09-25 "Gizlilik metni kodla çelişiyordu" kaydındaki açık soru (aktarım dayanağı) — Türkiye'de model seçildi.