Make all agent instructions self-contained — no reliance on hope
Every agent now has explicit instructions in its own definition file, not just in HEARTBEAT.md. An agent following only its own step-by-step instructions will do the right thing on any new case. All 6 non-CEO agents: explicit wakeup CEO block in completion step (curl API + psql fallback, with agent name customized) legal-ceo.md: issue template for analyst with 5 mandatory items (document mapping table, no-extract list, split large docs, wakeup CEO, blocked if failed) legal-writer.md: explicit Read of decision-methodology.md as step 1 (before case_get, not just "read before starting") legal-qa.md: methodology_compliance severity → critical (was warning — decisions without syllogisms/steel-man now blocked) legal-proofreader.md: added case_update tool + status='proofread' (was missing entirely — CEO couldn't know proofreading was done) legal-researcher.md: added case_update + mail notification (was missing — CEO couldn't know research was done) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -206,6 +206,26 @@ FROM documents d WHERE d.case_id = '{case_id}' AND d.doc_type IN ('appeal', 'res
|
||||
"סיכום: X סוגיות זוהו, Y שאלות מחקר הופקו. נדרשת ביקורתך לפני המשך."
|
||||
```
|
||||
|
||||
### העֵר את העוזר המשפטי (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": "מנתח משפטי סיים משימה [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',
|
||||
'מנתח משפטי סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
**אם בדיקות שלב 6 נכשלו** — סטטוס issue = "blocked", פרסם comment עם פירוט מה נכשל, שלח מייל לחיים.
|
||||
|
||||
## מבנה הפלט המלא — analysis-and-research.md
|
||||
|
||||
@@ -288,6 +288,14 @@ tools:
|
||||
|--------|-------|
|
||||
| new + יש מסמכים + לא הוגהו | → צור issue למגיה מסמכים (410c0167) |
|
||||
| new + מסמכים הוגהו + אין claims | → צור issue למנתח משפטי |
|
||||
|
||||
**תוכן ה-issue למנתח חייב לכלול:**
|
||||
1. **טבלת מיפוי מסמכים** — לכל מסמך: שם, claim_type, party_role. בנה מ-`document_list`.
|
||||
2. **רשימת מסמכים שלא לחלץ מהם** (reference, plan, decision, court_decision)
|
||||
3. **הנחיה לפיצול מסמכים גדולים** — מעל 15,000 תווים → חלץ בחלקים
|
||||
4. **הנחיה לשלוח wakeup ל-CEO בסיום**
|
||||
5. **הנחיה לסיים כ-blocked אם מסמך נכשל**
|
||||
|
||||
| new + יש claims + לא עבר אימות מנתח | → שלב A (אימות איכות פלט מנתח) |
|
||||
| analyst_verified + יש claims + יש מחקר | → שלב B (סיכום + סיווג + שאלת תוצאה) |
|
||||
| outcome_set + אין claim_handling | → שלב B המשך (טבלת טיפול בטענות) |
|
||||
|
||||
@@ -74,6 +74,26 @@ tools:
|
||||
- ממצאי הבדיקה הסופית (אם היו הערות)
|
||||
- גודל הקובץ
|
||||
|
||||
### העֵר את העוזר המשפטי (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": "מייצא טיוטה סיים משימה [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',
|
||||
'מייצא טיוטה סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
## כללים קריטיים
|
||||
|
||||
1. **לעולם אל תייצא בלי בדיקה** — תמיד הרץ validate_decision קודם
|
||||
|
||||
@@ -11,6 +11,7 @@ tools:
|
||||
- mcp__legal-ai__case_get
|
||||
- mcp__legal-ai__document_list
|
||||
- mcp__legal-ai__document_get_text
|
||||
- mcp__legal-ai__case_update
|
||||
---
|
||||
|
||||
# מגיה מסמכים — סוכן הגהת OCR
|
||||
@@ -68,8 +69,11 @@ psql -h localhost -p 5432 -U "${DB_USER:-legal_ai}" -d "${DB_NAME:-legal_ai}" \
|
||||
```
|
||||
אם עדכון DB לא אפשרי, עדכן רק את הקובץ ודווח.
|
||||
|
||||
### שלב 5: דיווח
|
||||
פרסם comment ב-Paperclip עם:
|
||||
### שלב 5: עדכון סטטוס ודיווח
|
||||
|
||||
1. **עדכן סטטוס**: `case_update(case_number, status='proofread')`
|
||||
|
||||
2. פרסם comment ב-Paperclip עם:
|
||||
```
|
||||
## דוח הגהת מסמכים — תיק {case_number}
|
||||
|
||||
@@ -95,3 +99,23 @@ psql -h localhost -p 5432 -U "${DB_USER:-legal_ai}" -d "${DB_NAME:-legal_ai}" \
|
||||
4. **דווח מקומות מסופקים** — סמן `[?]` ותן לאדם להחליט
|
||||
5. **אל תמציא טקסט** — אם חסר משהו, סמן `[...]` ואל תנחש
|
||||
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": "מגיה מסמכים סיים משימה [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',
|
||||
'מגיה מסמכים סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
@@ -76,7 +76,7 @@ tools:
|
||||
| משקלות | warning | מדווח, לא חוסם |
|
||||
| כפילות | warning | מדווח, לא חוסם |
|
||||
| מספור | warning | מדווח, לא חוסם |
|
||||
| מתודולוגיה | warning | מדווח, לא חוסם |
|
||||
| מתודולוגיה | critical | חוסם ייצוא |
|
||||
|
||||
## תהליך עבודה
|
||||
|
||||
@@ -104,3 +104,23 @@ tools:
|
||||
- רשימת שגיאות מפורטת (אם יש)
|
||||
- האם מותר לייצא (כל הקריטיים pass?)
|
||||
- עדכן סטטוס ל-qa_review (אם נכשל) או drafted (אם עבר)
|
||||
|
||||
### העֵר את העוזר המשפטי (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": "בודק איכות סיים משימה [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',
|
||||
'בודק איכות סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
@@ -75,7 +75,17 @@ tools:
|
||||
2. בנה ציר זמן כרונולוגי של ההליך
|
||||
|
||||
### שלב 5: דיווח — חובה!
|
||||
פרסם comment ב-Paperclip עם:
|
||||
|
||||
1. **עדכן סטטוס**: `case_update(case_number, status='research_complete')`
|
||||
|
||||
2. **שלח מייל**:
|
||||
```bash
|
||||
python3 /home/chaim/legal-ai/scripts/notify.py \
|
||||
"מחקר תקדימים הושלם — ערר {case_number}" \
|
||||
"סיכום: X פסקי דין נותחו, Y תכניות מופו. נדרשת ביקורתך לפני המשך."
|
||||
```
|
||||
|
||||
3. פרסם comment ב-Paperclip עם:
|
||||
- סיכום כל פסק דין (2-3 שורות לכל אחד)
|
||||
- מיפוי הוראות תכנית רלוונטיות
|
||||
- ציר זמן ההליך
|
||||
@@ -84,6 +94,26 @@ tools:
|
||||
- **תקדים**: אילו פסקי דין הכי חזקים (עם ציון היררכיה ומעמד — הלכה/אגב)
|
||||
- **מדיניות**: אילו שיקולים תכנוניים עולים מהחומר
|
||||
|
||||
### העֵר את העוזר המשפטי (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": "חוקר תקדימים סיים משימה [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',
|
||||
'חוקר תקדימים סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
## כללים
|
||||
- **דיוק** — ציין מספרי סעיפים, תאריכים, שמות שופטים
|
||||
- **רלוונטיות** — התמקד במה שרלוונטי לתיק הנוכחי, לא בסיכום כללי
|
||||
|
||||
@@ -71,11 +71,12 @@ tools:
|
||||
## תהליך עבודה
|
||||
|
||||
### שלב 1: הכנה
|
||||
1. קרא פרטי התיק (`case_get`)
|
||||
2. קרא טענות מחולצות (`get_claims`)
|
||||
3. **קרא את עמדות יו"ר הוועדה (`get_chair_directions`) — חובה!**
|
||||
4. קבל תבנית החלטה (`get_decision_template`)
|
||||
5. קרא מדריך סגנון (`get_style_guide`)
|
||||
1. **קרא את המתודולוגיה**: `Read docs/decision-methodology.md` — חובה לפני כל כתיבה
|
||||
2. קרא פרטי התיק (`case_get`)
|
||||
3. קרא טענות מחולצות (`get_claims`)
|
||||
4. **קרא את עמדות יו"ר הוועדה (`get_chair_directions`) — חובה!**
|
||||
5. קבל תבנית החלטה (`get_decision_template`)
|
||||
6. קרא מדריך סגנון (`get_style_guide`)
|
||||
|
||||
### שלב 1ב: בדיקת עמדות יו"ר — חובה לפני כתיבה!
|
||||
|
||||
@@ -142,6 +143,26 @@ case_update(case_number, status="drafted")
|
||||
- ספירת מילים לכל בלוק
|
||||
- יחסי משקל (% מהמסמך)
|
||||
|
||||
### העֵר את העוזר המשפטי (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": "כותב החלטה סיים משימה [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',
|
||||
'כותב החלטה סיים משימה — נדרשת בדיקה',
|
||||
'pending', 'agent'
|
||||
);"
|
||||
```
|
||||
|
||||
**אם לא תעדכן סטטוס ל-drafted — בודק האיכות לא יוכל לרוץ!**
|
||||
|
||||
## בלוק י — דיון (הבלוק החשוב ביותר)
|
||||
|
||||
Reference in New Issue
Block a user