feat(ui): אינדיקטור התקדמות לחילוץ מטא-דאטה + מתג-מקטעים בספריית הפסיקה #70
Reference in New Issue
Block a user
Delete Branch "worktree-feat+metadata-extraction-progress"
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?
מה ולמה
שתי בעיות UX בדף
/precedentsשזיהה היו"ר:1. חילוץ מטא-דאטה לא נתן שום אינדיקציה שהוא רץ. בלחיצה על "חלץ מטא-דאטה" נשמרה רק חותמת-זמן
metadata_extraction_requested_at+ הופעל toast, ומכאן שקט. בניגוד לחילוץ-טקסט (extraction_status) וחילוץ-הלכות (halacha_extraction_status) — שיש להם עמודת-מצב עםprocessing— למטא-דאטה לא היה מצב "מעבד", ולכןStatusPillלא הציג כלום וה-polling לא חשף התקדמות.הפתרון: נוספה עמודה
metadata_extraction_status(pending|processing|completed|failed) במתכונת העמודות הקיימות + helperset_case_law_metadata_status(מנקה את החותמת במצב terminal, כמוset_case_law_halacha_status). ה-worker (process_pending_extractions+reextract_metadata) מעדכן:processingבתחילת כל פריט,completedבסיום,pendingבכשל (לריטריי, מונע "processing" תקוע). ה-UI:StatusPillחדש: "מחלץ מטא-דאטה" / "ממתין למטא-דאטה" / "מטא-דאטה נכשל".isPrecedentActiveעודכן להישען על העמודה החדשה.2. שתי טבלאות מוערמות (בתי משפט / ועדות ערר) חייבו גלילה ארוכה עם עשרות פריטים. הוחלפו במתג-מקטעים — טבלה אחת בכל פעם עם ספירה על כל כפתור, תוך שמירה על העמודות הייעודיות לכל סוג (בתי משפט: "רמה"; ועדות: "מחוז"/"יו״ר"). שתי השאילתות נשארות mounted כדי לשמר ספירות ו-polling חוצה-טבלאות.
Invariants — הצהרה (חובה)
process_pending_extractions. אין נגיעה בתוכן משפטי (G11).צ'קליסט — פרוטוקול כתיבת-קוד
logger.exception) והמצב חוזר ל-pendinggap-audit.md— המשך GAP-45npm run lint(0 errors) +tsc --noEmit(0 errors). הערה:npm run buildהמקומי נכשל רק בגלל symlink ל-node_modules ב-worktree (Turbopack חוסם נתיב מחוץ ל-root) — אינו קשור לקוד; ה-build בפועל רץ בקונטיינר Coolify.אימות
לאחר merge + deploy:
metadata_extraction_status='pending'+ חותמת.mcp__legal-ai__precedent_process_pending(kind="metadata")→ תוך כדי ריצה השורה ב-processing(UI: תג "מחלץ מטא-דאטה" + באנר), בסיוםcompleted+ חותמת מנוקה.🤖 Generated with Claude Code
שתי בעיות UX בדף /precedents: 1. חילוץ מטא-דאטה לא נתן שום אינדיקציה שהוא רץ. בניגוד לחילוץ טקסט/הלכות (extraction_status / halacha_extraction_status) למטא-דאטה היתה רק חותמת-זמן metadata_extraction_requested_at — אין מצב "processing", לכן StatusPill לא הציג כלום. נוספה עמודת metadata_extraction_status ('pending'|'processing'| 'completed'|'failed') במתכונת העמודות הקיימות, וה-worker (process_pending_extractions + reextract_metadata) מעדכן אותה: processing בתחילת פריט, completed בסיום (מנקה גם את החותמת), pending בכשל (לריטריי). ה-UI מציג תג "מחלץ מטא-דאטה" + באנר מונה-אצווה עם אחוז התקדמות (high-water-mark של עומק-התור) שמתעדכן אוטומטית דרך ה-polling הקיים (5ש'). 2. שתי טבלאות מוערמות (בתי משפט / ועדות ערר) חייבו גלילה ארוכה. הוחלפו במתג- מקטעים — טבלה אחת בכל פעם, עם שמירה על העמודות הייעודיות לכל סוג. Invariants: G2 (מרחיב מנגנון-סטטוס קיים, לא מסלול מקביל), INV-TOOL4/GAP-45 (המשך חשיפת תור-החילוץ הסמוי). אין נגיעה בתוכן משפטי (G11). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>