AiTools.ConductorSyncTool 1.0.0.1536

conductor-sync

Conductor'in POST /prepare ucunu saran ince global dotnet tool (AIT-726). Ajanin/operatorun her projeden kosabilecegi tek komut: proje-app + rol calisma ortamini conductor'a kurdurur (worktree + agent-PAT mint + profile-sync render).

Kararin kaydi: decision/design/conductor-sync-cli. Cozulen bosluk "adresi bilmek" degil "cagirabilmek": baska bir repoda oturan koordinator conductor'i CALISTIRAMIYORDU. Endpoint'i arac bilir; ajan HTTP istegi kurmaz.

Sifir paket bagimliligi (System.Net.Http + System.Text.Json).

Ayni makine siniri (once bunu oku)

Conductor loopback-bind'dir ve loopback-disi Host basligini 403 host_not_allowed ile reddeder (client/conductor/service/Configuration/LocalHostGuard.cs). Yani bu arac conductor ile ayni makinede calisir; uzak bir conductor'a baglanma yolu YOKTUR.

Loopback-disi bir adres verilirse arac istegi gondermez: kullanim hatasi doner (exit 3) ve sinirin adini soyler. Yaniltici bir "deneyip 403 al" davranisi bilincli olarak yok.

"Ayni makine" YETMEZ: ag namespace'i de erisebilir olmali. Olculdu -- Windows tarafinda kosan koordinator oturumu conductor'a erisir, WSL tarafindan ERISILEMEZ (WSL'den hem loopback hem Windows host IP'si cevapsiz kalir, conductor AYAKTA iken). Sebep yapisal: WSL2 ayri bir ag namespace'indedir ve Windows loopback'ine ulasamaz. Bugun bu isi bozmaz -- araci koordinator kosar, WSL'deki rol ajani kendi ortamini kurmaz.

Sonucu bir teshis tuzagidir: WSL'den kosarsan aldigin Connection refused "conductor kapali" DEMEK DEGILDIR; servis ayakta iken de aynen gelir. Servisin durumunu erisebilen taraftan olc.

Kurulum

dotnet tool install --global AiTools.ConductorSyncTool \
  --add-source https://ai-repo.red-wood.cloud/v3/index.json

~/.dotnet/tools PATH'te olmali. Dogrulama: conductor-sync --help.

Onkosul: bu yol paketin feed'e yayimlanmis olmasini gerektirir; yayim ELLE yapilir (NUGET-PUBLISH.md). Paket yayimlanmadan install bulunamadi hatasi verir -- repo'da kaynagin olmasi aracin kurulu oldugunu GOSTERMEZ. Yayim beklenmeden kosmak icin kaynaktan calistir:

cd client/conductor-sync && dotnet run --project cli -c Release -- --help

Kullanim

conductor-sync prepare --project ai-tools --app conductor --role backend
conductor-sync prepare --help    # tum flag'ler + cikis kodlari

Kapsam yalniz prepare (kullanici karari, AIT-726): dispatch / tur surme / resume / sonuc alma yuzeyi bu araca ACILMAZ. Genisletme ihtiyaci cikarsa ayri task ile yapilir.

Conductor adresi

Cozum sirasi profile-sync emsalinin aynisi -- flag > env, tek farkla: hicbiri yoksa belgelenmis varsayilan kullanilir, arac hata vermez.

kaynak deger
--api-base <url> en oncelikli
env CONDUCTOR_SYNC_API_BASE flag yoksa
varsayilan http://localhost:5100 -- conductor'in kendi Kestrel bind adresi (service/appsettings.json)

Varsayilan sessiz degil: her kosu, cozulen adresi ve kaynagini (--api-base / env ... / varsayilan) stderr'e basar; --help varsayilani yazar.

Cikis kodlari

kod anlam
0 ortam hazir ve agent-PAT mint edildi
1 conductor'a ulasilamadi / conductor hata dondu / beklenmeyen govde
3 kullanim hatasi (eksik-bilinmeyen flag, gecersiz veya loopback-disi adres)
4 ortam kuruldu ama PAT'siz (minted=false)

Neden 4 ayri bir kod: /prepare, pat-parents'ta proje x rol parent kaydi yoksa ortami PAT'siz kurar ve yine 200 doner (olculen tuzak, decision/design/agent-session-relay tuzak 1). Boyle bir ortamda ajan MCP'ye giremez ama kurulum "basarili" gorunur. Arac bunu sert duruma cevirir: cikis kodu 0'dan farkli ve mesaj durumu acikca soyler. Script'te if conductor-sync prepare ... yeterlidir; kodu ayirt etmek isteyen $? degerine bakar.

Zincirdeki yeri

conductor-sync  ->  conductor (/prepare)  ->  profile-sync

Baglilik yonu bugunku conductor -> profile-sync ile aynidir. profile-sync'e dokunulmaz: conductor'a ozgu hicbir kavram, parametre veya cikti oraya eklenmez -- bu araca da profile-sync bagimliligi girmez.

Gelistirme

cd client/conductor-sync
dotnet build -c Release
dotnet test conductor-sync.slnx -c Release

Wire sozlesmesi (PrepareRequestBody / PrepareReportBody) conductor'daki PrepareRequest / PrepareReport ile duplike tutulur: arac ASP.NET host'unu referans etmez (profile-sync-tool ile ayni zero-dep durus). Sozlesme degisirse iki taraf birlikte guncellenir; ConductorClientTests istek govdesinin alan adlarini kilitler.

AIT-726 genesis: `conductor-sync prepare` -- conductor POST /prepare sarmalayicisi. Boslugun adi 'adresi bilmek' degil CAGIRABILMEK (decision/design/conductor-sync-cli); arac endpoint'i kendi bilir, ajan HTTP kurmaz. minted=false SESSIZ GECILMEZ (exit 4). Loopback-disi adres denenmez (exit 3). Kapsam yalniz prepare; dispatch/tur/resume yuzeyi YOK. Sifir paket bagimliligi; paketleme sekli profile-sync-tool emsalinden.

This package has no dependencies.

Version Downloads Last updated
1.0.0.1536 3 09/02/2026