Add decision-writing methodology based on FJC, Garner, Posner sources
"בית ספר להחלטות" Phase 2 — the system now has formal analytical
methodology for building quasi-judicial decisions, separate from
Dafna's writing style (SKILL.md) and content checklists.
What was done:
- Downloaded 5 authoritative sources (~341K words): FJC Judicial
Writing Manual (1991+2020), Garner Legal Writing in Plain English,
Posner How Judges Think, Scalia/Garner Making Your Case
- Extracted principles from all sources into intermediate docs
- Synthesized into docs/decision-methodology.md (3,400 words,
12 sections, 10 guiding principles)
- Integrated methodology into block-yod prompt via {methodology_guidance}
- Restructured legal-writer agent workflow to follow analytical stages
- Made "answer all claims" flexible (bundle/skip via chair_directions)
- Added methodology compliance check (#7) to legal-qa agent
- Updated all knowledge files (CLAUDE.md, SKILL.md, lessons, corpus)
Three-layer architecture:
1. Methodology (decision-methodology.md) — universal, how to think
2. Content checklists (lessons.py) — specific per appeal subtype
3. Style (SKILL.md) — Dafna's personal writing patterns
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -519,3 +519,65 @@ def get_content_checklist(
|
||||
|
||||
# Default: substantive licensing
|
||||
return CONTENT_CHECKLISTS["licensing_substantive"]
|
||||
|
||||
|
||||
# ── Methodology guidance (condensed from decision-methodology.md) ──
|
||||
|
||||
_METHODOLOGY_CORE = """## מתודולוגיה אנליטית — עקרונות מנחים לכתיבת הדיון
|
||||
|
||||
### מבנה סילוגיסטי לכל סוגיה
|
||||
כל סוגיה נבנית כסילוגיזם: (1) הנחה עליונה = הכלל (הוראת תכנית, חוק, הלכה); (2) הנחה תחתונה = העובדות הספציפיות; (3) מסקנה. אם לא ניתן לזהות את הכלל — ההנמקה אינה מספקת. אם לא ניתן לזהות כיצד העובדות מקיימות את הכלל — ההנמקה קריפטית.
|
||||
|
||||
### התחל מלשון הטקסט
|
||||
כשהמקרה נשלט על ידי הוראת תכנית או סעיף חוק — פתח בציטוט ההוראה. פרש מילים במשמעותן הרגילה. תן תוקף לכל מילה. אם יש עמימות — השתמש בכלי פרשנות.
|
||||
|
||||
### הפרד ממצא עובדתי ממסקנה משפטית
|
||||
"הבניה במרחק 1.5 מטרים מגבול המגרש" = ממצא עובדתי. "חריגה זו עולה כדי סטייה ניכרת" = מסקנה משפטית. אל תערבב.
|
||||
|
||||
### CREAC לכל סוגיה
|
||||
1. מסקנה — פתח בתשובה ("הבקשה אינה תואמת...")
|
||||
2. כלל — ציטוט ההוראה
|
||||
3. הרחבה — תקדים רלוונטי אחד (אם נדרש)
|
||||
4. יישום — החלת הכלל על העובדות (לב ההנמקה)
|
||||
5. מסקנה חוזרת — סגירה תמציתית
|
||||
|
||||
### Steel-Man — הצג טענה בחוזקתה לפני דחייה
|
||||
לפני שדוחים טענה — הצג אותה בגרסה החזקה ביותר: "אמנם צודק העורר כי [נקודה לטובתו], אולם [הנימוק לדחייה]." טענת קש קלה להפריך אך לא משכנעת.
|
||||
|
||||
### טכניקת סנדוויץ' לציטוטים
|
||||
כל ציטוט עטוף: משפט הקדמה (מודיע על התוכן) → ציטוט → ניתוח (מסביר כיצד רלוונטי למקרה). אל תניח שהקורא יקרא ציטוט ארוך ויפיק ממנו מסקנות בעצמו.
|
||||
|
||||
### נתונים, לא תיאורים
|
||||
"הבקשה חורגת ב-1.5 מטרים מקו הבניין" — לא "הבקשה חורגת באופן משמעותי." מספרים, מידות, אחוזים.
|
||||
|
||||
### כנות לגבי קושי
|
||||
כשהמקרה קשה — אמור זאת: "הדבר אינו נקי מספקות, אולם..." אל תעמיד פנים שמקרה קשה הוא קל.
|
||||
|
||||
### כל מילה עובדת
|
||||
"לאחר ששקלנו את כלל השיקולים" — ריק, מחק. מבחן: אם מוחקים את המשפט וההחלטה לא מאבדת מידע — המשפט מיותר.
|
||||
|
||||
### איזון ומידתיות (כשהכלל לא נותן תשובה חד-משמעית)
|
||||
כשנדרש איזון:
|
||||
1. זהה אינטרסים קונקרטיים (לא "אינטרס הציבור" אלא "שמירה על אופי מגורים צמודי קרקע")
|
||||
2. בחן השלכות לכל כיוון: מה קורה אם מקבלים? אם דוחים?
|
||||
3. שקול השלכות מערכתיות: מה הסיגנל שנשלח למערכת?
|
||||
4. ציין מה מכריע את הכף ולמה
|
||||
כשמטילים מגבלה/תנאי — מבחן מידתיות: (1) תכלית ראויה?; (2) אמצעי פוגע פחות?; (3) פגיעה מידתית ביחס לתועלת?
|
||||
|
||||
### טיפול בטענות
|
||||
- ההחלטה מנתחת שאלות — לא מתווכחת עם עו"ד. מבנה: שאלה→כלל→עובדות→מסקנה
|
||||
- טענות שסומנו [bundle] ב-chair_directions: קבץ ודון יחד
|
||||
- טענות שסומנו [skip] ב-chair_directions: ציון קצר בלבד
|
||||
- טענות ללא סימון: ענה בנפרד עם מענה מנומק
|
||||
- טענה מרכזית של הצד המפסיד חייבת מענה Steel-Man
|
||||
- מיקום ההתמודדות עם טענות נגדיות: באמצע הדיון בסוגיה (לא בהתחלה ולא בסוף)
|
||||
"""
|
||||
|
||||
def get_methodology_summary() -> str:
|
||||
"""Return the condensed methodology guidance — always the same, always complete.
|
||||
|
||||
The methodology is universal: it teaches HOW to think, not WHAT to discuss.
|
||||
Case-specific content (parking, building lines, significant deviation) belongs
|
||||
in the content checklists, not here.
|
||||
"""
|
||||
return _METHODOLOGY_CORE
|
||||
|
||||
Reference in New Issue
Block a user