feat(plans): עיון+חיפוש בתכניות-מאושרות בטאב התכניות (Phase A) #289

Merged
chaim merged 1 commits from worktree-plans-approved-view into main 2026-06-17 10:06:17 +00:00
Owner

רקע

בדף ספריית-הפסיקה (/precedents, טאב "תכניות") הכרטיס הציג רק review_status=pending_review — כך שתכניות מאושרות (התקינות, בשימוש-חוזר בבלוק ט) לא היו נגישות לעיון/חיפוש. לא בעיית-נתון — מגבלת-UI: ההוק היה מקובע ל-?review_status=pending_review. ה-backend כבר תמך ב-?review_status= ו-?q=; חסר רק חוט-UI.

מענה לשאלת חיים: "למה אני רואה רק את התכניות שחסר בהן נתון ולא את התקינות שבמאגר?"

מה השתנה

  • lib/api/plans.tsusePlansPendingusePlansAll (טעינת כל המרשם בקריאה אחת; הפאנל מסנן client-side — המרשם קטן, מונה-מדויק לכל סגמנט, חיפוש מיידי בלי round-trips).
  • plans-review-panel.tsx:
    • סרגל-מצב: ממתינים (ברירת-מחדל) · מאושרות · כולן, עם מונים.
    • תיבת-חיפוש fuzzy (מספר/שם/ייעוד/aliases, מנורמל-bidi).
    • הערת-קטיעה אם המרשם > 1000 רשומות (בלי silent cap).
    • PlanCard מסתעף לפי review_status: מאושרת/נדחתה → תג-מצב + "החזר לתור" (review→pending_review) במקום אשר/דחה; דדופ-candidates נטענים רק בתור.

עיצוב

עבר דרך שער-העיצוב Claude Design — מוקאפ 22-plans-review עודכן (סרגל-מצב + חיפוש + כרטיס-מאושר) ואושר ע"י חיים לפני ההטמעה.

בדיקות

  • tsc --noEmit · npm run lint (0 errors; אזהרות קיימות-מראש בקבצים אחרים בלבד).
  • ללא שינוי-backend → אין צורך ב-api:types. build מלא ב-CI (worktree symlink שובר Turbopack מקומית).

Invariants

  • G2 — מרחיב יכולת/endpoint קיימים (מרשם-V38, /api/plans); אין מסלול מקביל.
  • INV-IA2 — שער-יחיד /precedents; ללא עמוד חדש.
  • G10review_status נשמר כשער-יו"ר; "החזר לתור" רק מחזיר ל-pending_review.

🤖 Generated with Claude Code

## רקע בדף **ספריית-הפסיקה** (`/precedents`, טאב "תכניות") הכרטיס הציג **רק** `review_status=pending_review` — כך שתכניות **מאושרות** (התקינות, בשימוש-חוזר בבלוק ט) לא היו נגישות לעיון/חיפוש. לא בעיית-נתון — מגבלת-UI: ההוק היה מקובע ל-`?review_status=pending_review`. ה-backend כבר תמך ב-`?review_status=` ו-`?q=`; חסר רק חוט-UI. מענה לשאלת חיים: *"למה אני רואה רק את התכניות שחסר בהן נתון ולא את התקינות שבמאגר?"* ## מה השתנה - **`lib/api/plans.ts`** — `usePlansPending` → `usePlansAll` (טעינת כל המרשם בקריאה אחת; הפאנל מסנן client-side — המרשם קטן, מונה-מדויק לכל סגמנט, חיפוש מיידי בלי round-trips). - **`plans-review-panel.tsx`**: - סרגל-מצב: **ממתינים** (ברירת-מחדל) · **מאושרות** · **כולן**, עם מונים. - תיבת-חיפוש fuzzy (מספר/שם/ייעוד/aliases, מנורמל-bidi). - הערת-קטיעה אם המרשם > 1000 רשומות (בלי silent cap). - `PlanCard` מסתעף לפי `review_status`: מאושרת/נדחתה → תג-מצב + **"החזר לתור"** (`review→pending_review`) במקום אשר/דחה; דדופ-candidates נטענים רק בתור. ## עיצוב עבר דרך **שער-העיצוב Claude Design** — מוקאפ `22-plans-review` עודכן (סרגל-מצב + חיפוש + כרטיס-מאושר) ואושר ע"י חיים לפני ההטמעה. ## בדיקות - `tsc --noEmit` ✅ · `npm run lint` ✅ (0 errors; אזהרות קיימות-מראש בקבצים אחרים בלבד). - ללא שינוי-backend → אין צורך ב-`api:types`. build מלא ב-CI (worktree symlink שובר Turbopack מקומית). ## Invariants - **G2** — מרחיב יכולת/endpoint קיימים (מרשם-V38, `/api/plans`); אין מסלול מקביל. - **INV-IA2** — שער-יחיד `/precedents`; ללא עמוד חדש. - **G10** — `review_status` נשמר כשער-יו"ר; "החזר לתור" רק מחזיר ל-`pending_review`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-17 10:05:54 +00:00
feat(plans): עיון+חיפוש בתכניות-מאושרות בטאב התכניות (Phase A)
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 3s
Lint — undefined names / undefined-names (pull_request) Successful in 10s
d4ec675c67
כרטיס-התכניות בדף /precedents הציג רק review_status=pending_review,
כך שתכניות מאושרות (התקינות, בשימוש-חוזר בבלוק ט) לא היו נגישות לעיון.
ה-backend כבר תמך ב-?review_status= ו-?q= — חסר רק חוט-UI.

- plans.ts: usePlansPending → usePlansAll (טעינת כל המרשם בקריאה אחת;
  הפאנל מסנן client-side — מרשם קטן, מונה-מדויק לכל סגמנט, חיפוש מיידי)
- plans-review-panel: סרגל-מצב (ממתינים/מאושרות/כולן) עם מונים + תיבת-חיפוש
  fuzzy (מספר/שם/ייעוד/aliases, מנורמל-bidi); הערת-קטיעה אם >1000 (בלי cap שקט)
- PlanCard מסתעף לפי review_status: מאושרת/נדחתה → תג-מצב + "החזר לתור"
  (review→pending_review) במקום אשר/דחה; דדופ-candidates רק בתור

עבר דרך שער-עיצוב Claude Design (מוקאפ 22-plans-review מאושר ע"י חיים).
ללא שינוי-backend. מרחיב מרשם-V38 הקיים — לא מסלול מקביל.

Invariants: G2 (יכולת קיימת, endpoint קיים) · INV-IA2 (שער-יחיד /precedents)
· G10 נשמר (review_status שער-יו"ר).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 4bc94d9e4d into main 2026-06-17 10:06:17 +00:00
chaim deleted branch worktree-plans-approved-view 2026-06-17 10:06:18 +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#289