- docs/ekip-raporlari/2026-10-07, 2026-10-09, 2026-10-10 raporları ve ekran görüntüleri (ses/ altındaki mp3 dosyaları depoya alınmadı, 38 MB) - BACKLOG #38: rehber yazılarına "Dinle" düğmesi adayı - scripts/seslendir.py (Türkçe TTS) ve .gitignore'a .venv-tts/ - scripts/eval/sonuc: 8–10 Ekim revizyon eval çıktıları Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
9.2 KiB
QA - Liste revizyonu koda bağlı (v2, HEAD e9dfa35)
Lokal dev sunucusu (gerçek OpenRouter modeli), 9 Eki 2026 gece. Tarayıcı: Browser pane. Kod değiştirilmedi.
Özet
- Paketli hesapta revizyon çalışıyor. 4 ardışık istek ("ilk 5 Ankara olsun", "vakıfları çıkar", "daha güvenli olsun", "İzmir'i de ekle") listeyi gerçekten değiştirdi (DB'de 4 ayrı
report_revision), her birinde hap + sunucu şablon cevabı + toast geldi, "YENİDEN KURULMADI" notu hiç çıkmadı, kredi her istekte tam 1 düştü. - Form çalışıyor: "listemi yeniden düzenlemek istiyorum" formu açtı, form cevabı (bedelsiz) listeyi kurdu. Ama "listemi değiştir" formu açmadı (B1).
- Paketsizde kaldı (B2, en önemli): "ilk 5 Ankara olsun" paket uyarısı vermedi; model soru formu açtı, form cevabı "listen yeniden kurulacak" dedi, liste hiç değişmedi.
- Gecikme (B3): niyet çağrısı 3 koşuda 12-14 sn sürdü, 5 koşuda 1,4-2,8 sn. 15 sn sınırı aşılmadı ama 12 sn'lik beklemede kullanıcı yalnızca "yazıyor" görüyor.
- Mekanik:
akis-denetim13/13,revizyon-denetim5/5. Konsol/sunucu logunda uygulama hatası yok (aşağıda hidrasyon uyarısı).
Sonuç tablosu
| # | Senaryo | Sonuç |
|---|---|---|
| 1a | ilk 5 Ankara olsun | GEÇTİ. İlk 5 = Ankara 5, rev 3→4, kredi 33→32, şablon cevap (ilk 5 listesi + "Ekrandaki liste yenilendi"), hap "Listeni yeniden kurdum" |
| 1b | vakıfları çıkar | GEÇTİ. Vakıf 3→0 (24 devlet), ilk 5 Ankara korundu, kredi -1 |
| 1c | daha güvenli olsun | GEÇTİ. 5/13/6 → 4/12/8, cevap "iskelet: güvenli ağırlıklı (4/12/8)", kredi -1 |
| 1d | İzmir'i de ekle | GEÇTİ. "iller: İzmir eklendi", 4/12/8 korundu, kredi -1 (İzmir zaten listedeydi, değişiklik görünmez) |
| 2 | listemi değiştir | KALDI. Niyet "diger" → normal sohbet cevabı, form yok, 1 kredi gitti |
| 2b | listemi yeniden düzenlemek istiyorum | GEÇTİ. Form (6 seçenek + serbest metin) açıldı; serbest metin "vakıf üniversiteleri de olsun, devlet ve vakıf karışık" → liste yeniden kuruldu (vakıf 5), cevap "üniversite tipi: fark etmez", form cevabı kredi düşürmedi |
| 3 | listemdeki 3. programa not ekle, ne düşünüyorsun? | GEÇTİ. Niyet "diger" (2,8 sn), normal sohbet (program_detay aracı, 3. program doğru: Hacettepe Gıda Müh.), liste aynı, kredi -1 |
| 4 | Paketsiz: ilk 5 Ankara olsun | KALDI. Liste değişmedi, kredi -1, ama paket uyarısı yok (B2) |
| 6 | akis 13/13, revizyon 5/5 | GEÇTİ |
Not: "Düzeltme: listen YENİDEN KURULMADI" yalnız eski (önceki turlardan kalan) mesajda görüldü; bu koşunun hiçbir mesajında yok (DB'de 0 kayıt).
Gecikmeler (5. madde)
Ölçüm: istemciye fetch sarmalayıcısı (başlık gelene kadar geçen süre = niyet çağrısı, çünkü yanıt akışı niyet bitince açılıyor) ve sunucu logundaki [soru] revizyon niyeti satırı.
| İstek | Niyet çağrısı | İlk hap | Toplam |
|---|---|---|---|
| ilk 5 Ankara olsun | 14,0 sn | ~14 sn | 22,6 sn (sunucu) |
| vakıfları çıkar | 12,3 sn | - | ~25 sn (kayıttan) |
| daha güvenli olsun | 12,8 sn | 13,1 sn | 21,4 sn |
| İzmir'i de ekle | 1,4 sn | - | ~12 sn (DB'de rev artışı) |
| listemi değiştir (diger) | 12,2 sn | - | ~19 sn |
| listemi yeniden düzenlemek istiyorum (form) | 1,9 sn | - | - |
| form cevabı | 2,0 sn | - | ~25 sn |
| not ekle (diger) | 2,8 sn | - | ~9 sn |
15 sn'den uzun niyet bekleyen yok; en kötü 14,0 sn. Dağılım iki kümeli: ~1,4-2,8 sn ya da ~12-14 sn. Mühendis raporundaki "OpenInference yavaş" teşhisi tek bir sağlayıcıyı dışlamakla çözülmemiş görünüyor: 12-14 sn'lik kümeye 3 farklı istekte rastlandı (hangi sağlayıcı olduğu logda yok).
Hatalar
B1 (Orta) "listemi değiştir" form açmıyor. Adımlar: paketli hesap, sohbete "listemi değiştir". Beklenen: soru formu. Gerçekleşen: niyet çıkarımı "diger" (12,2 sn) → normal sohbet; model da formu açmadı, "İstanbul da eklenmesini istemiştin" gibi geçmişten (eski form cevabından) bir şey önerdi. Aynı anlama gelen "listemi yeniden düzenlemek istiyorum" formu açtı (niyet revizyon, form (eksik: istek), 1,9 sn). Kanıt: sunucu logu [soru] revizyon niyeti: "diger" "" "12219 ms". Şüpheli: src/lib/ai/revizyon-niyeti.ts niyet prompt'u; kısa/belirsiz istek "diger"e düşüyor. Tek seferde iki mesaj denendi, tekrar sayısı yetersiz; "ara sıra" olabilir. 1 kredi harcandı.
B2 (Yüksek) Paketsiz hesapta revizyon isteği yanlış yönleniyor ve sahte vaat veriyor. Adımlar: paketsiz hesap (5 kredi deneme, listesi var), "ilk 5 Ankara olsun". Beklenen: paket uyarısı, liste aynı. Gerçekleşen: liste aynı, kredi -1, ama niyet çağrısı yok (araç: soru_sor), model "Listenin revizyonu için netleştirmemiz gereken birkaç şey var" deyip 2 sorulu form açtı ("cevaplayınca listeni hemen güncelleyeceğim"). Formu cevaplayınca (bedelsiz, API ile gönderdim, anketId b11ead8e…, {adet:5,dilim:hayal}) model "Listen yeniden kurulacak, birazdan güncel halini göreceksin" dedi; liste değişmedi, hiçbir revizyon çağrısı olmadı. Kanıt: reports.revision_count 0 kaldı, p3.txt liste aynı. Şüpheli: src/app/api/soru/route.ts paketsiz dalı niyet çıkarımını atlıyor ama soru_sor aracı modele açık kalıyor; danisman-prompt.ts:81 "paket YOK, /paket'e yönlendir" talimatını model dinlemedi. Kullanıcı açısından: ödemeye değil boş bir forma yönleniyor. Öneri (yazılımcıya): paketsizde soru_sor'u kapat ya da regex tetiklenince koddan sabit paket uyarısı ver (koda bağlı ilkeyle aynı).
B3 (Orta) Niyet çağrısı bimodal gecikme. Bkz. gecikme tablosu; 3/8 çağrı 12-14 sn. Bu sürede ekranda yalnızca bekleme göstergesi var, "Listeni yeniden kuruyorum" hapı ancak niyet bitince gelir. Öneri: OPENROUTER_NIYET_MODEL için ayrı ölçüm ya da niyet çağrısında sağlayıcı sıralaması/zaman aşımı (mevcut 20 sn).
B4 (Düşük, gözlem) Kesilen istek kredisi. Dev sunucusu istek sırasında öldüğünde (aşağıdaki ortam notu) "vakıfları çıkar" mesajı kaydedilmiş, cevap yazılmamış, kredi düşmüştü; tekrar gönderince ikinci kez düştü (kullanıcı 2 kredi ödedi). Bu ortam kaynaklı ama sunucu çökmesinde iade yok demektir.
B5 (Düşük) Hidrasyon uyarısı. Dev konsolunda A tree hydrated but some attributes of the server rendered HTML didn't match (her /listem açılışında 2-4 kez) ve motion 'lab(...)' is not an animatable color uyarısı. Bu dalın işi mi bilinmiyor, kaynağı araştırılmadı.
Test ortamı notları (ürün hatası değil)
- Dev sunucusu iki kez benim dışımda öldü (kod 143;
next devaynı dizinde ikinci sunucuyu kabul etmiyor, başka bir oturum 3000'de sunucu açtı, sonra o da kapandı). 3100'de kendi sunucumu yeniden açtım ve işim bitince kapattım. Port 3000'deki sunucuya dokunmadım. - İlk denemede sayfanın tekrar tekrar yenilenmesi benim fetch sarmalayıcımın hatasıydı (RSC isteğini bozuyordu), düzelttim. Sarmalayıcı olmadan da revizyon sonrası belge yeniden yükleniyor ("navigate type: reload"); nedeni bulunamadı. Şüphe: dev'de
data/app.dbproje klasöründe olduğu için dosya izleyicisi tetikleniyor olabilir. Üretimde beklenmez; doğrulanmadı. - Giriş:
qa-gb1791491465@maxxspace.commail.tm şifresiQa-<ts>!desenindeydi; magic link'i mail.tm'den aldım, 3000 adresini 3100'e çevirdim. Paketsiz hesaba geçmek için uygulamanın kendi Dev panelindeki "Anında gir" (yalnız lokal) ileqa-6eki-b@example.comhesabına geçtim; bu, tarayıcıdakilocalhostoturum çerezini değiştirdi (Bilal'in v1 oturumunu etkilemiş olabilir). - Kodla gelen
listeSenkronla({items: []})çağrısı /listem ilk açılışında görüldü;saved_listskaydı[]. Önceden dolu muydu bilinmiyor, kontrol edilmedi.
Test edilemeyenler
- Son hâlin gerçek modelle toplu eval'i (QA kapsamı dışı).
- 375 px görünüm ve form UI'ının dar ekran davranışı: pencere 800 px idi; formun "Cevapları gönder" düğmesi yatay kaydırma içinde ekran dışında kaldı (x=874) ve tıklanamadı, bu yüzden form cevabını API ile gönderdim (paketsiz). Bu görünüm sorunu olabilir ya da pencere darlığı; ayrıca bakılmalı.
- Zaman aşımı yolu (niyet 20 sn'yi aşarsa "okuyamadım" + iade): tetiklenmedi.
Hesaplar ve veri (silme için)
qa-gb1791491465@maxxspace.com(paketli; kredi 33→25, rapor rev 3→8, liste şu an 24 devlet+vakıf karışık, 4/12/8)qa-6eki-b@example.com(paketsiz; kredi 2→1, liste aynı)- Yeni hesap açılmadı. Kredi harcayan çağrılar: yukarıdaki 8 + 1 sohbet mesajı.
Bilal'in elle yapacakları
- B2'yi yazılımcıya ver (paketsiz revizyon yönlendirmesi): 10 dk.
- B3 için niyet çağrısı sağlayıcı/model kararı.
- Formu 375 px'te elle dene ("Cevapları gönder" görünüyor mu).
Yeni hile
- Dev sunucusu başka oturumla çakışıp ölürse:
preview_start dev-3100yeniden aç;fetchsarmalayıcıdai.urlyerinei.href||i.url||String(i)kullan (URL nesnesi RSC'yi bozar). - Paketsiz/paketli geçişi için Dev panelinin "Anında gir" alanına var olan hesabın e-postasını yaz (magic link atlanır).
- Anket cevabını UI olmadan göndermek:
POST /api/soru {clientMessageId, anketCevabi:{anketId, cevaplar}}(anketIdchat_messages.meta'dan).