fix(revizyon): güvenlik-uyum bulguları — kredi şartı metinde, hata metinleri, bağlantı logu yalnız kayıtlı slug

Pazarlama maddesi "Liste revizyonu sayısı sınırsız (her istek 1 sohbet
kredisi)"; revizyon hata metinleri "kredin etkilenmedi" demiyor (mesajın
kredisi düşüyor); "revizyon hakkı" ifadesi kalktı; bağlantı düzeltme
logu modelin ham slug'ını değil yalnız kayıtlı slug'ı yazıyor.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-08 23:27:42 +03:00
parent 91e285900e
commit 129c83971c
5 changed files with 8 additions and 7 deletions

View File

@@ -709,7 +709,7 @@ export async function raporUretAyrintili(
)}`,
);
throw new RaporUretimHatasi(
"Rapor üretilemedi (doğrulama iki denemede de başarısız). Tekrar dener misin? Revizyon hakkın kullanılmadı.",
"Rapor üretilemedi (doğrulama iki denemede de başarısız). Tekrar dener misin?",
);
}
// İlk üretimde zaman aşımı (bkz. ZAMAN_ASIMINDA_KODLA_KUR): liste tamamen

View File

@@ -218,7 +218,7 @@ export function danismanAkisi(opts: {
}
if (tampon) {
baglantiDuzeltme += tampon.duzeltmeler.length;
for (const d of tampon.duzeltmeler) duzeltilenSluglar.push(d.yeniSlug ? `${d.slug}→${d.yeniSlug}` : `${d.slug}→(düz)`);
for (const d of tampon.duzeltmeler) duzeltilenSluglar.push(d.yeniSlug ? `→${d.yeniSlug}` : "→(düz)");
tampon = null;
}
} else if (parca.type === "error") {
@@ -277,7 +277,8 @@ export function danismanAkisi(opts: {
const semaSizintisi = semaSizintisiVar(metin, ARAC_ADLARI);
if (semaSizintisi) console.warn("[soru] olası iç şema sızıntısı: cevapta araç adları / şema anahtarları var");
if (reddedilenArac) console.info("[soru] araç sınırı:", reddedilenArac, "çağrı çalıştırılmadı");
// Slug kişisel veri değildir; hangi uydurma adresin neye döndüğü loglanır
// Yalnız sayaç + kayıtlı (gerçek) slug loglanır; modelin yazdığı ham slug
// kullanıcı metninden gelebileceği için log'a geçmez (güvenlik-uyum, 7 Eki 2026).
if (baglantiDuzeltme) console.info("[soru] rehber bağlantısı düzeltildi:", baglantiDuzeltme, duzeltilenSluglar.join(", "));
opts.onDenetim?.({ jevP, vaatRegex, vaatNotu, reddedilenArac, kayitNotu, revizeNotu, semaSizintisi, baglantiDuzeltme });
await opts.onTamam(metin);