« Tüm yayınlar

Eşzamanlı Ajan Yamalarını Taban Commit'e Göre Birleştirme

Eşzamanlı kod ajanı yamalarını taban commit, diff dijesti ve hunk sahipliğiyle belirlenimci biçimde birleştiren protokol ve test senaryosu.

Birden fazla kodlama ajanı aynı taban commit'ten (A) başlayıp bağımsız yamalar ürettiğinde, 'son biten kazanır' yaklaşımı tamamlanma zamanlamasını depo doğruluğunun bir parçası haline getirir. Bu yazıda önerilen protokol, yama zarfına base_commit, diff SHA256, sahiplenilen hunk'lar (owned_hunks) ve gerekli test komutlarını ekleyerek birleştirme kararını açık ve tekrarlanabilir hale getiriyor.

Belirlenimci karar akışı; dijest ve base doğrulaması, sahiplik çakışması kontrolü, izole worktree'de rebase denemesi ve gerekli testlerin birleşimini çalıştırma adımlarından oluşuyor. Kazanan; görev başlama zamanı, tamamlanma zamanı, ajan kimliği veya deneme sayısına göre değil, bu deterministik akışa göre belirleniyor.

Çakışmalar üç sınıfa ayrılıyor: metinsel (aynı satırlar), yapısal (fonksiyon taşınırken düzenlenmiş) ve davranışsal (ayrı dosyalar tek bir değişmezi bozuyor). Git yalnızca birinci sınıfı güvenilir şekilde yakalayabiliyor; üçüncü sınıf için depo sahipli testler ve kritik yol sahipliği hâlâ gerekli.

Tekrarlanabilir bir test senaryosu, aynı hunk'ı değiştiren iki yama ile bağımsız bir yamanın farklı varış sıralarında aynı sonucu üretmesini doğruluyor. Sınırlamalar arasında kod taşındığında hunk sahipliğinin bayatlaması ve testlerin her ürün değişmezini kanıtlayamaması yer alıyor — bu nedenle insan çözüm yolu korunmalı.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz