Chaim
e7d8b24d7c
feat(pipeline): durable execution for final_halacha via LangGraph (P0, X16/INV-DUR1, #114)
scripts/_pipeline_runtime.py — runtime עמידות משותף: עוטף רשימת-צעדים async ב-LangGraph
StateGraph ליניארי עם AsyncSqliteSaver (checkpoint לכל צעד). קריסה/OOM ממשיכה מהצעד
שנכשל במקום להריץ הכל מחדש. degradation חיננית: ללא langgraph → ריצה ליניארית כמו קודם
(הכפתור לא נשבר). מימוש אחד לשני הפייפליינים (G2).
final_halacha_pipeline.py — 4 הצעדים ([0]extract [1]citations [2]corroboration [3]panel)
רצים דרך ה-runtime. CLI זהה + --fresh (ברירת-מחדל auto-resume). thread יציב לכל תיק;
dry-run = preview נפרד (תמיד fresh). קריסה בפאנל [3] → resume מ-[3] (steps 0-2 שמורים).
pyproject: extra "durable" (langgraph + langgraph-checkpoint-sqlite) — host-only,
optional. data/checkpoints/ ב-.gitignore.
גבול (X16 §1): LangGraph רק כמנוע-פנימי של הסקריפט — לא orchestrator (לא מסלול מקביל
ל-Paperclip; G2/G12). #108 (atomic extract) קדם לזה כתנאי.
אימות: test_pipeline_runtime.py — עם langgraph (venv-זמני): 3 passed (resume מדלג צעדים
שהושלמו · fresh מריץ-מחדש · linear). בלי langgraph (venv משותף): 1 passed + 2 skipped
(degradation). final_halacha מתקמפל ומיובא נקי בשני המצבים. הרצה end-to-end על הפייפליין
החי (DB+LLM) — לאחר `pip install -e ".[durable]"` בעץ הראשי.
Invariants: INV-DUR1 (עמידות), G2 (runtime יחיד), G3 (idempotency מחוזק).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 09:52:35 +00:00
..
2026-04-16 18:49:30 +00:00
2026-05-30 21:27:54 +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-07 20:45:20 +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-05-31 08:57:42 +00:00
2026-06-07 18:18:41 +00:00
2026-06-07 18:18:41 +00:00
2026-06-10 09:08:16 +00:00
2026-05-30 22:07:18 +00:00
2026-06-06 19:45:43 +00:00
2026-05-31 11:35:07 +00:00
2026-06-10 09:52:35 +00:00
2026-05-30 17:46:59 +00:00
2026-05-30 22:13:18 +00:00
2026-06-06 16:32:07 +00:00
2026-06-08 08:26:09 +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-05-30 22:07:39 +00:00