fix(claude_session): surface real CLI error + sanitize nested env (#85) #90
Reference in New Issue
Block a user
Delete Branch "worktree-task85-claude-session-nested"
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?
מה ולמה
תיקון TaskMaster
legal-ai#85 —write_interim_draftנכשל לכל הבלוקים מתוך instance ה-CEO עםClaude CLI failed (exit 1): unknown error.שני שינויים ב-
mcp-server/src/legal_mcp/services/claude_session.py:חשיפת השגיאה האמיתית (הזכייה הוודאית): ב-exit≠0 לוכדים ומתעדים גם stderr וגם stdout (ה-CLI לעיתים כותב את האבחון ל-stdout או לשום מקום), במקום לקרוס ל-"unknown error". זו בדיוק הסיבה ש-#85 נשאר לא-פתור — השגיאה האמיתית נבלעה.
הקשחה הגנתית: סינון סמני-סשן של Claude Code (
CLAUDECODE,CLAUDE_CODE_*,CLAUDE_AGENT_*,AI_AGENT,CLAUDE_EFFORT) מה-env של קריאתclaude -pמקוננת + הרצה מ-$HOME, כדי לנתק את הקריאה המקוננת ממצב-הסשן/פרויקט של ההורה. מיישר אתquery()עםquery_streaming()שכבר מגדירcwd=HOME. משתני auth/config נשמרים.Invariants — הצהרה
query()), כלל-הנדסה §6 (אין בליעה שקטה של שגיאות). INV:feedback_claude_session_local_onlyנשמר — כל הקריאות נשארות מקומיות.אימות
pytest tests/test_claude_session.py— 2 passed (סינון env: מסיר סמנים, שומר auth/PATH).query('...PONG')מקונן מתוך סשןCLAUDECODE=1מחזירPONG.🤖 Generated with Claude Code