fix(precedents): פיצול תג-הלכות ל-מאושר/ממתין/נדחה + הדגשת שורות-טיפול #215

Merged
chaim merged 1 commits from worktree-halacha-3split into main 2026-06-12 04:30:24 +00:00
Owner

הבעיה

בספריית-הפסיקה (/precedents → טאב "ספרייה") עמודת הלכות הציגה approved/total (למשל 17/27 מאושרות). ה-total כלל גם הלכות שנדחו, כך ש-17/27 נקרא כאילו 10 ממתינות — בעוד שבפועל הן נדחו ולא דורשות טיפול. התצוגה הטעתה לגבי תור-הטיפול האמיתי.

הפתרון

פיצול לשלוש שכבות, מקור-אמת אחד לספירה:

Backenddb.py: list_external_case_law מחזיר כעת לצד approved_count גם:

  • pending_count = pending_review + deferred
  • rejected_count = rejected

אותה שאילתה, אין מסלול-ספירה מקבילי (G2). שלוש הספירות + approved מסתכמות ל-halachot_count.

UIlibrary-list-panel.tsx:

  • התג מציג 17 / 0 / 10 (מאושר / ממתין / נדחה) עם צבעי-משמעות (ירוק / אדום-בולט / אפור) ו-tooltip מפרש. הספרה האמצעית נצבעת אדום-בולט רק כש-pending_count > 0.
  • שורה עם הלכות ממתינות (pending_count > 0) מקבלת רקע אדמדם (bg-danger-bg/40) דרך rowClassName() — חל גם על שורות פסיקה וגם על שורות ועדות-ערר.

Typeprecedent-library.ts: pending_count + rejected_count.

הכרעה לאישור

deferred (snooze, #84) נספר כ"ממתין" ולכן צובע אדום — ההיגיון: עדיין לא הוכרע. אם snooze צריך להשקיט את השורה, אפצל לעמודה רביעית.

Invariants

  • G2 — ספירת-הלכות ממקור-אמת יחיד (אותה שאילתה), ללא מסלול מקבילי.
  • שינוי-UI ויזואלי לפי אפיון מפורש של היו"ר (שער-עיצוב — טופל כאישור מפורש).

בדיקות

tsc --noEmit ✓ · eslint ✓ (web-ui) · py_compile ✓ (db.py).

🤖 Generated with Claude Code

## הבעיה בספריית-הפסיקה (`/precedents` → טאב "ספרייה") עמודת **הלכות** הציגה `approved/total` (למשל `17/27 מאושרות`). ה-`total` כלל גם הלכות שנדחו, כך ש-`17/27` נקרא כאילו **10 ממתינות** — בעוד שבפועל הן **נדחו** ולא דורשות טיפול. התצוגה הטעתה לגבי תור-הטיפול האמיתי. ## הפתרון פיצול לשלוש שכבות, מקור-אמת אחד לספירה: **Backend** — [`db.py`](mcp-server/src/legal_mcp/services/db.py): `list_external_case_law` מחזיר כעת לצד `approved_count` גם: - `pending_count` = `pending_review` + `deferred` - `rejected_count` = `rejected` אותה שאילתה, אין מסלול-ספירה מקבילי (G2). שלוש הספירות + approved מסתכמות ל-`halachot_count`. **UI** — [`library-list-panel.tsx`](web-ui/src/components/precedents/library-list-panel.tsx): - התג מציג `17 / 0 / 10` (מאושר / ממתין / נדחה) עם צבעי-משמעות (ירוק / אדום-בולט / אפור) ו-tooltip מפרש. הספרה האמצעית נצבעת אדום-בולט **רק** כש-`pending_count > 0`. - שורה עם הלכות ממתינות (`pending_count > 0`) מקבלת רקע אדמדם (`bg-danger-bg/40`) דרך `rowClassName()` — חל גם על שורות פסיקה וגם על שורות ועדות-ערר. **Type** — [`precedent-library.ts`](web-ui/src/lib/api/precedent-library.ts): `pending_count` + `rejected_count`. ## הכרעה לאישור `deferred` (snooze, #84) נספר כ"ממתין" ולכן צובע אדום — ההיגיון: עדיין לא הוכרע. אם snooze צריך **להשקיט** את השורה, אפצל לעמודה רביעית. ## Invariants - **G2** — ספירת-הלכות ממקור-אמת יחיד (אותה שאילתה), ללא מסלול מקבילי. - שינוי-UI ויזואלי לפי אפיון מפורש של היו"ר (שער-עיצוב — טופל כאישור מפורש). ## בדיקות `tsc --noEmit` ✓ · `eslint` ✓ (web-ui) · `py_compile` ✓ (db.py). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-12 04:30:04 +00:00
fix(precedents): פיצול תג-הלכות ל-מאושר/ממתין/נדחה + הדגשת שורות-טיפול
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 6s
4ea6326766
התג בספריית-הפסיקה הציג "approved/total" — total כלל גם הלכות שנדחו,
כך ש-17/27 נקרא כאילו 10 ממתינות בעוד שבפועל הן נדחו. כעת:

- backend: list_external_case_law מחזיר pending_count (pending_review+deferred)
  ו-rejected_count לצד approved_count (approved+published). מקור-אמת אחד
  לספירה, אותה שאילתה — אין מסלול מקבילי (G2).
- UI: התג מציג 17/0/10 (מאושר/ממתין/נדחה), צבעי-משמעות, tooltip מפרש.
  ממתין נצבע אדום-בולט רק כשגדול מ-0.
- UI: שורה עם הלכות ממתינות (pending_count>0) מקבלת רקע אדמדם דרך
  rowClassName() — חל על שורות פסיקה ועל שורות ועדות-ערר.

Invariants: G2 (ספירה ממקור-אמת יחיד, ללא מסלול מקבילי). שינוי-UI ויזואלי
לפי אפיון מפורש של היו"ר (שער-עיצוב).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 57a6a01a03 into main 2026-06-12 04:30:24 +00:00
chaim deleted branch worktree-halacha-3split 2026-06-12 04:30:24 +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#215