feat(precedents): citation_formatted דטרמיניסטי בקוד — Gemini מחלץ רכיבים, לא מעצב (#145) #262
Reference in New Issue
Block a user
Delete Branch "worktree-precedent-deterministic-citation"
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?
הבעיה (#145)
מחלץ-המטא ביקש מ-Gemini Flash לעצב את מראה-המקום המלא (
citation_formatted). ב-JSON-mode חופשי (ללאresponseSchema) המודל החזיר JSON תקין ומלא אך השמיט בעקביות דווקא את השדה הזה — אומת על8070-05-25,1194-12-25,1200-12-25, וגם כשהצדדים זוהו (case_name_short). זה השדה הקשה ביותר (עיצוב מחרוזת Markdown) והפרומפט התיר להשאירו ריק → Flash מפיל אותו בכל הרצה.הפתרון
citation_formattedהוא שדה-תצוגה נגזר (X1 §3 / INV-ID2) — מורכב דטרמיניסטית מרכיבים מובְנים, לא מעוצב ע"י LLM. תפקיד ה-LLM מצטמצם לחילוץ רכיבים אמינים (קריאת-כותרת: שורת-הצדדים + קידומת-ההליך לפסקי בית-משפט). אותה פילוסופיה כמוformat_plan_citationהקיים לבלוק ט.db.format_precedent_citation(record)— מרכיב לפי כללי-הציטוט-האחיד:proceeding_type, forum מ-district, reporter מ-source_kind(החלטה פנימית = תאריך בלבד; חיצונית/נבו = "נבו ").court_prefix(LLM) + קיצור-מחוז.case_numberמזוהם (עע"מ 683/13→683/13) כדי לא לכפול קידומת.'') כשחסר רכיב (צדדים/docket/תאריך/קידומת) — abstention על המצאה (INV-AH).case_law.parties(V39) — שורת "עורר נ' משיב" כבסיס re-derivable; הרכיב המודגש של הציטוט.parties+citation_prefix(לאcitation_formatted);apply_to_recordמרכיב דטרמיניסטית מהרשומה-האפקטיבית וממלא רק שדה ריק (עריכות-יו"ר ב-/precedents/[id]נשמרות).scripts/backfill_precedent_citations.py— backfill 2-מעברים (1: דטרמיניסטי מהשמור, ללא API; 2: LLM כשיש full_text), מדווח שורות-נמנעות (לא מנחש), idempotent. מטרה: 171 פסקי בית-המשפט הריקים.אימות
parties="רשות שדות התעופה ואח' נ' אליהו טויטן ואח'",prefix="עע"מ"→עע"מ 683/13 **…** (נבו 3.9.2015)(docket נקי, ללא כפילות-קידומת).''; פסק ללא קידומת →'').pytest test_fu2b_reconcile.py✓ ·py_compile✓ · import ✓.Invariants
citation_formattedנשאר שדה-תצוגה נגזר, לעולם לא מפתח.case_numberללא-שינוי.🤖 Generated with Claude Code