Persist offer assistant jobs and recover results across closed views

This commit is contained in:
2026-09-06 12:35:30 +03:00
parent 2e16a68565
commit f830625b60
12 changed files with 297 additions and 3 deletions
+10
View File
@@ -713,3 +713,13 @@ Taslak denetimi için altı anahtar sözcüğün ilk 300 karakterlik örneklerin
UI kaynak karakter/parça/alıntı sayısını gösterir. Karşılanma yüzdesi hâlâ yalnız denetlenen liste içindir. Bütün parçaların taranması AI'ın tüm şartları eksiksiz seçtiğini veya alıntıyı anlam bakımından doğru değerlendirdiğini kanıtlamaz; parça sınırları, bağlam ve çelişen hükümler ayrıca incelenmelidir. Bu sınır kullanıcı açıklamasında korunur.
Test: 15 bin karakterlik metnin tüm karakterleri modele giden parçalarda, son şart ve tam konumu korunuyor; uydurma alıntı/geçersiz liste/ara sağlayıcı hatası reddediliyor; iptal sonraki grupları durduruyor. Sağlayıcı yanıtları yerel test taklididir. Tüm 155 test ve üretim derlemesi geçti; UI sayacı sonrasında derleme tekrar doğrulandı. Gerçek sağlayıcıyla uzun belge kalitesi, kalıcı iş/iki dakikadan uzun tamamlama ve beş resmi dosya kabulü açık. Canlı yayın yok.
### D06 — Kalıcı teklif asistanı işleri
Teklif asistanının soru, taslak denetimi ve taslak üretimi kalıcı işe bağlandı. İş girdisi ve sonucu kullanıcı veri dizinindeki ai-jobs.sqlite dosyasında tutulur; API erişimi hesapla sınırlıdır. Tekrar kullanılan istek kimliği aynı girdide aynı işi döndürür, farklı girdide reddedilir. Kullanıcı başına beş etkin iş ve işlemci başına iki eşzamanlı çalışma sınırı vardır.
İşlemci queued/running/completed/failed/interrupted/cancelled durumlarını kullanır. Çalışma kimliği ve heartbeat, eski işlemcinin geç yanıtla iptal/yeniden başlatılmış işi değiştirmesini engeller. Heartbeat kaybolursa iş interrupted olur; belirsiz sağlayıcı çağrısı otomatik tekrarlanmaz. Yeniden başlatma kullanıcı tarafından yapılır ve işi baştan çalıştırır; parça bazında checkpoint devamı değildir. İş başına 30 dakika sınırı vardır.
İstemci tek uzun HTTP isteği yerine işi oluşturur ve kısa durum istekleriyle sonucu bekler. Ekran kapanınca yalnız takip isteği kesilir; sunucu işi devam eder. Kayıtlı AI işleri bölümünde son 50 iş yenilenebilir, iptal/yeniden başlatılabilir; tamamlanmış işin kaynağı ve sonucu asistan ekranına geri açılabilir. Eski işi açmanın mevcut metni değiştirdiği belirtilir. Doğrudan eski API uçları uyumluluk için korunur.
Doğrulama: hesap ayrımı, idempotency, kesilen işin otomatik tekrarlanmaması, çalışma kimliği, iptal sonrası geç sonuç reddi, HTTP bağlantısından bağımsız sonuç kaydı; istemci oluşturma/poll/tamamlama ve ekran kapanınca silme çağrısı olmaması; HTTP yetki ve boş liste. Tüm 161 test ve üretim derlemesi geçti. Sağlayıcı testleri taklittir; gerçek uzun işlem/tarayıcı geri açma kabulü yapılmadı. Genel AI analiz ekranı henüz bu iş modeline bağlı değil. ai-jobs.sqlite kullanıcı yedek aracına otomatik dahil değildir; veri volume yedeğiyle ayrıca alınmalı. Canlı yayın yok.