fix(halacha): חילוץ-מחדש משמר הלכות מאושרות (INV-G10, #108) #172
Reference in New Issue
Block a user
Delete Branch "worktree-fix-halacha-reextract-dataloss"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
מה ולמה
תיקון data-loss (TaskMaster #108).
reset_halacha_extractionביצעDELETE FROM halachotללא-תנאי לפני חילוץ-מחדש; קריסה בין המחיקה לאחסון-הראשון מחקה את כל אישורי-היו"ר והשאירה את הרשומה תקועהstatus='processing'עם 0 שורות (תקרית עמיאל בל"מ 8126-03-25, 2026-06-08 — 29 הלכות, 9 מאושרות + rule_type, אבדו).התיקון: המחיקה מחריגה כעת
review_status IN ('approved','published')— אישור אנושי לא נמחק בשקט (INV-G10). תובנת-המפתח: ה-dedup-on-insertהקיים ב-store_halachot_for_chunk(normalized-quote + cosine) מדלג על חילוץ טרי שמשכפל מאושרת שנשמרה — כך אין כפילות.reset_halacha_extractionמחזיר{deleted, preserved}, וה-extractor מתעד כמה מאושרות נשמרו (provenance).עמידות מלאה מול מוות-תהליך (OOM) נשארת ל-X16/#114 (durable resume) — #108 הוא תנאי-מקדים לו.
Invariants — הצהרה (חובה)
reset_halacha_extraction, לא טלאי בקריאה) · G9 (provenance — דיווחdeleted/preserved). אין מסלול מקביל (G2) — שונתה הפונקציה הקנונית היחידה.צ'קליסט — פרוטוקול כתיבת-קוד
docs/spec/00-constitution.md+ ספ-התחום הרלוונטיresetמחזיר ספירות; ה-extractor מתעד preservedgap-audit.md— זהו #108, לא חופף ל-FU קייםtest_halacha_reextract_preserves_approved.py(offline SQL-capture) + 64 בדיקות-הלכה קיימותאימות
קבצים:
services/db.py(reset_halacha_extraction),services/halacha_extractor.py(force branch + provenance),services/precedent_library.py+tools/precedent_library.py(docstrings).🤖 Generated with Claude Code
תיקון data-loss: reset_halacha_extraction ביצע DELETE ללא-תנאי לפני חילוץ-מחדש; קריסה בין המחיקה לאחסון הראשון מחקה את כל אישורי-היו"ר והשאירה את הרשומה תקועה status='processing' עם 0 שורות (תקרית עמיאל 8126-03-25, 2026-06-08). עכשיו המחיקה מחריגה review_status IN ('approved','published') — אישור אנושי לא נמחק בשקט (INV-G10). ה-dedup-on-insert של store_halachot_for_chunk מדלג על חילוץ טרי שמשכפל מאושרת שנשמרה, כך שאין כפילות. reset מחזיר {deleted, preserved}, וה-extractor מתעד כמה מאושרות נשמרו (provenance, G9). עמידות מלאה מול מוות-תהליך (OOM) נשארת ל-X16/#114 (durable resume) — זה תנאי-מקדים. בדיקה: test_halacha_reextract_preserves_approved.py (offline SQL-capture) מאמת שה-DELETE מחריג approved/published; 64 בדיקות-הלכה קיימות עוברות. Invariants: G10 (שער-יו"ר — אישור לא נמחק), G1 (תיקון במקור), G9 (provenance). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>