Skip to content

ds-agent: --cwd izolasyonu deliniyor — worker mutlak yolla ANA CHECKOUT'u düzenliyor (aynı günde 2 kez) #68

Description

@rbinar

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

  1. git worktree add --detach /tmp/wt-X origin/main
  2. ds-agent --cwd /tmp/wt-X + "X dosyasını düzenle" brief'i (dosya adı repo genelinde tekil)
  3. 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

  1. 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.
  2. Mümkünse worker sandbox'ına dosya-yazma path allowlist'i (yalnız cwd altı).
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions