feat(missing-precedents): cited-by-chair bridge + open/closed tabs + single-line citation #310

Merged
chaim merged 1 commits from worktree-missing-prec-page into main 2026-06-20 12:29:11 +00:00
Owner

מטמיע את העיצוב המאושר (Claude Design כרטיס 09) לדף /missing-precedents.

הבעיה: עמודות "צוטט ע״י" ו"תיק" היו ריקות ל-~98% — כי הסתמכות-החלטות-הקורפוס יושבת ב-precedent_internal_citations (מפתח case_law), מערכת נפרדת מ-missing_precedents (מפתח cases).

Backend (G2 — גשר בזמן-קריאה, ללא כפילות-אחסון):

  • list_missing_precedents: עמודות cited_by_chairs / cited_by_decisions חדשות, נפתרות מגרף-הציטוטים לפי מספר-תיק מנורמל (אותה נורמליזציה כמו ה-relinker). לפער פתוח שמצוטט בהחלטות-ועדה → שם-היו״ר (דפנה תמיר) + מספרי-ההחלטות.

Frontend (תואם מוקאפ מאושר):

  • "צוטט ע״י" → צ'יפ שם-היו״ר (עדיפות על צ'יפי-המקור הגנריים); "תיק" → מספר-ההחלטה המכריעה + "+N".
  • טאבים → פתוח / נסגר בלבד (הוסרו הועלה / לא-רלוונטי / הכל).
  • "פסיקה" → שורה אחת כש-case_name ריק (תיקון הכפילות).
  • הערת מחזור-חיים → פתוח → נסגר.

אומת: גשר-ה-SQL מחזיר יו״ר+החלטות על נתונים חיים · tsc --noEmit נקי · py_compile נקי.

Follow-up (נתונים, נפרד): מילוי legal_topic (נושא) בחילוץ-LLM; יצירת רשומות ל-28 פסיקות-גרף שטרם ב-missing_precedents.

Invariants: G2 (מקור-אמת יחיד — גשר נגזר בקריאה) · INV-AH (סגירת פערי-מקור).

🤖 Generated with Claude Code

מטמיע את העיצוב המאושר (Claude Design כרטיס 09) לדף `/missing-precedents`. **הבעיה:** עמודות "צוטט ע״י" ו"תיק" היו ריקות ל-~98% — כי הסתמכות-החלטות-הקורפוס יושבת ב-`precedent_internal_citations` (מפתח `case_law`), מערכת נפרדת מ-`missing_precedents` (מפתח `cases`). **Backend (G2 — גשר בזמן-קריאה, ללא כפילות-אחסון):** - `list_missing_precedents`: עמודות `cited_by_chairs` / `cited_by_decisions` חדשות, נפתרות מגרף-הציטוטים לפי מספר-תיק מנורמל (אותה נורמליזציה כמו ה-relinker). לפער פתוח שמצוטט בהחלטות-ועדה → שם-היו״ר (דפנה תמיר) + מספרי-ההחלטות. **Frontend (תואם מוקאפ מאושר):** - "צוטט ע״י" → צ'יפ שם-היו״ר (עדיפות על צ'יפי-המקור הגנריים); "תיק" → מספר-ההחלטה המכריעה + "+N". - טאבים → **פתוח / נסגר** בלבד (הוסרו הועלה / לא-רלוונטי / הכל). - "פסיקה" → שורה אחת כש-case_name ריק (תיקון הכפילות). - הערת מחזור-חיים → פתוח → נסגר. **אומת:** גשר-ה-SQL מחזיר יו״ר+החלטות על נתונים חיים · `tsc --noEmit` נקי · `py_compile` נקי. **Follow-up (נתונים, נפרד):** מילוי `legal_topic` (נושא) בחילוץ-LLM; יצירת רשומות ל-28 פסיקות-גרף שטרם ב-`missing_precedents`. **Invariants:** G2 (מקור-אמת יחיד — גשר נגזר בקריאה) · INV-AH (סגירת פערי-מקור). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-20 12:29:03 +00:00
feat(missing-precedents): bridge cited-by-chair + decision number; open/closed tabs; single-line citation
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 4s
Lint — undefined names / undefined-names (pull_request) Successful in 11s
a18ed8ffb7
Implements the chair-approved redesign of /missing-precedents (Claude Design
card 09). The "צוטט ע״י" and "תיק" columns were empty for ~98% of rows because
the corpus-decision reliance lives in precedent_internal_citations (keyed to
case_law), a different system than missing_precedents (keyed to cases).

Backend (G2 — read-time bridge, no stored duplication):
- list_missing_precedents: new cited_by_chairs / cited_by_decisions columns,
  resolved from the citation graph by normalized docket number (same
  normalization the relinker uses). For an open gap cited by committee
  decisions, surfaces the chair(s) (e.g. דפנה תמיר) + the deciding case numbers.

Frontend (matches approved mockup):
- "צוטט ע״י" shows the chair chip (bridge) with priority over the generic
  discovery-source chips; "תיק" shows the deciding decision number(s) + "+N".
- Status filter reduced to פתוח / נסגר (removed הועלה, לא-רלוונטי, הכל).
- "פסיקה" column collapses to a single line when case_name is empty — fixes the
  duplicated-citation two-row rendering.
- Lifecycle note simplified to open → closed.

Verified: bridge SQL returns chair+decisions on live data; tsc --noEmit clean;
py_compile clean.

Follow-up (data, separate): LLM backfill of legal_topic (נושא); create
missing_precedents rows for the 28 graph-cited rulings not yet tracked.

Invariants: G2 (single source of truth — bridge derived at read, no duplicated
column) · INV-AH context (closing source gaps).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 688de7f842 into main 2026-06-20 12:29:11 +00:00
chaim deleted branch worktree-missing-prec-page 2026-06-20 12:29:11 +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#310