diff --git a/CLAUDE.md b/CLAUDE.md index a3a9a4e..49ec951 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -99,6 +99,30 @@ --- +## בידוד-סשנים — worktree מבודד חובה ⚠️ + +> **כלל קשיח.** בכל רגע נתון רצים **כמה סשנים במקביל** על אותו עץ-עבודה (`~/legal-ai`) — סשנים אינטראקטיביים של chaim **וגם** סוכני Paperclip. עץ-עבודה אחד = ענף-גיט אחד משותף, כך שסשן אחד מחליף branch / משאיר שינויים לא-מתויקים תוך כדי שאחר עובד → **דריסה הדדית ומירוץ-ענף** ([[feedback_shared_worktree_branch_race]]). + +**לכן — כל סשן שעומד לכתוב/לשנות קוד או תיעוד חייב לעבוד ב-git worktree מבודד משלו. אסור לערוך/לתייק בעץ-העבודה הראשי `~/legal-ai` כשייתכן שסשן אחר פעיל.** + +הפרוטוקול: +1. **בתחילת עבודת-כתיבה** — צור worktree ייעודי מ-`main` עדכני: + ```bash + cd ~/legal-ai && git fetch origin + git worktree add -b ~/legal-ai-wt- origin/main + cd ~/legal-ai-wt- # כל העריכות, ה-commit וה-push מכאן + ``` +2. **אמת ענף לפני כל commit** — `git branch --show-current` (גם ב-worktree, הרגל). +3. **push + PR + merge** כרגיל ([[feedback_always_pr_merge]]) — PR תמיד ל-`main`. +4. **נקה אחרי מיזוג** — `cd ~/legal-ai && git worktree remove ~/legal-ai-wt- && git worktree prune && git branch -D `. +5. **קריאה-בלבד** (חקירה, סריקה, הרצת בדיקות ללא שינוי) — מותר בעץ הראשי; אין צורך ב-worktree. +6. **אל תיגע** בשינויים לא-מתויקים שאינם שלך בעץ הראשי — הם של סשן אחר. אם העץ הראשי על ענף זר — אל תתייק עליו. + +> מוסכמות: location `~/legal-ai-wt-`, branch לפי הפרוסה (`fix/...`, `feat/...`, `docs/...`). ה-worktree חולק את אותו `.git` והיסטוריה — בידוד-קבצים בלבד, לא בידוד-repo. הקם מ-`origin/main` (לא מהענף שבעץ הראשי) כדי לקבל בסיס נקי ועדכני. +> חריג: סוכני Paperclip שמופעלים עם `cwd` מוכתב ע"י ה-runtime — שם הבידוד נאכף ברמת ה-runtime/issue, לא ידנית. + +--- + ## שרת Nautilus (158.178.131.193) | שירות | תפקיד | כתובת |