feat(case-ui): כרטיס "הפקת מסמכים" עם 3 כפתורי-הפק דטרמיניסטיים (#214) #386
Reference in New Issue
Block a user
Delete Branch "worktree-agent-a72c8793960b71772"
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?
מה ולמה
מוסיף כרטיס "הפקת מסמכים" בראש טאב "טיוטות והערות" של התיק — תוספת ל-mockup 18h המאושר (mockup
26-drafts-quick-actions.html, שער-העיצוב מסומן). תוספת לעמוד הקיים, לא בנייה מחדש — כל הסקשנים נשמרו (באנר, "החלטה סופית ולמידה", "קבצי טיוטה", "הערות יו״ר" + דיאלוג, CitationsSection, וכל ה-hooks). TaskMaster #214.3 כפתורי-הפק דטרמיניסטיים (בלי פענוח-טקסט):
POST /api/cases/{n}/generate/party-claims-summary→ CEO wakeupaction="party_claims_summary"(שלב H2, host-side)POST /api/cases/{n}/generate/interim-draft→ CEO wakeupaction="interim_draft"(שלב H, host-side)useExportDocxהקיים (POST /export-docx, in-container, ללא LLM)title="זמין כשיש בלוקים כתובים"כש-!isDraftReady.claude -p, לא בקונטיינר), לכן מפעילים CEO wakeup סטרוקטורלי דרך ה-Platform Port ואז pollים לסיום: סיכום →GET /research/party-claims-summary(200=מוכן → פתח/DOCX); טיוטה חלקית → רשימת ה-exports עד שמופיעטיוטת-ביניים-{n}-vN.docx.מסלול-עירור יחיד:
pc_wake_ceo_for_action(חדש ב-paperclip_client.py) → re-export דרךagent_platform_port.py→pc_request→POST /api/agents/{id}/wakeup— לעולם לא DB insert.Invariants — הצהרה (חובה)
wake_ceo_for_action) נוסף רק ב-paperclip_client.pyונחשף דרךagent_platform_port.py;app.pyמייבא רק מה-Port. leak-guard ירוק.pc_request/get_case_issues/CEO_AGENTSהקיימים, וב-useExportDocx/useExportsהקיימים בצד-לקוח.format-date.ts;qc.invalidateQueriesב-success.lib/api/generate.ts.צ'קליסט — פרוטוקול כתיבת-קוד
mcp-server/srcוה-skills נקיים (leak-guard ירוק){status, ...}ומתעד warning בכשלtsc --noEmit✓,eslint✓,py_compile✓,leak_guard.py✓אימות
npx tsc --noEmit(web-ui) — נקי.npx eslint drafts-panel.tsx generate.ts— נקי.python3 -m py_compile web/app.py web/paperclip_client.py web/agent_platform_port.py— נקי.python3 scripts/leak_guard.py— ✓ G12 import seam intact.npm run api:types: קורא OpenAPI מפרודקשן — 2 ה-endpoints החדשים יופיעו רק לאחר deploy;generate.tshand-typed ולא תלוי ב-types.ts. דרוש regen אחרי deploy.🤖 Generated with Claude Code
מוסיף כרטיס "הפקת מסמכים" בראש טאב "טיוטות והערות" (mockup 26 — תוספת ל-18h), תוספת לעמוד הקיים, כל הסקשנים נשמרים. - כפתור 1 "הפק סיכום מנהלים" → endpoint חדש POST /generate/party-claims-summary → CEO wakeup סטרוקטורלי action="party_claims_summary" (שלב H2, host-side). Polling: GET /research/party-claims-summary (200=מוכן → פתח/DOCX). - כפתור 2 "הפק טיוטה של טענות הצדדים" → endpoint חדש POST /generate/interim-draft → CEO wakeup action="interim_draft" (שלב H, host-side). Polling: רשימת ה-exports עד שמופיע טיוטת-ביניים-{case}-vN.docx. - כפתור 3 "הפק טיוטת החלטה מלאה" → ה-useExportDocx הקיים (in-container, ללא LLM); הועבר מהבאנר (כפתור "הפק DOCX" הוסר משם — אין כפילות). disabled+title כשאין בלוקים כתובים (isDraftReady). מסלול-עירור יחיד דרך ה-Platform Port (pc_wake_ceo_for_action) → API helper /api/agents/{id}/wakeup, לעולם לא DB insert. Israel-time + cache-invalidation. Invariants: G12 (מגע-Paperclip רק ב-paperclip_client + agent_platform_port; leak-guard ירוק) · G2 (אין מסלול-עירור מקביל — שימוש חוזר ב-pc_request הקיים) · G10 (הפקה מגודרת-יו"ר/CEO) · INV-UI9 (Asia/Jerusalem) · X6 (UI↔API contract). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>