- 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>
7.0 KiB
Yazılımcı — Paket A · sohbet sunucusu (madde 1 rehber linki doğrulama, madde 6 revizyon sınırı)
Worktree: .claude/worktrees/agent-a3eecaccfe3c3822d, dal worktree-agent-a3eecaccfe3c3822d. Taban: worktree a3cb058'de verilmişti (şartname tabanının 3 commit gerisi; liste-revizyon.ts, sohbet-meta.ts yoktu) → dal temizken git merge --ff-only 4d30dd1 ile şartname tabanına ileri sarıldı; node_modules ana checkout'tan cp -Rc ile klonlandı.
Not: Rapor ana checkout'a (docs/ekip-raporlari/2026-10-07/yazilimci-paket-A.md) yazılamadı — worktree izolasyonu ana checkout'a yazmayı engelliyor. Bu dosya worktree'de aynı yolda, commit'lenmemiş duruyor; orkestratör kopyalar.
Özet
- Madde 1 çözüldü, akış içi. Yeni saf modül
src/lib/ai/baglanti-denetimi.ts:rehberBaglantilariniDuzelt(markdown / ters tırnak / çıplak/rehber/<slug>; kayıtlıysa dokunmaz, yakınsa Dice ≥ 0,5 + ikinciden ≥ 0,15 önde ise[kayıt başlığı](/rehber/yeni-slug), yoksa düz metin / adres silinir) veBaglantiTamponu(akışta[,`,/rehber/ve yarım kalmış/rehönekinde tutar; kapanınca doğrulayıp bırakır).danismanAkisirehberler?seçeneği aldı;route.tsgerçekgetRehberAramaKayitlari()listesini veriyor; ekran ve kayıt (onTamam) aynı düzeltilmiş metni alıyor;CiktiDenetimi.baglantiDuzeltme+ log ([soru] rehber bağlantısı düzeltildi: n slug→yeniSlug). Prompt BAĞLANTI maddesine şartnamedeki cümle eklendi. - Madde 6 çözüldü, göç yok.
MAX_REVIZYONsilindi;liste-revizyon.tsHAK kapısı ve"HAK"kodu kalktı;ozetCikar(rapor)kalanHakdöndürmüyor;sohbet-meta.tstipi,araclar.ts(kalanRevizyon, HAK dalı, "en fazla 2 hak", "kalan hakkı belirt"),danisman-prompt.ts(revizyonBolumu({ paketli }), "Revizyon sınırsız; … tek seferde doğru kur"),route.ts,/listem(düğme paketlide hep görünür, "kalan hak" ifadeleri kalktı), demo senaryosu ve pazarlama metni ("Sınırsız liste revizyonu (danışmanla sohbetten)") güncellendi.revisionCount: +1sayacı kaldı. Paketsiz-kredili adayda paket şartı korundu (Bilal varsayımı). - Çakışma kararı 1 uygulandı:
listem-govde.tsx→revizyonHakki={hasPaket ? 1 : 0}+ yorum;sohbet-client.tsx'e dokunulmadı. - Testler:
scripts/eval/baglanti-denetim.ts(yeni) 44/44;scripts/eval/akis-denetim.tsmevcut 7 + yenirehber-uydurma/rehber-gercek9/9.typegen✓,tsc✓ (çıkış 0),pnpm lint✓ (eslint 0; tasarım denetimi 0 hata, 12 uyarı — hepsi dokunmadığım dosyalarda, önceden var). - İki lokal commit, push yok. Şartnamenin commit bölümünden tek sapma:
araclar.tsvedanisman-prompt.ts/route.ts'nin revizyon-hak değişiklikleri 1. commit'e girdi (aynı dosya/hunk'lar; her commit kendi başına derlenir diye — koddan çıkarım, ayrı worktree'de build alınmadı).
Commit'ler
15f4c4ffeat(sohbet): rehber bağlantıları akışta gerçek slug'larla doğrulanıyor —src/lib/ai/baglanti-denetimi.ts(Y),src/lib/ai/sohbet-akisi.ts,src/app/api/soru/route.ts,src/lib/ai/danisman-prompt.ts,src/lib/ai/araclar.ts,scripts/eval/baglanti-denetim.ts(Y),scripts/eval/akis-denetim.tse3d79f5feat(revizyon): revizyon sayısı sınırı kaldırıldı — tek koşul paket + sohbet kredisi —src/lib/credits.ts,src/features/rapor/liste-revizyon.ts,src/lib/ai/sohbet-meta.ts,src/features/rapor/components/listem-icerik.tsx,src/features/rapor/components/listem-govde.tsx,src/features/rapor/components/sohbet-senaryo-verisi.ts,src/app/page.tsx,src/features/odeme/components/paket-satinal.tsx
Dosya sahipliği tablosunun dışına çıkılmadı.
Kabul kriterleri (A-3)
| # | Kriter | Durum | Nasıl doğrulandı |
|---|---|---|---|
| 1 | grep -rn "MAX_REVIZYON|kalanHak|kalanRevizyon" src scripts → 0 |
✔ | çalıştırıldı, 0 satır |
| 2 | grep -rn "revizyon hakk" src → 0 |
✔* | 1 satır kaldı: src/lib/ai/rapor.ts:679 yorumu ("revizyon hakkını yakardı") — B paketinin dosyası, dokunmadım |
| 3 | baglanti-denetim.ts geçer, çıkış 0 |
✔ | 44/44: (a) gerçek slug aynen, (b) yatay-gecis-rehberi → yatay-gecis-cap-yandal başlık kayıttan, (c) uydurma → düz metin, (d) ters tırnak + çıplak adres, (e) tampon 1/3/4/7/karakter-karakter parçalamada tek seferlikle birebir, (f) [2024] verisi kayıpsız; ek: /universite,/bolum dokunulmaz, site köklü markdown, yarım önek /reh |
| 4 | akis-denetim.ts 7 + 2 geçer |
✔ | 9/9; rehber-uydurma → baglantiDuzeltme === 2, kayıtta /rehber/obp-nedir-nasil-hesaplanir ve /rehber/yatay-gecis-cap-yandal var, /rehber/obp-nedir) yok; rehber-gercek → 0. Beklenen tipi baglantiDuzeltme ile genişledi, eski senaryolar 0 |
| 5 | typegen + tsc + lint temiz | ✔ | çalıştırıldı (son düzenlemeden sonra tsc çıkış 0 ve dosya bazlı eslint 0; tam pnpm lint bir önceki durumda 0 hata) |
Komut: pnpm tsx --conditions=react-server scripts/eval/baglanti-denetim.ts ve … scripts/eval/akis-denetim.ts (ikincisi data/app.db'nin geçici kopyasını kullanır; data/app.db değişmedi, git status temiz).
Şartnameden sapmalar / notlar
- Commit bölünmesi (yukarıda, madde 5).
baglanti-denetimi.tsek olarakenYakinRehber'i export ediyor (yapay-zeka-muhendisi eşikleri ayrı sınayabilsin diye); eşikler sabit:YAKIN_ESIK = 0.5,ACIK_ARA_FARK = 0.15.- Akış zaman aşımında/hatada tamponda tutulan metin
catchdalındabitir()ilemetine ekleniyor ki yarım kayıt doğrulanmış hâli alsın (şartnamede yoktu, 2 satır). - Çıplak adreste site kökü (
https://kolaytercih.com/rehber/x) desteklenmiyor (yalnız markdown biçiminde); tampon tetiği/rehber/'de başladığı için tek seferlik sonuçla eşitliği bozmamak adına bilerek bırakıldı. Prompt zaten markdown ister. - Tarayıcı/dev sunucusu açılmadı;
/listemdüğme ve metin değişikliği koddan çıkarım.
Merge sonrası doğrulanması gerekenler
- Entegrasyonda
sohbet-client.tsxrevizyonHakki?: number→revizyonAcik?: booleanyeniden adlandırması (sohbet-client.tsx:352,385,944,1075 + listem-govde.tsxhasPaket ? 1 : 0). pnpm build(env'siz;getRehberAramaKayitlarimodül yüklenirken değil istek anında koşar).rapor.ts:679yorumu (B paketi) — "revizyon hakkı" ifadesi entegrasyonda tek satırla "kredi" diye düzeltilebilir.guvenlik-uyumdenetimi önerilir: paket vaadi değişti ("Sınırsız liste revizyonu" — ana sayfapage.tsx,paket-satinal.tsx);/paketsayfası ve koşullar metni tutarlı mı. Link düzeltme logu yalnız slug içerir.yapay-zeka-muhendisi:pnpm eval:sohbet'e "rehberde olmayan konu" senaryosu; prompt cümlesi ve 0,5/0,15 eşikleri gözden geçirilsin (backlog, A-5).
Bilal'den istenen
- Madde 6: paketsiz-kredili adayda revizyon paket şart kalsın mı? — şartname varsayımıyla "paket şart" uygulandı; değişecekse
liste-revizyon.ts:71-77tek kapı (1 dk).