« Tüm yayınlar

ArDD'de git worktree hataları: sadece çalıştırınca görülebildi

ArDD aracında git worktree ve subagent koordinasyonunda yalnızca çalıştırılarak bulunabilen hatalar ve kalıcı mimari çözüm.

ArDD, Claude Code üzerinde çalışan ve bir projeyi plan-görev-uygulama akışından geçiren bir ajan aracı. Yazar, alt görevleri ayrı git worktree'lerinde çalışan bir subagent'a devrederken kodu okuyarak değil, gerçek bir smoke test çalıştırarak iki kritik hata buldu: worktree'lerin yerel HEAD yerine uzak takip dalından oluşturulması ve worktree add komutunun ana checkout'un git ayarlarını (core.bare=true) açıklanamayan şekilde bozması.

Birinci soruna karşı worktree-align.sh adlı küçük bir betik eklendi; subagent ilk iş olarak fast-forward kontrolü yapıyor, temiz değilse çalışmayı durduruyor. İkinci soruna kalıcı bir çözüm bulunamadı, bunun yerine her devir sonrası kontrol eden bir tripwire eklendi — sessiz bir hata yerine gürültülü bir bilinen-bilinmeyen tercih edildi.

Asıl kalıcı değişiklik ise mimari: koordinasyon durumu artık işten önce ana dala işlenmiyor, üretildiği dal üzerinde taşınıyor ve merge anında kodla birlikte iniyor. Böylece yarıda ölen bir subagent çalışması ana dalda hiçbir iz bırakmıyor — ya birleşiyor ya da hiç olmamış gibi kalıyor. Paralel ajan araçları geliştiren herkes için çıkarım net: koordinasyon durumunu iş bitmeden materyalize etmeyin.