Files
kolaytercih/docs/ekip-raporlari/2026-10-07/yazilimci-paket-A.md
bilalgursen da0e9dff7a docs(ekip): 7–10 Ekim raporları, eval sonuçları, seslendirme betiği
- 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>
2026-10-11 00:33:39 +03:00

7.0 KiB
Raw Blame History

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

  1. 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) ve BaglantiTamponu (akışta [, `, /rehber/ ve yarım kalmış /reh önekinde tutar; kapanınca doğrulayıp bırakır). danismanAkisi rehberler? seçeneği aldı; route.ts gerçek getRehberAramaKayitlari() 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.
  2. Madde 6 çözüldü, göç yok. MAX_REVIZYON silindi; liste-revizyon.ts HAK kapısı ve "HAK" kodu kalktı; ozetCikar(rapor) kalanHak döndürmüyor; sohbet-meta.ts tipi, 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: +1 sayacı kaldı. Paketsiz-kredili adayda paket şartı korundu (Bilal varsayımı).
  3. Çakışma kararı 1 uygulandı: listem-govde.tsx → revizyonHakki={hasPaket ? 1 : 0} + yorum; sohbet-client.tsx'e dokunulmadı.
  4. Testler: scripts/eval/baglanti-denetim.ts (yeni) 44/44; scripts/eval/akis-denetim.ts mevcut 7 + yeni rehber-uydurma/rehber-gercek 9/9. typegen ✓, tsc ✓ (çıkış 0), pnpm lint ✓ (eslint 0; tasarım denetimi 0 hata, 12 uyarı — hepsi dokunmadığım dosyalarda, önceden var).
  5. İki lokal commit, push yok. Şartnamenin commit bölümünden tek sapma: araclar.ts ve danisman-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

  • 15f4c4f feat(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.ts
  • e3d79f5 feat(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.ts ek olarak enYakinRehber'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 catch dalında bitir() ile metine 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ı; /listem düğme ve metin değişikliği koddan çıkarım.

Merge sonrası doğrulanması gerekenler

  1. Entegrasyonda sohbet-client.tsx revizyonHakki?: number → revizyonAcik?: boolean yeniden adlandırması (sohbet-client.tsx:352,385,944,1075 + listem-govde.tsx hasPaket ? 1 : 0).
  2. pnpm build (env'siz; getRehberAramaKayitlari modül yüklenirken değil istek anında koşar).
  3. rapor.ts:679 yorumu (B paketi) — "revizyon hakkı" ifadesi entegrasyonda tek satırla "kredi" diye düzeltilebilir.
  4. guvenlik-uyum denetimi önerilir: paket vaadi değişti ("Sınırsız liste revizyonu" — ana sayfa page.tsx, paket-satinal.tsx); /paket sayfası ve koşullar metni tutarlı mı. Link düzeltme logu yalnız slug içerir.
  5. 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

  1. 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-77 tek kapı (1 dk).