"""Lessons learned from comparing AI drafts to Dafna Tamir's final decisions. Source: docs/legal-decision-lessons.md Based on analysis of: Hecht 1180-1181 (rejection) and Beit HaKerem 1126/25+1141/25 (partial acceptance). """ from __future__ import annotations # ── Valid outcome values ──────────────────────────────────────────── VALID_OUTCOMES = ("rejection", "partial_acceptance", "full_acceptance", "betterment_levy") # ── Golden Ratios (section % of total) ───────────────────────────── GOLDEN_RATIOS: dict[str, dict[str, tuple[int, int]]] = { "rejection": {"background": (15, 25), "claims": (30, 40), "discussion": (37, 50), "summary": (2, 9)}, "full_acceptance": {"background": (30, 40), "claims": (20, 30), "discussion": (35, 45), "summary": (3, 5)}, "partial_acceptance": {"background": (25, 35), "claims": (25, 30), "discussion": (40, 47), "summary": (2, 3)}, "betterment_levy": {"background": (6, 18), "claims": (13, 25), "discussion": (32, 48), "summary": (3, 4)}, } # ── Paragraph length guidance (word counts) ──────────────────────── PARAGRAPH_LENGTHS = { "claims": (40, 60), "discussion_regular": (40, 80), "discussion_with_citation": (200, 600), "discussion_average": (80, 120), } # ── Transition phrases ───────────────────────────────────────────── TRANSITION_PHRASES = [ # From Hecht (rejection) {"phrase": "ועל מנת לא לצאת בחסר", "context": "פתיחת obiter dicta", "outcome": None}, {"phrase": "נציין כי טענות אלו נטענו בלשון רפה", "context": "הכרה בטענות חלשות", "outcome": None}, {"phrase": "עינינו הרואות", "context": "סיכום אחרי ציטוט ארוך", "outcome": None}, {"phrase": "נוסיף.", "context": "מעבר חד (מילה אחת)", "outcome": None}, {"phrase": "אם כך, לעת הזו", "context": "מסקנה מציטוטים", "outcome": None}, {"phrase": "למיטב הבנתנו", "context": "עמדה זהירה", "outcome": None}, {"phrase": "נשלים ונציין", "context": "נקודה אחרונה לפני סיכום", "outcome": None}, # From Beit HaKerem (partial acceptance) {"phrase": "הדברים משליכים על שיקול הדעת ב...", "context": "קישור ממצא למסקנה", "outcome": "partial_acceptance"}, {"phrase": "רוצה לומר כי", "context": "הסבר חלופי", "outcome": None}, {"phrase": "נוצר מצב בו", "context": "הצגת בעיה", "outcome": None}, {"phrase": "לכך נוסיף כי", "context": "הוספת נדבך", "outcome": None}, {"phrase": "יש אולי להצר על כך ש...", "context": "ביקורת עדינה", "outcome": None}, {"phrase": "עם ההבנה לטענה זו של העוררים, אין בידנו לקבלה", "context": "acknowledge-reject מרוכך", "outcome": None}, ] # ── Opening strategies by outcome ────────────────────────────────── OPENING_STRATEGIES = { "rejection": { "style": "broad_contextual", "paragraphs": (5, 8), "description": "פתיחה רחבה — הקשר תכנוני כללי, רקע לפני צלילה לטענות", }, "full_acceptance": { "style": "direct_conclusion", "paragraphs": (1, 2), "description": "פתיחה ישירה — ישר למסקנה, תמציתית", }, "partial_acceptance": { "style": "tension_mapping", "paragraphs": (3, 6), "description": ( "מיפוי מתחים — 1-2 פסקאות על ערך התכנון, " "אחר כך 'בערר דנן עולות שאלות כיצד והאם...' " "עם רשימת 4-6 נקודות מתח בבולטים, " "ואז 'כל הנקודות לעיל עומדות לפנינו...' → מעבר לניתוח" ), }, "betterment_levy": { "style": "direct_factual", "paragraphs": (1, 3), "description": ( "פתיחה ישירה ועובדתית: 'בפנינו ערר על דרישת תשלום היטל השבחה מיום [תאריך] " "בסך של [סכום] ₪' → רקע קצר (נכס, תכנית משביחה, מימוש) → " "תמצית טענות הצדדים (עוררים + משיבה בנפרד). " "אין הקשר תכנוני רחב. הפתיחה = עובדות בלבד." ), }, } # ── Summary strategies by outcome ────────────────────────────────── SUMMARY_STRATEGIES = { "rejection": { "heading": "סיכום", "format": "numbered_hebrew_with_warm_closing", "description": "אותיות עבריות (א-ו) עם פירוט נימוקים + פסקת סיום חמה", }, "full_acceptance": { "heading": "סוף דבר", "format": "prose_paragraphs", "description": "פרוזה (3-5 פסקאות), ללא פסקה חמה", }, "partial_acceptance": { "heading": "סוף דבר", "format": "ultra_minimal_operative", "description": ( "אולטרה-מינימלי: 2-3 הוראות אופרטיביות בלבד. " "אפס חזרה על נימוקים. אפס הוצאות. אפס סיום חם. " "כל ההנמקה כבר בדיון — הסיכום = רק מה מתקבל, מה נדחה, ותנאים" ), }, "betterment_levy": { "heading": "various", "format": "dry_operative", "description": ( "סיום יבש ואופרטיבי. כותרת משתנה: 'סוף דבר' / 'לאור כל האמור לעיל' / ללא כותרת. " "תוכן: 'הערר נדחה/מתקבל' + הוצאות ('כל צד ישא בהוצאותיו' / חיוב בסכום). " "אם מתקבל: הוראות אופרטיביות (החזר, שומה מתוקנת, תנאים). " "חתימה: 'ניתנה פה אחד היום, [תאריך עברי], [תאריך לועזי].' " "לעיתים: 'התיק ייסגר.' / 'עומדת זכות ערר כדין.' " "אין פסקה חמה. אין חזרה על נימוקים." ), }, } # ── Discussion structure rules ───────────────────────────────────── DISCUSSION_RULES: dict[str, list[str]] = { "universal": [ "פרק הדיון = מאסה רציפה. אין כותרות משנה (H2/H3). מעברים רק עם ביטויי מעבר טקסטואליים.", "חריג יחיד לכותרות משנה: נושאים נפרדים לחלוטין (למשל: הקלה בגובה + התייחסות לטענות נוספות).", "טווח אורך סעיפים: 20 עד 600+ מילים. סעיף עם ציטוט מקיף = בלוק אחד שלם, לא שבירה לסעיפים קצרים.", ], "rejection": [ "מבנה עיגולים קונצנטריים: שכבות הגנה — סף (ס' 152) → מריט → obiter dicta.", "שאלת הסף (ס' 152) = כלי אסטרטגי, לא חובה. משתמשים בה כשהיא חזקה.", ], "partial_acceptance": [ "מבנה: מיפוי מתחים → ניתוח נושא-נושא → הוראות אופרטיביות.", "שאלת הסף (ס' 152) — בדרך כלל מדלגים. כשיש שאלות מהותיות חזקות (חניה, שימור, קווי בניין), דפנה מעדיפה דיון בגוף העניין.", "דפוס 'בית בודד': כשתמ\"א 38 חלה על בית בודד, אינטרס החיזוק מוחלש → שיקול דעת זהיר יותר.", "דפוס 'תכנית אב כמגן': כשקיימת תכנית אב → לצטט אותה → ההיתר 'משתלב עם ראיה כללית'.", ], "full_acceptance": [ "מבנה ישיר: נקודות עיקריות → ניתוח → מסקנה.", ], "betterment_levy": [ "פתיחת דיון: מסקנה מוקדמת ('לאחר שבחנו... מצאנו כי דין הערר להידחות/להתקבל').", "תקן ביקורת: ציון רף ההתערבות בשומה מכרעת (בר\"ם 3644/13 גלר) — אבחנה בין שמאי למשפטי.", "הצגת הלכה פסוקה: ציטוט ארוך מפס\"ד מרכזי → 'ברוח הדברים לעיל נבחן את טענות הצדדים'.", "טיפול שיטתי: כל טענה/סוגיה בנפרד → ניתוח → מסקנת ביניים.", "ביטויים: 'אין בידינו לקבל', 'לא מצאנו מקום להתערב', 'קביעה נכונה שאין מקום להתערב בה'.", "'על מנת לא לצאת בחסר' — לנקודות obiter dicta בסוף הדיון.", ], } # ── Citation technique ───────────────────────────────────────────── CITATION_GUIDANCE = ( "העדפה לציטוט דרך 'החלטה מרכזת' — החלטה אחת שכבר ריכזה את הפסיקה הרלוונטית. " "דפוס: 'נפנה לניתוח המקיף שערכה ועדת הערר במסגרת ערר [שם]...' → בלוק ציטוט 200-500 מילים → 'אם כך, לעת הזו...'. " "גמישות: כשיש שאלות משפטיות מרובות או חדשניות, כל נושא עשוי לדרוש תקדים נפרד. " "בנושאי חניה/תשתיות — צלילה לעומק: ציטוט ישיר של הוראות תכנית (400+ מילים עם ניתוח שזור)." ) # ── Decision templates by outcome ────────────────────────────────── _HEADER = """# החלטה ## בפני: דפנה תמיר, יו"ר ועדת הערר מחוז ירושלים **ערר מספר:** {case_number} **נושא:** {subject} **העוררים:** {appellants} **המשיבים:** {respondents} **כתובת הנכס:** {property_address} --- """ DECISION_TEMPLATES: dict[str, str] = { "rejection": _HEADER + """## א. רקע עובדתי [תיאור הרקע העובדתי של הערר] ## ב. טענות העוררים [סיכום טענות העוררים] ## ג. טענות המשיבים [סיכום טענות המשיבים] ## ד. דיון [ניתוח משפטי — אסה רציפה] ## ה. סיכום [סיכום בפורמט רשימה ממוספרת + סיום חם] --- ניתנה היום, {date} דפנה תמיר, יו"ר ועדת הערר """, "partial_acceptance": _HEADER + """## א. רקע עובדתי [תיאור הרקע העובדתי של הערר] ## ב. טענות העוררים [סיכום טענות העוררים] ## ג. טענות המשיבים [סיכום טענות המשיבים] ## ד. דיון [ניתוח משפטי — אסה רציפה] ## ה. סוף דבר [הוראות אופרטיביות בלבד: מה מתקבל, מה נדחה, תנאים] --- ניתנה היום, {date} דפנה תמיר, יו"ר ועדת הערר """, "full_acceptance": _HEADER + """## א. רקע עובדתי [תיאור הרקע העובדתי של הערר] ## ב. טענות העוררים [סיכום טענות העוררים] ## ג. טענות המשיבים [סיכום טענות המשיבים] ## ד. דיון [ניתוח משפטי — אסה רציפה] ## ה. סוף דבר [סוף דבר בפרוזה] --- ניתנה היום, {date} דפנה תמיר, יו"ר ועדת הערר """, "betterment_levy": _HEADER + """## א. רקע עובדתי [תיאור הרקע העובדתי של הערר] ## ב. טענות העוררים [סיכום טענות העוררים] ## ג. טענות המשיבים [סיכום טענות המשיבים] ## ד. דיון [ניתוח משפטי — אסה רציפה] ## ה. סיכום [סיכום בפורמט רשימה ממוספרת, סיום יבש] --- ניתנה היום, {date} דפנה תמיר, יו"ר ועדת הערר """, } # ── Helper function ──────────────────────────────────────────────── def get_lessons_for_outcome(outcome: str) -> dict: """Assemble all relevant lessons for a given expected outcome.""" if outcome not in VALID_OUTCOMES: return {"error": f"outcome must be one of: {', '.join(VALID_OUTCOMES)}"} ratios = GOLDEN_RATIOS[outcome] rules = DISCUSSION_RULES.get("universal", []) + DISCUSSION_RULES.get(outcome, []) # Filter transition phrases: universal + outcome-specific phrases = [ p for p in TRANSITION_PHRASES if p["outcome"] is None or p["outcome"] == outcome ] return { "outcome": outcome, "golden_ratios": { k: f"{v[0]}-{v[1]}%" for k, v in ratios.items() }, "opening_strategy": OPENING_STRATEGIES[outcome], "summary_strategy": SUMMARY_STRATEGIES[outcome], "discussion_rules": rules, "citation_guidance": CITATION_GUIDANCE, "transition_phrases": [ {"phrase": p["phrase"], "context": p["context"]} for p in phrases ], "paragraph_lengths": { k: f"{v[0]}-{v[1]} מילים" for k, v in PARAGRAPH_LENGTHS.items() }, } def format_ratios_comment(outcome: str, section: str) -> str: """Format golden ratio as an HTML comment for templates.""" ratios = GOLDEN_RATIOS.get(outcome, {}) if section in ratios: lo, hi = ratios[section] return f"יעד: {lo}-{hi}% מסך ההחלטה" return "" # ── Content checklists by appeal subtype ────────────────────────── # Based on systematic analysis of 24 decisions from Dafna's corpus. # See: docs/corpus-analysis.md CONTENT_CHECKLISTS: dict[str, str] = { "licensing_substantive": """## צ'קליסט תוכן — ערר רישוי מהותי (חובה) הדיון חייב לכלול את הנושאים הרלוונטיים מהרשימה הבאה. **אל תדלג על נושא שרלוונטי לתיק — בדוק כל סעיף.** ### א. הקשר תכנוני רחב (חובה בכל ערר מהותי) - תכניות חלות — ציין את התכניות הרלוונטיות ברמה מקומית, מחוזית וארצית (לפי הצורך) - ייעוד הקרקע — מה הייעוד בתכנית? מה השימושים המותרים? - אופי הסביבה — מרקם בנוי, צפיפות, אופי שכונה/ישוב - *דוגמה*: בערר פרומר — 12 סעיפים על MI/200, תמ"א 35, תמ"מ 30/1 ### ב. ניתוח הוראות תכנית (כשיש שאלה של התאמה/סטייה) - ציטוט ישיר מהוראות התכנית הרלוונטיות (200-600 מילים לכל ציטוט) - פרשנות — מה תכלית ההוראה? - יישום — האם הבקשה תואמת או סוטה? - *דוגמה*: בערר לבנון — ניתוח חתכים של נספח בינוי מול הבקשה ### ג. חניה (כשרלוונטי — מופיע ב-8 מתוך 24 החלטות) - הוראות תכנית + נספח תנועה (ציטוט ישיר) - חישוב מקומות חניה נדרשים vs. מסופקים - חלופות: קרן חניה, חפיפת שימושים, קרבה לתח"צ - *דוגמה*: בערר בית הכרם — 8 סעיפים, 400+ מילים מהוראות תכנית 5166ב ### ד. קווי בניין ומרווחים (כשרלוונטי) - הוראת תכנית על מרווחים - סטייה ניכרת? — תקנה 2(19) / הלכת בן-יקר-גת - הצדקה + מידתיות — פגיעה בשכנים? ### ה. גובה וקומות (כשרלוונטי) - הוראת תכנית + נספח בינוי (חתכים) - מטרת ההגבלה — למה יש הגבלת גובה כאן? - סטייה ניכרת — תקנה 2(10) / 2(8) ### ו. פגיעה בשכנים (כשרלוונטי) - ממצאי סיור באתר - השפעה: צל, פרטיות, רעש, נוף - מידתיות — האם הפגיעה סבירה? ### ז. שימוש חורג (כשרלוונטי) - מה השימוש המותר בתכנית? מה השימוש המבוקש? - "מבחן ההתאמה" — האם השימוש מתאים למיקום? - תנאים ומגבלות """, "licensing_threshold": """## צ'קליסט תוכן — ערר רישוי סף/סמכות הערר עוסק בשאלות סף — אין צורך בדיון תכנוני מקיף. ### א. שאלת הסמכות - סעיפי חוק רלוונטיים (ס' 12ב, 152, וכו') - פסיקה על גבולות הסמכות ### ב. זכות ערר - מי רשאי לערור? באיזה מסלול? - הלכת שפר (עע"מ 317/10) — כשרלוונטית ### ג. שיהוי (אם רלוונטי) """, "licensing_property": """## צ'קליסט תוכן — ערר רישוי קנייני הערר עוסק בעיקר בשאלת תימוכין קנייניים — דיון משפטי. ### א. מסגרת נורמטיבית - הלכת עייזן, בני אליעזר, רוזן — "היתכנות קניינית" - ס' 71ב לחוק המקרקעין ### ב. בחינת הראיות - הסכמות, רישום, היסטוריית בנייה - חלוקה דה-פקטו ארוכת שנים ### ג. הפרדה בין קניין לתכנון - גוף תכנוני אינו מכריע בסכסוכי קניין - "היתכנות קניינית" ≠ הוכחת בעלות ### ד. שאלות תכנוניות (אם רלוונטיות) - אם הערר עולה גם שאלות תכנוניות — דון בהן בנפרד """, "tama38": """## צ'קליסט תוכן — ערר תמ"א 38 הדיון חייב לאזן בין אינטרס ציבורי לפגיעה בשכנים. ### א. אינטרס ציבורי — חיזוק/התחדשות - עוצמת האינטרס — בניין גדול vs. בית בודד - "בית בודד" מחליש את אינטרס החיזוק - תרומה לרקמה העירונית ### ב. תכנית אב / מדיניות אזורית - האם יש תכנית אב? מדיניות 16000? - התאמה לראיה כללית vs. אד-הוק ### ג. ניתוח השוואתי - זכויות לפי תכנית קיימת vs. מבוקש לפי תמ"א 38 - שטחים, קומות, קווי בניין — טבלת השוואה ### ד. שימור (כשרלוונטי) - חוות דעת אגף שימור - השפעה על מיקום/צורת הבניין ### ה. חניה (כמעט תמיד רלוונטי) - הוראות תכנית + ס' 17 לתמ"א 38 - פטורים — קרבה לתח"צ, קרן חניה, תכנית אב - ניתוח מפורט של חלופות ### ו. פגיעה בשכנים - ממצאי סיור - צל, פרטיות, קרבה - מידתיות — מה הפגיעה ביחס לתועלת? ### ז. מטרדי בנייה - "מטרד בנייה אינו עילה לסירוב" — אך תנאים נדרשים - תכנית ארגון אתר """, "betterment_levy": """## צ'קליסט תוכן — ערר היטל השבחה מבוסס על ניתוח 26 החלטות של דפנה תמיר (קורפוס CMPA, אפריל 2026). ### א. תקן ביקורת (חובה בפתיחת הדיון) - ציין את רף ההתערבות: "ועדת הערר תיטה לאמץ את חוות דעתו של השמאי..." - אבחנה: התערבות מצומצמת בעניינים שמאיים-מקצועיים, התערבות רחבה בעניינים משפטיים - הפניה ל-בר"ם 3644/13 גלר או פסיקה דומה ### ב. המסגרת הנורמטיבית - התוספת השלישית לחוק התכנון והבנייה - סעיפי הפטור הרלוונטיים (ס' 19(ג), ס' 19(ב) וכו') - אירוע מס — מה יצר את ההשבחה? (תכנית, היתר, מכר) - מועד המימוש ומועד הקובע ### ג. שומה ומתודולוגיה שמאית - שיטת השומה (שומה מכרעת / שומה מוסכמת / שמאי מייעץ) - מבחן השימוש הטוב והיעיל (highest and best use) — מצב קודם ומצב חדש - זכויות בנייה — לפני ואחרי (אחוזי בנייה, שטחים עיקריים, תמהיל שימושים) - שווי מקרקעין — מצב קודם ומצב חדש (שיטת השוואה / יחידות תועלת) - עלויות עודפות (חניה, מטלות ציבוריות, תשתיות) - מקדמי זמינות, שיעורי הפקעה ### ד. שאלות משפטיות (לפי רלוונטיות) - פטורים — דירת מגורים (ס' 19(ג)(1)), שטח עד 140 מ"ר, תא משפחתי - מועד מימוש — זיכרון דברים vs הסכם מכר, העברת זכויות - זהות החייב — בעלים, חוכר, יזם, חברה בבעלות יזם - מקרקעי ישראל — הסדרים מיוחדים (ס' 21 לתוספת השלישית) - שומות מוסכמות — תוקף, משמעות, "בלתי נצפה מראש" - פרשנות תכניות — ייעוד, שימושים מותרים, מדיניות ועדה מקומית ### ה. ניתוח שמאי (כשיש שומה מכרעת) - האם השומה מבוססת על מסד עובדתי הולם? - האם השיטה השמאית מקובלת? - האם ההנחות סבירות והגיוניות? - טעות מהותית / דופי חמור? - פגם מינהלי (ניגוד עניינים, משוא פנים)? """, } def get_content_checklist( appeal_type: str = "", subject: str = "", subject_categories: list[str] | None = None, ) -> str: """Return the appropriate content checklist based on case characteristics. Determines the subtype from case metadata: - TAMA 38 cases → tama38 checklist - Betterment levy (8xxx) → betterment_levy checklist - Property-only cases → licensing_property checklist - Threshold/jurisdiction cases → licensing_threshold checklist - All other licensing → licensing_substantive checklist """ cats = subject_categories or [] subject_lower = subject.lower() if subject else "" appeal_lower = appeal_type.lower() if appeal_type else "" # TAMA 38 if any( kw in subject_lower for kw in ["תמ\"א 38", "תמא 38", "תמ\"א38", "חיזוק", "tama"] ) or "תמ\"א 38" in cats: return CONTENT_CHECKLISTS["tama38"] # Betterment levy if "היטל השבחה" in appeal_lower or "betterment" in appeal_lower or any( "היטל" in c for c in cats ): return CONTENT_CHECKLISTS["betterment_levy"] # Property-focused (תימוכין קנייניים) if any( kw in subject_lower for kw in ["תימוכין", "קנייני", "בעלות", "הסכמת דיירים"] ): return CONTENT_CHECKLISTS["licensing_property"] # Threshold/jurisdiction if any( kw in subject_lower for kw in ["סמכות", "סף", "סילוק על הסף", "זכות ערר"] ): return CONTENT_CHECKLISTS["licensing_threshold"] # 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