All checks were successful
Deploy / deploy (push) Successful in 17s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
119 lines
14 KiB
Markdown
119 lines
14 KiB
Markdown
# 23 Eylül vardiyası — orkestratör günlüğü
|
||
|
||
Başlangıç 07:25. Gerekçe: orkestratör 01:25'te kendi kararıyla durmuştu (limit değil), Bilal bunu eleştirdi. Bkz. `00-brief.md`.
|
||
|
||
## Tur 1
|
||
| Ajan | İş | Durum |
|
||
|---|---|---|
|
||
| veri-muhendisi | `programs_arsiv` etiket düzeltmesi (BACKLOG #21) | ✔ |
|
||
| tasarimci | CEO §6 açık soruları + URAP telafisi | koşuyor |
|
||
| yapay-zeka-muhendisi | Liste ücretsiz olursa kötüye kullanım eşiği (CEO §6) | koşuyor |
|
||
|
||
### veri-muhendisi ✔ → `01-arsiv-etiketi.md`
|
||
`programs_arsiv`'de 85 satır düzeldi (61 `unitur` + 24 `il`). Arşiv↔`programs` `unitur` farkı 2→0. Puan/sıra/kontenjan kolonlarında **0** değişiklik (45 kolon id üzerinden kıyaslandı). `veri-kalite` kontrol 13/14 artık arşivi de tarıyor; kusurlu DB'de ikisi de `KALDI` verdi, düzeltmeden sonra `GEÇTİ`. İdempotent. Commit'ler `9722689` (kod), `c5fd2cb` (veri), `178c56a` (entegrasyon merge) — build temiz.
|
||
**Kullanıcıya bugünkü etkisi yok** (`src/` tarafında arşivi okuyan SQL yok); düzeltme önleyici.
|
||
**Dünkü O1 rakam hatası kayda geçti ve bağımsız doğrulandı:** hub değişimi "170 → 166" değil, **132 → 129 kurum**; entegrasyon build'inin ürettiği HTML Devlet 129 / Vakıf 78 gösteriyor.
|
||
|
||
## Tur 2 (07:40) — Bilal "devam et" dedi
|
||
Vardiya içerik üretmeye de açıldı. **Ama ilk iş duplikasyon tuzağına çarptı:**
|
||
|
||
### ⚠️ BACKLOG bayat — dört yazı zaten yayında
|
||
BACKLOG #2 (KYK burs/kredi, "en geç 6 Ekim") ve #3'ün "bu hafta" üç yazısı (boş kontenjan yorumu, en çok öğrenci alan devlet üniversiteleri, en seçici devlet üniversiteleri) hâlâ `aday` görünüyor. Gerçekte dördü de yazılmış ve **`main`'e girmiş**: commit `e21cda4` (22 Eyl 2026), `git merge-base --is-ancestor e21cda4 main` ✔.
|
||
Dosyalar: `content/rehber/kyk-burs-mu-kredi-mi.md`, `bos-kontenjanlar-ne-anlatiyor.md`, `en-cok-ogrenci-alan-devlet-universiteleri.md`, `en-secici-devlet-universiteleri.md`.
|
||
Orkestratör "devam et" emriyle doğrudan yazı işine geçseydi dördü de yeniden yazdırılacaktı. **Ders: içerik işine başlamadan önce `content/rehber` ile plan karşılaştırılır; backlog durumu tek başına yeterli kanıt değil.**
|
||
Dün gece `urun-yoneticisi` backlog'u güncelledi ama bu dört maddeyi yakalamadı — kapanışları git geçmişinden değil, gece raporlarından okuduğu için.
|
||
|
||
### Koşan işler
|
||
| Ajan | İş |
|
||
|---|---|
|
||
| seo-geo | Plan ↔ `content/rehber` envanteri: ne yazıldı, ne kaldı, sırası ne |
|
||
| tasarimci | CEO §6 açık soruları + URAP telafisi (ilk kopya 600 sn takıldı, mekanik tarama orkestratörce hazırlanıp yeniden salındı) |
|
||
| yapay-zeka-muhendisi | Liste ücretsiz olursa kötüye kullanım eşiği hazırlığı (CEO §6) |
|
||
|
||
**Bilal'in 6 kararı hâlâ cevap bekliyor** — merge ve radikal değişiklik gerektirenler onlara bağlı, bu turda yapılmıyor.
|
||
|
||
### yapay-zeka-muhendisi ✔ (09:50) → `03-ucretsiz-liste-hazirlik.md`
|
||
Bilal "liste paketsize ücretsiz olsun" derse iş hazır. Özet:
|
||
- **Kilit bugün sayıyı korumuyor:** `uretim-kilidi.ts` kullanıcı başına *aynı anda tek* üretimi engelliyor (180 sn bayat kilit devri), ama kilit ~20 sn sonra bırakılıyor — ardışık üretimi durduran tek şey bugün kredi bakiyesi.
|
||
- **Önerilen eşik: kayan 24 saatte 5 başarılı üretim** (paketsiz). Bugün tüm zamanlarda 3 üretim var → eşik **0 kullanıcıyı vuruyor**; dürüst öğrencinin yeniden kurma ihtiyacı 3-4; tavanda 10,5 kuruş/kullanıcı/gün. Sayım yüzeyi mevcut `credit_ledger` — yeni tablo/göç yok.
|
||
- **Kredi çağrısı silinmemeli**, tutar `hasPaket ? 3 : 0` olmalı: 0 deltalı defter kaydı idempotency'yi (`UNIQUE(reason, ref_id)`), "önceki deneme başarısızdı" ayrımını ve günlük sayacı birlikte taşıyor. Yan etki: `kredi-hatirlatma.ts:36` eşiği `< RAPOR_KREDI` → `< 1`.
|
||
- **Revizyon kapsam dışı** — paketsiz zaten yapamıyor; "listem yanlış oldu" çıkışı tercih değiştirip yeniden üretmekten geçiyor ve o yol bu kararla zaten ücretsizleşiyor.
|
||
- Büyüklük **S**: 13 dosya ~67 satır, göç yok, yeni ekran yok, şema senkronu gerekmiyor.
|
||
|
||
### seo-geo ✔ (09:55) → `04-icerik-envanteri.md`
|
||
İki plan mükerrerler birleştirilince **18 konu: 8 yazıldı, 9 açık, 1 düştü.**
|
||
Yazılanlar `main`'de: `902c7a1` (3 yazı, 21 Eyl) · `2602b6f` (1) · `e21cda4` (4, 22 Eyl). **BACKLOG #2 ve #3 `merge` olarak kapatılmalı; #3'teki "kalan 7 yazı" sayısı da yanlış.**
|
||
Bayatlık: `ikinci-universite-acikogretim` düştü (CEO zaten reddetmişti + AÖF penceresi Ekim'de kapanıyor) · `universitede-ilk-hafta` penceresi kaçtı (üniversiteler 21 Eylül'de açıldı) → Bilal'e tek cümlelik karar: düşsün mü, 2027 Eylül'üne mi park edilsin · `kac-siralama-ile-hangi-bolume-girebilirim.md` başlığı hâlâ "(2025 Verileriyle)" diyor, katalog 2026'ya geçti → `rehber-editoru` işi.
|
||
Kısıt: Ahrefs/Search Console bağlı değil → raporda hiç hacim/trafik rakamı yok, sıralama gerekçesi yalnız takvim.
|
||
**Sıradaki yazı: `yks-2027-takvimi`** — ÖSYM'nin Kasım ortasında beklenen duyurusundan önce indekslenmeli.
|
||
|
||
## Tur 3 (09:57)
|
||
`rehber-yazari` → `gece/0923-rehber-2027` dalında 2027 takvimi yazısı. Kritik kısıt verildi: **2027 takvimi açıklanmadı, uydurma tarih yasak**; çerçeve "henüz açıklanmadı, geçmiş desen şu, açıklanınca burası güncellenecek" olacak ve tahminler tek bölümde toplanacak ki duyuru günü tek paragraf değişsin.
|
||
|
||
### tasarimci ✔ → `02-tasarim-acik-sorular.md`
|
||
1. **Sihirbaz 3 adımda kalmalı, 2'ye inmemeli** — 2'ye indirmek il adımına ikinci bir iş yükler (3. adımdan çıkardığımız hatanın aynısı), 375px'te kaydırmalı il listesiyle tür çiplerini aynı panele sıkıştırır.
|
||
2. **`/meraklisina` şema senkron borcu SIFIR** — `grep -rni "öncelik" src/features/pazarlama/ src/app/meraklisina/` → 0 satır. Ne `SEMA` düğümü, ne `aria-label`, ne figcaption öncelikleri anlatıyor. Değişecek olan belge değil, ekran.
|
||
3. **Sessiz regresyon tuzağı (iyi yakalama):** Öncelikler kaldırılırsa `tercih-farki.ts` `oncelikler`'i kıyaslamaya devam ettiği için, **hiçbir şey değiştirmemiş eski kullanıcı** `/listem`'de kalıcı "Tercihlerin değişmiş → 3 kredi harca" uyarısı görür (eski params dolu, yeni profil boş). Dosyanın kendi 8-12. satırdaki ilkesine aykırı. Dört nokta, tek dosya. K5 onaylanırsa aynı commit'e girmeli.
|
||
4. **R7 hüküm: tek commit, 28 satır.** 48'in 26'sı gerçek metin + 2 placeholder (düzeltilir), 11 dekoratif ikon, 4 fonksiyonel ikon (ayrı kural), 1 devre dışı, 4 dev paneli. **Büyük punto: 0.** Kör `sed` olmaz — aynı dosyalarda dokunulmaması gereken 11 ikon var.
|
||
5. **URAP telafisi XS:** özet paragrafın ilk virgülüne "devlet üniversitesi"/"vakıf üniversitesi".
|
||
|
||
**Tasarımcının kendi hatasının teşhisi (alıntı):** bilginin "zaten var" olduğunu o sayfada hiç aratmadan, *farklı bir sayfa tipindeki* rozetlerden genellemeyle varsaymış; tek üniversitelik detay sayfasında rozet tekrar olacağı için hiç konmamış. Doğrulama tek grep'miş.
|
||
|
||
## Tur 4 (10:05)
|
||
`yazilimci` → `gece/0922-urap` dalına URAP telafisi (dün silinen devlet/vakıf bilgisini özet cümleye geri koyma). Orkestratör kararı: bu yeni bir tasarım değil, **dün gece bizim ürettiğimiz bir bilgi kaybının telafisi** — Bilal'in 1 numaralı sorusunun (c) seçeneği. Ayrı commit, Bilal isterse almayabilir.
|
||
`trBaslikDuzeni` yasaklandı: 6 `unitur` değerinin 4'ünde bozuk metin üretiyor; dün eklenen `UNITUR_ETIKET` haritası kullanılacak.
|
||
**Uygulanmayanlar (bilerek):** R7 — CEO bu turda backlog'a havale etti, bütçe kararı Bilal'in. `tercih-farki.ts` düzeltmesi — K5 kararına bağlı, karar gelmedi.
|
||
|
||
### yazilimci ✔ (10:10) → `06-urap-telafisi.md` · `gece/0922-urap` @ 4c756c4
|
||
Özet paragrafın ilk virgülüne tür öbeği girdi: *"Boğaziçi Üniversitesi (İstanbul), **devlet üniversitesi**; 2026 YKS yerleştirme sonuçlarına göre …"*. Yeni kutu/bileşen/rozet yok, ızgara 4 kart.
|
||
`UNITUR_ETIKET` `{ kart, cumle }` biçimine genişletildi — kart etiketi ile cümle öbeği tek kaynakta, ayrışamaz. `trBaslikDuzeni` kullanılmadı (yasaktı).
|
||
Altı değerin beşi üretilen HTML'de doğrulandı; `YURTDISI VAKIF` sayfada hiç çıkmıyor (Manas/Yesevi'nin aynı slug'ında `YURTDISI KAMU` satırları da var, `UniOzet.unitur` KAMU'yu seçiyor) → koddan çıkarım olarak işaretlendi.
|
||
Çift gösterim (URAP'sız sayfada hem "Tür" kartı hem cümle) tuhaf durmuyor, kaldırma önerilmedi.
|
||
Entegrasyon tazelendi, `pnpm build` temiz — 1821 statik sayfa. Merged dağılım 129 devlet / 75 vakıf / 16 KKTC / 6 yurt dışı kamu / 3 vakıf MYO = 229.
|
||
|
||
## Backlog'a gidecek yeni bulgular (bu vardiyadan, henüz yazılmadı)
|
||
1. `slug.ts` `trBaslikDuzeni` tireden sonraki harfi büyütmüyor: "Bakü-**a**zerbaycan", "Kırgızistan-**t**ürkiye", "Türk-**k**azak" — ~10 yurt dışı/KKTC sayfası. Eski hata, bu vardiyadan değil.
|
||
2. BACKLOG #2 ve #3 `merge` olarak kapatılmalı (yazılar `e21cda4` ile `main`'de); #3'teki "kalan 7 yazı" sayısı yanlış — doğrusu `04-icerik-envanteri.md`'de.
|
||
3. `ikinci-universite-acikogretim` konusu düştü; `universitede-ilk-hafta` penceresi kaçtı (Bilal kararı).
|
||
4. `kac-siralama-ile-hangi-bolume-girebilirim.md` başlığı hâlâ "(2025 Verileriyle)" — `rehber-editoru` işi.
|
||
5. R7 kontrast: tek commit 28 satır (tasarımcı ölçtü) — bütçe kararı Bilal'in.
|
||
6. K5 onaylanırsa `tercih-farki.ts` düzeltmesi zorunlu (aksi hâlde kalıcı yanlış uyarı).
|
||
|
||
### rehber-yazari ✔ (10:20) → `05-yazi-2027-takvimi.md` · `gece/0923-rehber-2027` @ 82dffc7
|
||
`content/rehber/yks-2027-takvimi.md` (146 satır). Başlık: "2027 YKS Ne Zaman? Başvuru ve Sınav Takvimi (Henüz Açıklanmadı)".
|
||
**Disiplin notu:** Aritmetikle çıkan ve internette dolaşan "19–20 Haziran 2027" tarihini **bilerek yazmadı** — resmî tarihmiş gibi alıntılanmasın diye. 2027 kapsam/Maarif Modeli iddiasını da doğrulayamadığı için yazmadı.
|
||
2023–2026'nın tamamı ÖSYM duyurularından tek tek teyit edildi (22 kaynak URL'si yazının sonunda). Tahminler tek bölümde toplandı ("kasım", "haziranın ikinci yarısı" bantları; gün/tarih yok) → ÖSYM duyurduğu gün tek bölüm silinip tabloya sütun eklenerek ~15 dakikada güncellenir.
|
||
İkinci tablo aslında asıl değerli kısım: aşamalar arası gün sayıları (sınav→sonuç ~1 ay, sonuç→tercih 1–2 hafta, tercih kapanışı→yerleştirme 1–2 hafta).
|
||
|
||
### Orkestratör entegrasyon doğrulaması (10:25)
|
||
`gece/0923-rehber-2027` → `gece/0922-entegrasyon` @ 8c0fb61, çakışmasız. `pnpm build` **Compiled successfully**; rehber sayfası 33→34 html, `yks-2027-takvimi.html` prerender edildi.
|
||
Üretilen HTML'de **uydurma 2027 tarihi taraması temiz** (`(1[0-9]|2[0-9]) (Haziran|Temmuz|Ağustos|Şubat|Mart) 2027` → 0 eşleşme).
|
||
`BETTER_AUTH_SECRET` uyarıları worktree'de env dosyası olmamasından — dünkü vardiyada da vardı, kodla ilgisi yok.
|
||
|
||
## ⛔ Tur 5 (10:45) — DURDURULDU: yerel `main` 16 commit geride
|
||
Bilal "push ve MR yapma, önce özet sun" dedi. Doğrulama sırasında **gecenin en büyük sistem hatası** çıktı:
|
||
|
||
**Yerel `main` 9bd448b, `origin/main` c5769e2 — arada 16 commit var.** Bütün gece vardiyası bayat bir temel üzerinde çalıştı.
|
||
|
||
Uzakta olup bizde olmayanlar arasında bu geceki işlerle doğrudan çakışanlar:
|
||
| Uzaktaki commit | Etkisi |
|
||
|---|---|
|
||
| `2b350d0` content(rehber): gece vardiyasının **14 yeni yazısı** | İçerik envanteri (8 yazıldı/9 açık) **geçersiz** — uzakta 46 yazı var, yerelde 32 |
|
||
| `4acfd27` fix(kredi): **paketliden liste ve revizyon kredisi düşmez** | "Ücretsiz liste" analizinin ekonomisi değişti (aşağıda) |
|
||
| `daa232c` fix(sonuc): boş harita ilk ekranı işgal etmez | CEO'nun dün **reddettiği K2** zaten yapılmış |
|
||
| `552d5ce` / `e912665` tadımlık ve harita sırası | Analitiğin `/sonuc` sayfa sırası önerisi zaten yapılmış |
|
||
| `2373a9a` content(tadimlik): "24 satırın tamamı" iddiası kalkar | Maskeleme tartışmasının bir parçası zaten kapanmış |
|
||
|
||
**Somut zarar:** `yks-2027-takvimi` yazısı bu sabah ikinci kez yazdırıldı — uzakta 22 Eylül tarihli 151 satırlık sürümü zaten vardı. İki yazar ajanı (OBP SSS + rehber bakımı) 32 yazılık bayat ağaçta çalışırken **durduruldu**; bakım turunun ölü link/yıl taraması 14 yazıyı hiç görmediği için sonucu geçersiz olurdu. `gece/0923-*` dalları silindi.
|
||
|
||
**Kök neden:** Vardiya `git fetch` yapmadan yerel `main`'i gerçek sanıp oradan dal açtı. Sabah backlog bayatlığını yakaladım ama teşhisi eksik koydum — "backlog bayat" dedim, asıl sorunun "çalışma ağacı bayat" olduğunu görmedim.
|
||
**Kural:** Vardiya açılışında **ilk komut `git fetch`**; dallar `origin/main`'den açılır, yerel `main`'den değil.
|
||
|
||
### İyi haber — dört kod/veri paketi ayakta
|
||
`origin/main` üzerinde deneme merge'i: `0922-risk-etiketi`, `0922-olcum`, `0922-unitur-kacagi`, `0922-urap` → **dördü de çakışmasız**. Yalnız silinen yazı dalı çakıştı.
|
||
Ayrıca dördü de hâlâ **gerekli** (origin/main'de kontrol edildi): `program-tablosu.tsx`'te `RISK_ETIKET` yok, yalnız `RISK_NOKTA` var · `rapor-listesi.tsx:259,267` `sr-only sm:not-sr-only` duruyor · kaynaksız `/paket` linki **10** · `sihirbaz-adimlar.tsx:205` hâlâ yalnız ileri geçişte atıyor · `universite-icerik.tsx:316-319` "Tür" kartı `trBaslikDuzeni` ile duruyor.
|
||
|
||
### "Ücretsiz liste" kararı şekil değiştirdi
|
||
`origin/main` `rapor-actions.ts:158`: `const maliyet = user.hasPaket ? 0 : RAPOR_KREDI;`
|
||
Yani **paket sahibi artık kredi ödemiyor; kredi yalnız paketsiz denemeciden alınıyor.** Dünkü analizin "60 kredi = 20 üretim" ekonomisi geçersiz. Soru artık "kredi indirilsin mi" değil: **kredi bugün yalnızca ürünü denemek isteyen kişiyi durduruyor, para ödemiş hiç kimseyi durdurmuyor.**
|