docs: כלל קשיח — כל סשן עובד ב-worktree מבודד (מניעת מירוץ-ענף) #68

Merged
chaim merged 1 commits from docs/worktree-isolation-rule into main 2026-06-06 16:12:04 +00:00
Showing only changes of commit d37274a31b - Show all commits

View File

@@ -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 <branch-name> ~/legal-ai-wt-<slug> origin/main
cd ~/legal-ai-wt-<slug> # כל העריכות, ה-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-<slug> && git worktree prune && git branch -D <branch-name>`.
5. **קריאה-בלבד** (חקירה, סריקה, הרצת בדיקות ללא שינוי) — מותר בעץ הראשי; אין צורך ב-worktree.
6. **אל תיגע** בשינויים לא-מתויקים שאינם שלך בעץ הראשי — הם של סשן אחר. אם העץ הראשי על ענף זר — אל תתייק עליו.
> מוסכמות: location `~/legal-ai-wt-<slug>`, branch לפי הפרוסה (`fix/...`, `feat/...`, `docs/...`). ה-worktree חולק את אותו `.git` והיסטוריה — בידוד-קבצים בלבד, לא בידוד-repo. הקם מ-`origin/main` (לא מהענף שבעץ הראשי) כדי לקבל בסיס נקי ועדכני.
> חריג: סוכני Paperclip שמופעלים עם `cwd` מוכתב ע"י ה-runtime — שם הבידוד נאכף ברמת ה-runtime/issue, לא ידנית.
---
## שרת Nautilus (158.178.131.193)
| שירות | תפקיד | כתובת |