fix(X13): ניתוב לפי פורמט-נט; טיפול-שגיאות חסין באחזור #124

Merged
chaim merged 1 commits from worktree-court-fetch-routing into main 2026-06-07 20:46:02 +00:00
Owner

למה (תוקן מ-drain חי)

ה-drain האוטומטי על דאטה אמיתי חשף 3 באגים:

  1. Tier-0 דרש h2 (httpx http2) שלא הותקן → כל אחזור-עליון נכשל מיד. נוסף ל-extra [court-fetch].
  2. תיקי-עליון עם מספר בפורמט-נט (למשל בר"מ 72182-06-25) נותבו ל-Tier-0 הלא-מאומת ונכשלו — למרות שנט המשפט משרת גם תיקי-עליון. עכשיו:
    • classify() מחלץ את שלישיית תיק-חודש-שנה גם לקידומות-עליון.
    • ה-orchestrator מנתב לפי זמינות-השלישייה, לא לפי קידומת:
      • פורמט-נט קיים → Tier-1 (מאומת, כל הערכאות)
      • עליון סדרתי-בלבד (עע"מ 5886/24) → Tier-0
      • אף אחד → כשל ברור "אין מסלול-אחזור ציבורי"
    • אומת חי: בר"מ 72182-06-25 אוחזר דרך Tier-1 (PDF 5 עמ').
  3. שגיאת-fetch מטיפוס לא-צפוי (ה-h2 ImportError) השאירה jobs תקועים ב-running. בלוק-ה-fetch קולט עכשיו כל Exception → _record_failure (INV-CF2/CF3) — job תמיד מגיע למצב-סופי.

אימות

  • pytest test_court_citation.py — 11/11 (כולל test_supreme_with_net_format_triple).
  • בר"מ 72182-06-25 → Tier-1 → PDF 5 עמ' (חי).
  • עת"מ 43830-12-24 → Tier-1 → נקלט (79 chunks).

נשאר פתוח (Tier-0 בלבד)

פורטל supremedecisions עדיין לא מפוענח (SearchVerdicts מחזיר לא-JSON) — עע"מ/בר"מ בפורמט-סדרתי (NNNN/YY, בלי חודש) יוסלמו ל-manual עד שיפוענח. רוב תיקי-התכנון הם district/עליון-בפורמט-נט → עובדים דרך Tier-1.

🤖 Generated with Claude Code

## למה (תוקן מ-drain חי) ה-drain האוטומטי על דאטה אמיתי חשף 3 באגים: 1. **Tier-0 דרש `h2`** (httpx http2) שלא הותקן → כל אחזור-עליון נכשל מיד. נוסף ל-extra `[court-fetch]`. 2. **תיקי-עליון עם מספר בפורמט-נט** (למשל בר"מ 72182-06-25) נותבו ל-Tier-0 הלא-מאומת ונכשלו — למרות **שנט המשפט משרת גם תיקי-עליון**. עכשיו: - `classify()` מחלץ את שלישיית תיק-חודש-שנה גם לקידומות-עליון. - ה-orchestrator מנתב **לפי זמינות-השלישייה**, לא לפי קידומת: - פורמט-נט קיים → **Tier-1** (מאומת, כל הערכאות) - עליון סדרתי-בלבד (עע"מ 5886/24) → Tier-0 - אף אחד → כשל ברור "אין מסלול-אחזור ציבורי" - **אומת חי:** בר"מ 72182-06-25 אוחזר דרך Tier-1 (PDF 5 עמ'). 3. **שגיאת-fetch מטיפוס לא-צפוי** (ה-h2 ImportError) השאירה jobs תקועים ב-`running`. בלוק-ה-fetch קולט עכשיו כל Exception → `_record_failure` (INV-CF2/CF3) — job תמיד מגיע למצב-סופי. ## אימות - ✅ `pytest test_court_citation.py` — 11/11 (כולל `test_supreme_with_net_format_triple`). - ✅ בר"מ 72182-06-25 → Tier-1 → PDF 5 עמ' (חי). - ✅ עת"מ 43830-12-24 → Tier-1 → נקלט (79 chunks). ## נשאר פתוח (Tier-0 בלבד) פורטל supremedecisions עדיין לא מפוענח (SearchVerdicts מחזיר לא-JSON) — עע"מ/בר"מ **בפורמט-סדרתי** (NNNN/YY, בלי חודש) יוסלמו ל-`manual` עד שיפוענח. רוב תיקי-התכנון הם district/עליון-בפורמט-נט → עובדים דרך Tier-1. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-07 20:45:52 +00:00
Live drain surfaced three issues:
1. Tier-0 needed `h2` (httpx http2) — added to the court-fetch extra.
2. Supreme cases that carry a נט-format number (e.g. בר"מ 72182-06-25) were
   routed to the unvalidated Tier-0 and failed, even though נט המשפט serves
   Supreme cases too. classify() now parses the file-month-year triple for
   Supreme prefixes; the orchestrator routes by triple-availability:
     נט-format present → Tier-1 (validated, all courts)
     serial-only Supreme (עע"מ 5886/24) → Tier-0
     neither → clear "no public route" failure
   Validated live: בר"מ 72182-06-25 fetched via Tier-1 (5-page PDF).
3. A non-`RuntimeError` fetch exception (the h2 import error) left jobs stuck
   in 'running'. The fetch block now catches any Exception → _record_failure
   (INV-CF2/CF3), so a job always reaches a terminal state.

+ test_supreme_with_net_format_triple. Suite 11/11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 618f476a22 into main 2026-06-07 20:46:02 +00:00
chaim deleted branch worktree-court-fetch-routing 2026-06-07 20:46:02 +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#124