feat(arguments): פופאפ פרופוזיציות גולמיות בלחיצה על "מסתמך על N" #166
Reference in New Issue
Block a user
Delete Branch "worktree-argument-claims-popover"
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?
מה זה עושה
בדף הטיעונים, השורה "מסתמך על N פרופוזיציות גולמיות" הייתה טקסט סטטי בלבד. עכשיו לחיצה עליה פותחת פופאפ שמציג את הטענות הגולמיות (claims) verbatim שמהן אוגד הטיעון, כולל מסמך-המקור של כל אחת.
למה זה היה אפשרי בקלות
הקישור טיעון↔פרופוזיציות כבר נשמר ב-DB (טבלת
legal_argument_propositions), וטקסט הטענות ב-claims. ה-UI כבר קיבל את ה-IDs (כך ידע להציג "N"). הפער היחיד: ה-IDs הוחזרו בלי הטקסט. אין כאן קריאת-LLM ואין עלות — רק חיבור הנתון הקיים.השינוי
Backend —
argument_aggregator.get_legal_arguments: השאילתה שכבר שולפת את ה-claim_ids עושה כעתJOIN claimsומחזירה שדה חדשsupporting_propositions = [{id, text, source_document}]באותו round-trip.supporting_claimsנשאר id-only (תאימות לאחור — מונה ה-UI, צרכני MCP).Frontend —
legal-arguments-panel.tsx: השורה נעטפה ב-shadcnPopoverהמרנדר רשימה ממוספרת של הפרופוזיציות + מקור. Fallback לטקסט הסטטי הישן כשהשדה חסר (דאטה ישן לפני deploy).Invariants
בדיקות
tsc --noEmit→ נקי (exit 0)eslintעל הקבצים שהשתנו → נקיpy_compileעל השירות → OKnpm run buildנכשל ב-worktree על symlink של node_modules (Turbopack, ארטיפקט-סביבה) — לא קשור לשינוי; ייבנה תקין ב-Docker/CI.🤖 Generated with Claude Code
הקישור טיעון↔פרופוזיציות כבר נשמר ב-DB (legal_argument_propositions), אך ה-UI הציג רק את המספר. מעשיר את get_legal_arguments באותו round-trip (JOIN ל-claims) להחזיר supporting_propositions = {id, text, source_document}, ועוטף את שורת "מסתמך על N פרופוזיציות" ב-Popover שמציג את הטענות הגולמיות verbatim עם מקור. שקיפות ועקיבוּת מהטיעון המאוגד חזרה לטענות-המקור. - supporting_claims נשאר id-only (תאימות לאחור: מונה, צרכני MCP) - supporting_propositions שדה חדש אופציונלי; fallback לטקסט סטטי כשחסר - אין מסלול מקביל (G2) — העשרה של אותו endpoint; נרמול-במקור (G1) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>