Sorun
ds-agent --cwd /tmp/wt-X ile başlatılan DeepSeek worker'ı, brief'te "sadece worktree" dense bile dosyayı MUTLAK yolla ana repo checkout'unda (/Users/rbinar/Documents/Repos/...) bulup ORAYA yazabiliyor. 2026-07-06'da aynı oturumda 2 kez yaşandı (blinkfin-android ChatHistoryHydrator.kt ve ChatViewModel.kt). Babysitter git status kontrolüyle yakalayıp revert etti; yakalanmasa ana checkout kirlenecekti.
meta.json cwd'yi doğru gösteriyor (/tmp/wt-X) ama bu yalnız başlangıç dizini — dosya erişim sınırı yok.
Repro
git worktree add --detach /tmp/wt-X origin/main
ds-agent --cwd /tmp/wt-X + "X dosyasını düzenle" brief'i (dosya adı repo genelinde tekil)
- Worker bazen
grep/find'ı ana checkout'ta çalıştırıp mutlak yolu oradan çözüyor → edit ana checkout'a gidiyor
Geçici çözüm (bugün kullanılan)
- Brief'e büyük harfle "SADECE /tmp/wt-X altına dokun; /Users/... yolunu ASLA kullanma; relative path kullan" yazmak riski azaltıyor ama SIFIRLAMIYOR (2. olay bu talimat VARKEN oldu; ancak "relative path kullan" eklenince geçti).
- Babysitter'a zorunlu adım: iş bitince ana checkout'ta
git status --short sızıntı kontrolü.
Öneri
ds-worktree-run.sh / ds-agent'a post-run guard: çalışma bitiminde ana repo checkout'u dirty ise FAIL + diff'i patch olarak kaydet + otomatik revert seçeneği.
- Mümkünse worker sandbox'ına dosya-yazma path allowlist'i (yalnız cwd altı).
- Ek:
ds-worktree-run.sh orkestratör zaten worktree vermişken kendi /tmp/ds-wt-* worktree'sini de açıyor (boş kalıp artık bırakıyor — bugün issue-954-chat-p3 branch'i + 2 stray worktree temizlendi). Verilen cwd bir worktree ise yenisini açmama bayrağı eklenebilir.
Sorun
ds-agent --cwd /tmp/wt-Xile başlatılan DeepSeek worker'ı, brief'te "sadece worktree" dense bile dosyayı MUTLAK yolla ana repo checkout'unda (/Users/rbinar/Documents/Repos/...) bulup ORAYA yazabiliyor. 2026-07-06'da aynı oturumda 2 kez yaşandı (blinkfin-android ChatHistoryHydrator.kt ve ChatViewModel.kt). Babysittergit statuskontrolüyle yakalayıp revert etti; yakalanmasa ana checkout kirlenecekti.meta.jsoncwd'yi doğru gösteriyor (/tmp/wt-X) ama bu yalnız başlangıç dizini — dosya erişim sınırı yok.Repro
git worktree add --detach /tmp/wt-X origin/mainds-agent --cwd /tmp/wt-X+ "X dosyasını düzenle" brief'i (dosya adı repo genelinde tekil)grep/find'ı ana checkout'ta çalıştırıp mutlak yolu oradan çözüyor → edit ana checkout'a gidiyorGeçici çözüm (bugün kullanılan)
git status --shortsızıntı kontrolü.Öneri
ds-worktree-run.sh/ds-agent'a post-run guard: çalışma bitiminde ana repo checkout'u dirty ise FAIL + diff'i patch olarak kaydet + otomatik revert seçeneği.ds-worktree-run.shorkestratör zaten worktree vermişken kendi/tmp/ds-wt-*worktree'sini de açıyor (boş kalıp artık bırakıyor — bugünissue-954-chat-p3branch'i + 2 stray worktree temizlendi). Verilen cwd bir worktree ise yenisini açmama bayrağı eklenebilir.