From e5eee596bc9f97b0ce0bf124526d5ab3695e2d2b Mon Sep 17 00:00:00 2001 From: Chaim Date: Mon, 13 Apr 2026 20:27:20 +0000 Subject: [PATCH] Add pass 2 to legal-analyst: deepen analysis after chair directions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After Dafna fills her positions in the analysis document, the analyst now runs a second pass to: verify cited case law against corpus and case documents, deepen factual findings based on the chosen direction, close open questions, and strengthen CREAC preparation. Pipeline flow updated: direction_approved → analyst pass 2 → analysis_enriched → CEO creates writer issue → ready_for_writing. Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/agents/legal-analyst.md | 68 ++++++++++++++++++++++++++++++++- .claude/agents/legal-ceo.md | 28 +++++++++++--- 2 files changed, 89 insertions(+), 7 deletions(-) diff --git a/.claude/agents/legal-analyst.md b/.claude/agents/legal-analyst.md index aad356f..c8eb5e1 100644 --- a/.claude/agents/legal-analyst.md +++ b/.claude/agents/legal-analyst.md @@ -222,7 +222,7 @@ VALUES ( '752cebdd-6748-4a04-aacd-c7ab0294ef33', 'agent_completion', 'מנתח משפטי סיים משימה — נדרשת בדיקה', - 'pending', 'agent' + 'queued', 'agent' );" ``` @@ -329,6 +329,72 @@ X שאלות עומדות להכרעה: - **הערכה כללית**: לאן נוטה הניתוח ומהם הסיכויים הכלליים של הערר ``` +## שלב 8: העמקת ניתוח (pass 2) — אחרי אישור כיוון + +שלב זה מופעל כשהמנתח מקבל משימה עם הוראה "pass 2" או כשסטטוס התיק הוא `direction_approved`. +הפעם, מסמך הניתוח חוזר עם עמדות יו"ר מולאות — כלומר יש כיוון מאושר. +**אל תשנה את עמדות היו"ר. תפקידך להעשיר את הניתוח סביבן.** + +### 8א. אימות פסיקה +סרוק את עמדות היו"ר וזהה כל אזכור פסיקה (בג"ץ, עע"מ, עת"מ, ע"א, ערר וכו'). +לכל פסק דין שמוזכר: +1. חפש בקורפוס הפנימי (`search_decisions`, `find_similar_cases`) +2. חפש במסמכי התיק (`search_case_documents`) — אולי מצוטט בכתבי הטענות +3. **אם נמצא** — חלץ ציטוט מדויק, הקשר, רלוונטיות +4. **אם לא נמצא** — סמן: "דורש אימות חיצוני" + נסח הנחיות חיפוש + +הוסף לכל סוגיה תת-סעיף: + +**פסיקה תומכת — מאומתת:** +- [שם] — [ציטוט מדויק מהמקור שנמצא] — [רלוונטיות] +- [שם] — לא נמצא בקורפוס/תיק, דורש אימות: [הנחיות חיפוש] + +### 8ב. העמקה עובדתית לאור הכיוון +כעת שידוע כיוון ההכרעה — חפש במסמכי התיק (`search_case_documents`) +ראיות ספציפיות שתומכות או סותרות את הכיוון שנבחר. +עדכן "ממצאים עובדתיים" עם ציטוטים ישירים מחומרי המקור. + +### 8ג. עדכון נקודות פתוחות +- אם עמדת היו"ר ענתה על נקודה פתוחה → סמן כסגורה +- אם עדיין פתוחה → העשר עם מידע שנמצא + +### 8ד. עדכון הכנה ל-CREAC +עדכן עם פסיקה מאומתת וציטוטים מדויקים. + +### 8ה. שמירה ודיווח +1. גבה גרסה קודמת: `cp {case_dir}/documents/research/analysis-and-research.md {case_dir}/documents/research/backup/analysis-and-research-pass1.md` +2. שמור מסמך מעודכן: `{case_dir}/documents/research/analysis-and-research.md` +3. עדכן סטטוס: `case_update(status=analysis_enriched)` +4. פרסם comment ב-Paperclip עם סיכום: + - כמה פסקי דין אומתו / כמה דורשים אימות חיצוני + - אילו ממצאים עובדתיים נוספו + - אילו נקודות פתוחות נסגרו +5. שלח מייל: + ```bash + python3 /home/chaim/legal-ai/scripts/notify.py \ + "העמקת ניתוח הושלמה — ערר {case_number}" \ + "סיכום: X פסקי דין אומתו, Y דורשים אימות חיצוני. ממצאים עובדתיים הועשרו." + ``` +6. **העֵר את ה-CEO — חובה!** + ```bash + curl -s -X POST -H "Authorization: Bearer $PAPERCLIP_API_KEY" \ + -H "Content-Type: application/json" \ + "$PAPERCLIP_API_URL/api/agents/752cebdd-6748-4a04-aacd-c7ab0294ef33/wake" \ + -d '{"reason": "מנתח משפטי סיים העמקת ניתוח (pass 2) [issue-id] בסטטוס [done/blocked]"}' + ``` + אם ה-API לא עובד: + ```bash + PGPASSWORD="paperclip" psql -h 127.0.0.1 -p 54329 -U paperclip -d paperclip -c " + INSERT INTO agent_wakeup_requests (company_id, agent_id, source, reason, status, requested_by_actor_type) + VALUES ( + (SELECT company_id FROM agents WHERE id = '\$PAPERCLIP_AGENT_ID'), + '752cebdd-6748-4a04-aacd-c7ab0294ef33', + 'agent_completion', + 'מנתח משפטי סיים העמקת ניתוח (pass 2) — נדרשת בדיקה', + 'queued', 'agent' + );" + ``` + ## כללים קריטיים 1. **נאמנות למקור** — כל טענה חייבת לשקף את מה שנכתב, לא לפרש diff --git a/.claude/agents/legal-ceo.md b/.claude/agents/legal-ceo.md index 0b360b3..b94e98c 100644 --- a/.claude/agents/legal-ceo.md +++ b/.claude/agents/legal-ceo.md @@ -253,14 +253,28 @@ tools: - [ ] תקן ביקורת מצוין - אם חסר פריט כלשהו — **שאל את חיים** לפני שממשיכים 4. הרץ `approve_direction(case_number, direction_index, additional_notes)` -5. צור issue חדש ב-Paperclip: - - כותרת: `[ערר {case_number}] כתיבת החלטה` - - הקצה ל: **כותב החלטה** (7ed8686f-24bc-49a3-bc02-67ca15b895a9) -6. פרסם comment: "כיוון אושר. הועבר לכותב החלטה." -7. עדכן סטטוס: `case_update(status=direction_approved)` +5. עדכן סטטוס: `case_update(status=direction_approved)` +6. צור issue חדש ב-Paperclip: + - כותרת: `[ערר {case_number}] העמקת ניתוח (pass 2)` + - הקצה ל: **מנתח משפטי** (c26e9439-a88a-49dc-9e67-2262c95db65c) + - תיאור: "כיוון אושר. בצע pass 2: אמת פסיקה מעמדות היו"ר, העמק עובדות לאור הכיוון שנבחר." +7. פרסם comment: "כיוון אושר. הועבר למנתח להעמקת ניתוח לפני כתיבה." **מתי לחזור אחורה:** אם חיים שינה דעתו לגבי התוצאה או הכיוון, או אם חסר מידע — חזור לשלב B או C בהתאם. +### שלב D2: אחרי העמקת ניתוח (pass 2) + +**מתי:** סטטוס `analysis_enriched` (המנתח סיים pass 2) + +1. קרא comment של המנתח — כמה פסקי דין אומתו, מה נוסף, מה דורש אימות חיצוני +2. צור issue חדש: + - כותרת: `[ערר {case_number}] כתיבת החלטה` + - הקצה ל: **כותב החלטה** (7ed8686f-24bc-49a3-bc02-67ca15b895a9) +3. פרסם comment: "ניתוח הועמק ופסיקה אומתה. הועבר לכותב החלטה." +4. עדכן סטטוס: `case_update(status=ready_for_writing)` + +**מתי לחזור אחורה:** אם המנתח דיווח שפסיקה מרכזית דורשת אימות חיצוני — שקול לשלוח לחוקר תקדימים לפני הכתיבה. + ### שלב E: מעקב כתיבה **מתי:** כותב החלטה עובד @@ -294,7 +308,9 @@ tools: | `analyst_verified` | CEO (אחרי שלב A) | → האם יש מחקר תקדימים? אם לא → צור issue לחוקר (35022af0). אם כן → שלב B | | `research_complete` | חוקר | → שלב B (סיכום + סיווג + שאלת תוצאה לחיים) | | `outcome_set` | CEO (אחרי שחיים בחר) | → האם יש claim_handling? אם לא → שלב B המשך (טבלת bundle/skip). אם כן → שלב C | -| `direction_approved` | CEO (אחרי שחיים אישר) | → בדוק chair_directions שלם? אם כן → צור issue לכותב (7ed8686f). אם חסר → חזור לחיים | +| `direction_approved` | CEO (אחרי שחיים אישר) | → צור issue למנתח (c26e9439) ל-pass 2: העמקת ניתוח ואימות פסיקה | +| `analysis_enriched` | מנתח (pass 2) | → שלב D2: צור issue לכותב (7ed8686f) | +| `ready_for_writing` | CEO (אחרי D2) | → כותב עובד | | `drafted` | כותב | → צור issue לבודק איכות (1a5b229e) | | `qa_passed` | QA | → צור issue למייצא (d0dc703b) | | `qa_failed` | QA | → בעיה טכנית → issue תיקון לכותב. בעיה מתודולוגית → חזור לשלב C/D |