feat(case-ui): חלוקת רשימת-המסמכים בטאב-הסקירה ל-4 קבוצות #390
Reference in New Issue
Block a user
Delete Branch "worktree-docs-grouped-overview"
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?
מה ולמה
טאב "סקירה" בדף-התיק: רשימת מסמכי-התיק חולקה פנימית ל-4 קבוצות לנוחות היו"ר (החלוקה תצוגתית בלבד — לא משנה
doc_type):appeal·response·appraisal(הוגשו לפני הדיון)protocolשסומן "ועדת הערר" (ברירת-מחדל)הסיווג נגזר בצד-הלקוח (
documentGroupב-doc-types.ts) מ-doc_type+ שני דגלי-metadata.שני פקדים חדשים בעורך-התיוג (
document-type-editor.tsx):metadata.is_post_hearing(דגל שכבר קיים ונצרך ע"י כותב בלוק-ח) — פותר את כפילותresponse(תשובה לפני≠אחרי הדיון).metadata.protocol_scope(מוצג רק כשהסוגprotocol) — פותר את כפילותprotocol(ועדת-ערר≠ועדה-מקומית).Backend:
PATCH /api/cases/{n}/documents/{id}וכלי-ה-MCPdocument_updateמקבלים כעתis_post_hearing(bool) ו-protocol_scope(appeal/lower), נשמרים ב-documents.metadataJSONB — אותו מסלול שלappraiser_side, ללא שינוי-סכמה.עיצוב אושר ב-Claude Design (X17):
18k-case-documents-grouped.html.Invariants — הצהרה (חובה)
documents.metadataדרך אותו PATCH/כלי-MCP הקיים; הקיבוץ נגזר-בקריאה ואינו כותב מצב חדש. ה-doc_typeנשאר מקור-האמת היחיד לסוג.mcp-server/srcו-skills נקיים.צ'קליסט — פרוטוקול כתיבת-קוד
gap-audit.md— לא נוגע ב-GAP/FU ממופהtsc --noEmit✓ ·eslint✓ ·py_compile✓אימות
npx tsc --noEmit— עבר (exit 0).npx eslintעל קבצי-הפרונט המשונים — עבר (exit 0).python3 -m py_compile web/app.py mcp-server/.../documents.py— עבר.documentGroup):is_post_hearingגובר → קבוצה 4;protocol+scope=lower→2, אחרת→3;appeal/response/appraisal→1; אחרת→2.npm run api:typesלרענון סכמת-ה-OpenAPI (הפרונט לא תלוי בו —DocumentPatchמוקלד-יד).🤖 Generated with Claude Code
חלוקה פנימית (לנוחות בלבד, לא משנה doc_type) של רשימת מסמכי-התיק: 1. עיקריים (appeal/response/appraisal) · 2. נלווים · 3. פרוטוקול ועדת הערר · 4. לאחר הדיון. הסיווג נגזר בצד-הלקוח מ-doc_type + שני דגלי-metadata. שני פקדים חדשים בעורך-התיוג: - מתג "התקבל אחרי הדיון" → metadata.is_post_hearing (כבר נצרך ע"י בלוק-ח); גובר על הסיווג-לפי-סוג ומעביר לקבוצה 4. - בורר "פרוטוקול של: ועדת הערר / ועדה מקומית-מחוזית" → metadata.protocol_scope (נראה רק כשהסוג protocol); ברירת-מחדל appeal→קבוצה 3, lower→קבוצה 2. Backend: PATCH /documents/{id} + MCP document_update מקבלים is_post_hearing ו-protocol_scope, נשמרים ב-metadata JSONB (אותו מסלול כמו appraiser_side). עיצוב אושר ב-Claude Design (X17): 18k-case-documents-grouped.html. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>