20 AI system prompt'unu (chat/analiz/dilekçe/içtihat) koddan Supabase'e
taşıyan promptService.ts eklendi — artık bir prompt metnini değiştirmek
için redeploy gerekmiyor, admin panelden Supabase'e yazılıp 5dk içinde
devreye giriyor (bkz. laawos/docs/DINAMIK_PROMPT_MIMARISI_VE_YONETIMI.md,
laawos/sql/23_ai_prompts.sql — Supabase Studio'da elle çalıştırılmalı).
Canlı kullanıcı olduğu için davranış değişikliği YOK: promptService'in
fallback metinleri bugünkü hardcoded prompt'ların birebir kopyası
(programatik script ile karakter karakter doğrulandı), Supabase migration
çalıştırılmadan/erişilemezken sistem bugünkü gibi çalışmaya devam ediyor.
Bilinçli olarak dokunulmayanlar: model seçimi (tek global AI_MODEL env),
temperature (hiç gönderilmiyor), max_tokens (call-site'a göre değişiyor)
— hiçbiri gerçek AI çağrısına yansıtılmıyor, sadece prompt METNİ dinamik.
chat_intern iki farklı promptun (canlı sohbet vs. anlık soru-cevap) aynı
chat_mode='intern' etiketini paylaştığı görüldüğü için chat_intern_live
ve chat_intern_qa olarak ayrıştırıldı. Ayrıca kodda var olup dokümanda
listelenmeyen doc_strategy, doc_mediation, legislation_keywords, chat_title
ve chat_thread_general de tabloya eklendi.
mevzuat-etl'in doldurduğu Supabase mevzuat/mevzuat_madde tablolarından
(aynı proje) ilgili kanun maddelerini bulup analiz/taslak üretiminden önce
prompt'a ekliyor. Bulma: önce dava metnindeki açık atıfları regex ile yakala
(TCK m.141, 5237 sayılı Kanun'un 141. maddesi gibi, tur-agnostik), boşsa
precedent.controller.ts'deki AI-keyword-sıkıştırma + tam-metin arama
desenine düşer. Hiçbir zaman exception fırlatmaz, mevzuat bulunamazsa analiz
normal devam eder.
Dilekçe Taslağı (generateDraft) farklı ele alınıyor — çıktısı JSON değil düz
metin ve aynen dilekçe belgesi olarak kullanılıyor, bu yüzden referans
bloğu ayrıca işaretlenip sistem promptuna "kopyalama, sadece atıf yap"
talimatı eklendi. generateAngarya (Süre Tutum/Mazeret/Vekaletname) bilerek
dışarıda bırakıldı — hukuki tartışma içermeyen idari dilekçeler.
Tasarım: mevzuat-etl/docs/superpowers/specs/2026-08-17-laawos-mevzuat-entegrasyonu-design.md
Not: drafts.used_legislation (jsonb) sütunu Supabase Studio'dan elle eklendi.