feat(digests): self-heal drain — auto-resume after quota/interruption (X12) #127

Merged
chaim merged 1 commits from worktree-digest-resume into main 2026-06-07 21:00:18 +00:00
Owner

חיזוק מנגנון ה-resume של ההעשרה (לבקשת היו"ר — שהמערכת תמשיך לבד אחרי שהסשן/מכסת-claude מתחדשת).

ה-cron של drain_digests.py כבר מהווה resume (pending-based, idempotent, host-side — לא תלוי בסשן האינטראקטיבי). הבעיה שתוקנה: אם enrich נכשל באמצע (מכסת claude נגמרה), השורה נשארה completed עם שדות ריקים → ה-drain לא חזר אליה.

עכשיו drain מאפס בתחילתו כל digest completed עם concept_tag ריק וגם underlying_citation ריק (= חילוץ שמעולם לא נחת; שורה מוצלחת תמיד מכילה לפחות מראה-מקום) → חזרה ל-pending. כך כל קטיעה/מכסה מתאוששת אוטומטית בריצת ה-cron הבאה. בטוח: שורות שעובדו בהצלחה לא נוגעים בהן.

בנוסף (host, מחוץ ל-PR): ה-crontab יעבור מ-יומי 10:00 ל-כל שעתיים (0 */2, flock) — כך ההעשרה מתחדשת תוך ~שעתיים אחרי שהמכסה משתחררת.

🤖 Generated with Claude Code

חיזוק מנגנון ה-resume של ההעשרה (לבקשת היו"ר — שהמערכת תמשיך לבד אחרי שהסשן/מכסת-claude מתחדשת). ה-cron של `drain_digests.py` כבר מהווה resume (pending-based, idempotent, host-side — לא תלוי בסשן האינטראקטיבי). הבעיה שתוקנה: אם `enrich` נכשל באמצע (מכסת claude נגמרה), השורה נשארה `completed` עם שדות ריקים → ה-drain לא חזר אליה. עכשיו drain **מאפס בתחילתו** כל digest `completed` עם `concept_tag` ריק **וגם** `underlying_citation` ריק (= חילוץ שמעולם לא נחת; שורה מוצלחת תמיד מכילה לפחות מראה-מקום) → חזרה ל-`pending`. כך כל קטיעה/מכסה מתאוששת אוטומטית בריצת ה-cron הבאה. בטוח: שורות שעובדו בהצלחה לא נוגעים בהן. בנוסף (host, מחוץ ל-PR): ה-crontab יעבור מ-יומי 10:00 ל-**כל שעתיים** (`0 */2`, flock) — כך ההעשרה מתחדשת תוך ~שעתיים אחרי שהמכסה משתחררת. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-07 21:00:11 +00:00
ה-cron של drain_digests הוא מנגנון ה-resume (pending-based, idempotent, host-side,
לא תלוי בסשן). חיזוק: אם enrich נכשל באמצע (מכסת claude נגמרה) השורה נשארה
'completed' עם שדות ריקים → לא היתה מטופלת שוב. עכשיו drain מאפס בתחילתו כל
digest 'completed' עם concept_tag ריק *וגם* underlying_citation ריק (= חילוץ
שמעולם לא נחת; שורה תקינה תמיד מכילה לפחות מראה-מקום) → pending לריצה חוזרת.
כך כל קטיעה/מכסה מתאוששת אוטומטית בריצת ה-cron הבאה.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 24d80e6a2a into main 2026-06-07 21:00:18 +00:00
chaim deleted branch worktree-digest-resume 2026-06-07 21:00:18 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#127