Chaim
6cc100f9f8
G12 Leak-Guard / leak-guard (pull_request) Successful in 5s
Lint — undefined names / undefined-names (pull_request) Successful in 10s
fix(halacha): rate-limit refusal ≠ empty answer — לא checkpoint chunk בכשל (#144)
תיקון-ליבה (b): כש-claude CLI מחזיר exit=0 עם הודעת-מגבלה/שגיאה כ-result, query
זיהה אותה כהצלחה → _extract_chunk קיבל []/non-list וסימן chunk כ-done-ריק; resume
דילג עליו לתמיד → תת-חילוץ קבוע (3→1→0). עכשיו is_error/_looks_like_limit_notice
הופכים אותה לכשל-חולף → retry → raise → chunk נשאר un-checkpointed → resume משחזר
(כך force-delete כבר לא הרסני-לצמיתות).
+ churn-detect במתזמר (Δdone<0 / Δhal<-2 → אזהרה+churn_ok ב-JSON).
+ scripts/reconcile_under_extracted_halacha.py — שחזור completed-עם-0-הלכות-ו≥3
מקטעי-נימוק (dry-run הראה 15 מועמדים); נתיב-הזמנה קנוני (G2), שמרני (לא remand).
הערה: אטומיות-מלאה (staging_run_id) נדחתה — PR #257 מיתן את ה-trigger, ו-(b)+resume
מונעים אובדן-קבוע (force-delete מתאושש דרך resume).
בדיקות: test_claude_session_limit_notice. כל 354 עוברות. guards נקיים.
Invariants: G1, INV-G3/X16 (checkpoint=הושלם-באמת), INV-G4 (churn לא-שקט), G12.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 04:21:15 +00:00
..
2026-04-16 18:49:30 +00:00
2026-05-30 21:27:54 +00:00
2026-06-15 03:21:10 +00:00
2026-06-12 04:37:15 +00:00
2026-06-15 04:21:15 +00:00
2026-06-06 19:29:36 +00:00
2026-06-06 17:41:39 +00:00
2026-06-01 04:34:23 +00:00
2026-06-15 03:21:10 +00:00
2026-04-28 17:37:52 +00:00
2026-04-26 06:57:41 +00:00
2026-04-16 18:49:30 +00:00
2026-06-06 17:51:56 +00:00
2026-06-15 04:09:54 +00:00
2026-06-15 04:03:21 +00:00
2026-05-31 08:57:42 +00:00
2026-06-11 16:29:24 +00:00
2026-06-11 16:13:24 +00:00
2026-06-07 18:18:41 +00:00
2026-06-11 16:34:47 +00:00
2026-06-15 02:54:35 +00:00
2026-06-12 06:47:58 +00:00
2026-06-07 18:18:41 +00:00
2026-06-10 09:08:16 +00:00
2026-06-11 15:52:13 +00:00
2026-05-30 22:07:18 +00:00
2026-06-15 03:34:43 +00:00
2026-06-11 16:42:22 +00:00
2026-06-11 16:50:50 +00:00
2026-06-06 19:45:43 +00:00
2026-06-12 07:19:48 +00:00
2026-05-31 11:35:07 +00:00
2026-06-10 09:52:35 +00:00
2026-06-10 09:40:42 +00:00
2026-05-30 17:46:59 +00:00
2026-05-30 22:13:18 +00:00
2026-06-12 06:59:34 +00:00
2026-06-06 16:32:07 +00:00
2026-06-11 19:57:12 +00:00
2026-06-12 11:30:25 +00:00
2026-06-11 19:57:12 +00:00
2026-06-08 07:47:49 +00:00
2026-05-31 11:14:44 +00:00
2026-04-16 18:49:30 +00:00
2026-06-12 07:32:04 +00:00