Verify durable AI worker recovery after real process termination
This commit is contained in:
@@ -754,3 +754,9 @@ Taslak türü seçicisine erişilebilir ad eklendi. Üretim derlemesi geçti. Ö
|
||||
- Sunucu anahtarı anlatan teknik uyarı normal kullanıcı için hizmet durumu mesajıyla değiştirildi. Simgeli kapatma düğmesi erişilebilir ad aldı.
|
||||
- Kanıt: `qa-general-analysis-recovery.json`, 8 kontrol doğru. 167 otomatik test ve üretim derlemesi geçti.
|
||||
- QA yalnız sentetik sağlayıcı sonucu kullanır; gerçek SQLite iş kaydı/okuması ve genel analiz yürütücüsü kullanıldı. İş başlatma QA tarafından tutulur: üretim işçi yaşam döngüsü, gerçek AI doğruluğu veya sunucu yeniden başlatma kabulü olarak değerlendirilmez.
|
||||
|
||||
### Kalıcı AI işçisi gerçek süreç kesintisi — 6 Eylül 2026
|
||||
- Genel analiz ve teklif taslağı için kaynak kaydı tamamlandıktan sonra çalışan işçi alt süreci SIGKILL ile durduruldu. Kurtarma ayrı yeni süreçte gerçek iş deposu ve runner ile sınandı.
|
||||
- Lease dolmadan çağrı yapılmaması, lease dolunca interrupted durumu, açık retry olmadan çağrı yapılmaması, retry sonrasında aynı kaynak/sonuç ve başka hesaba erişim engeli doğrulandı. Uzak kaynak B çözücüsü hiç çağrılmadı; sabit kaynak A kullanıldı. Her iki SQLite integrity_check sonucu ok.
|
||||
- 169 otomatik test geçti. Üretim kodu değişmediği için önceki başarılı derleme tekrar edilmedi.
|
||||
- Test lease değerlendirme saatini ilerletir; gerçek 60 saniyelik bekleme, gerçek sağlayıcı isteği, elektrik kesintisi veya platform deploy/volume kurtarma kabulü değildir. Tam D11 yayın/geri dönüş provası açık.
|
||||
|
||||
@@ -51,3 +51,11 @@ Bu araç seçilen dizin dışındaki worker depolarını, ortam değişkenlerini
|
||||
`tests/data-volume-backup.test.mjs`, iki SQLite deposu, committed WAL verisi, alt dizin dosyası, restore, hedef üzerine yazmama, değişmiş/ek dosya ve sembolik bağlantı reddini doğrular. Gerçek üretim volume'larına bu komutlar henüz uygulanmadı; platform geri dönüş provası açık.
|
||||
|
||||
Kalıcı teklif asistanı işleri `IHALEIST_USER_DATA_DIR/ai-jobs.sqlite` içinde özel kaynak ve sonuç metni içerir. `backup-user-data.mjs` yalnız users.sqlite ve referanslı belgeleri aldığı için bu dosya ayrıca volume aracıyla yedeklenmelidir. Bütün yazıcılar durdurulmadan job/user yedek seti tutarlı kabul edilmez.
|
||||
|
||||
Kalıcı genel analiz ve teklif işleri için süreç kesintisi davranışı:
|
||||
|
||||
- İşçi kaynak metnini sabitledikten sonra aniden kapanırsa kayıt hemen başarısız sayılmaz. Son heartbeat üzerinden 60 saniye dolunca iş tarayıcısı kaydı `interrupted` durumuna geçirir.
|
||||
- Kesilen işi otomatik tekrar çağırmaz; kullanıcı Kayıtlı AI işleri üzerinden yeniden başlatır. Kaynak sabitlenmişse aynı girdi kullanılır. Sağlayıcıya daha önce ulaşmış çağrının ücretini veya sonucunu geri alma garantisi yoktur.
|
||||
- İnsan incelemeli genel analizde dosya/inceleme sürümü değişmişse eski işi yeniden başlatmak yerine güncel incelemeyle yeni iş gerekir.
|
||||
- Kaynağın sabitlenmesinden önce kesilen işin, geçmişte hangi uzak metni edinmiş olabileceği kanıtlanamaz. Eski sürümde tamamlanan kayıtların kaynakları geriye dönük üretilemez.
|
||||
- `node --test tests/ai-job-crash.test.mjs`: iki gerçek alt süreç SIGKILL testi; yeni süreçte kaynak/sonuç ve SQLite bütünlüğü kontrol edilir. Lease süresi testte saat parametresiyle ilerletilir. Gerçek AI sağlayıcısı ve üretim platformunun volume yeniden bağlama davranışı bu testin kapsamı dışındadır.
|
||||
|
||||
Reference in New Issue
Block a user