WrongStack retweeted
Replying to @ersinkoc
@ersinkoc’un hayata geçirdiği @Wrong_Stack’i gerçek bir senaryoyla test etmeye başlıyorum.
İlk hedef: Bible App.
Geliştirme sürecini Grok 4.7 ile başlattım. Üstelik @appalizeDev’de kullandığım, gerçek üretim süreçlerimi kapsayan MCP tool’umu da sisteme dahil ettim.
Yani sadece bir demo izlemeyeceğiz. Gerçek bir projede, gerçek araçlarla neler yapabildiğini göreceğiz.
Sonuç ne olursa olsun, süreci ve ortaya çıkan sonuçları tüm şeffaflığıyla paylaşacağım.
Bakalım WrongStack, bu konuda neler başarabilecek...
Poly Vortex - a @threejs game I built with @Wrong_Stack.
The brief was simple: “Build an unusual game with Three.js on a Next.js page.”
WrongStack automatically orchestrated multiple models across different roles: gpt-6.1-sol, kimi-k3, glm-5.3 and flash, minimax-m3 and minimax-m3.1-preview, qwen-3.8 and flash, and deepseek v4.1 pro and flash etc.
From a simple idea to a playable game. This is why WrongStack is my go-to coding tool.
Projesine değer verenin yoldaşı WrongStack 1.0.35 çıktı.
Prompt piyangosuna, “fix this shit” döngülerine ve en küçük düzeltmeden en kritik mimari karara kadar her işi tek provider, tek modelle çözmeye çalışma alışkanlığına son verme zamanı.
Yazılım geliştirmek, modelin bu sefer doğru cevap vermesini beklemekten fazlasını gerektirir. Kararların korunması, görevlerin doğru modele yönlendirilmesi, değişikliklerin doğrulanması ve projenin büyüdükçe yönetilebilir kalması gerekir.
WrongStack; çoklu provider ve model desteğini, orkestrasyonu, SAGE Memory’yi ve doğrulama süreçlerini aynı mühendislik düzeninde bir araya getirir. Her session’da başa dönmek yerine, projenin birikimiyle ilerlersiniz.
Projenizin geleceğini iyi denk gelmiş bir prompta bırakmayın. İşi şansa değil, mühendisliğe bağlayın.
“Tamam, şimdi sıradakini yap.”
“Devam et.”
“Sonraki adım ne?”
Bir projeyi ilerletirken her turun sonunda bunları yeniden yazmanız gerekiyor mu?
WrongStack Next Steps, bu devamlılığı yönetiyor.
Açık görev varsa öncelik onda: Agent mevcut todo’yu sürdürür. Açık görev kalmadığında ise required modunda leader, sıradaki adımları belirtir veya işin tamamlandığını bildirir.
Auto otonomi açıksa önerilen ilk adım, bir sonraki otomatik prompt olur. Böylece her adımı elle yeniden başlatmadan çalışma devam eder. Model işi tamamlandı olarak işaretlediğinde akış durur.
Ne kadar devam edeceği de sizin seçiminiz. Arka arkaya 5, 10, 20 veya istediğiniz sayıda otomatik tur çalıştırabilir; sınıra gelince sizden giriş beklemesini sağlayabilirsiniz. Sınırsız seçeneği de var. Aynı önerinin iki kez yeniden verilmesini yakalayan döngü koruması ayrıca devrede.
Varsayılan: required + sınırsız. Otomatik devam için auto otonominin açık olması gerekiyor. Optional modunda ise yalnızca somut bir devam işi varsa öneri sunuluyor.
Bir adım biter. Sıradaki başlar. Devamın sınırı sende.
/nextsteps 😎
Aklınızdaki işi her zaman kusursuz bir promptla anlatmıyorsunuz. Bazen yarım cümle, bazen “şunu da düzelt”, bazen sinirle yazılmış bir paragraf…
WrongStack Prompt Refiner, isteğinizi niyetinden ve session bağlamından koparmadan daha açık, uygulanabilir bir talimata dönüştürüyor.
Önceki konuşmaları, proje hafızasını ve mevcut görev detaylarını bağlam olarak kullanıyor. Neyi kastettiğiniz belliyse referansları netleştiriyor; belirsizse kafasından doldurmuyor. İstemediğiniz özellikler eklemiyor, “bir bak” dediğiniz işi “değiştir” talimatına çevirmiyor.
İsteği yazdığınız dilde düzenliyor; dil İngilizce değilse aynı somut detayları koruyan İngilizce sürümünü de hazırlıyor. Dosya yolları, hata mesajları, kodlar ve kontrol etiketleri korunuyor.
Bu işi hangi modelin yapacağını da siz seçebiliyorsunuz.
Yani yalnızca çeviri değil: Dağınık anlatımı, asıl işi yapacak agent için net bir talimata dönüştüren context-aware bir sistem. Gereksiz küfür ve laf kalabalığı yerine ne istediğiniz öne çıkıyor. Anlamsız bir istekten de kafasına göre görev uydurmuyor.
Siz derdinizi anlatın. Prompt Refiner, niyetinizi koruyarak talimatı netleştirsin. 😎
Provider 429 verdi, model yoğunluğa takıldı. İşin başında bekleyip elle model değiştirmeniz mi gerekiyor?
WrongStack’ta model routing, fallback zincirleri ve kayıtlı fallback profilleri birlikte çalışıyor.
Routing ile leader ve görev türleri için kullanacağınız modelleri belirleyebilirsiniz. Kodlama ve inceleme gibi farklı işleri aynı provider/model’e vermek zorunda değilsiniz.
Fallback ise yeniden denenebilir provider hatalarında devreye giriyor. Birincil modelin retry politikası tükendiğinde sıradaki alternatife geçiliyor. Birincil model cooldown süresindeyken çalışan alternatif kullanılıyor; süre dolunca birincil yeniden deneniyor. Başarılıysa geri dönülüyor, yine yoğunluğa takılırsa bekleme uzatılıyor. Bu devamlılık leader ve subagent’ları kapsıyor.
Alternatif sıralarını isimli fallback profilleri olarak kaydedip ihtiyacınıza göre aktif zincire alabilirsiniz. Açık bir zincir tanımlamadıysanız smart default; favorilerinizden, aynı provider’daki alternatiflerden ve diğer provider’lardan bir sıra oluşturabiliyor.
Hesap tarafı da ayrı: Aynı provider’daki kişisel ve iş hesaplarını farklı auth alias’larıyla kullanabilirsiniz. Auth profili kimlik bilgilerini, fallback profili ise geçiş sırasını tutuyor.
Göreve göre modeli seçin. Kesintide alternatif rotayı hazır tutun. Her provider hatasında orkestrasyonu elle yeniden kurmayın. 😎
Agent aynı hatayı tekrar tekrar alıyor. İş ilerlemiyor. Devam mı etmeli, yaklaşımı mı değiştirmeli, size mi sormalı?
WrongStack Brain Agent, bu kararlar için agent’larla insan arasında çalışan ortak karar katmanı.
Her soruyu doğrudan modele göndermiyor. Önce kurallar ve deterministik politikalar devreye giriyor. Çözülemeyen kararlar, belirlediğiniz otonomi sınırı içinde gerektiğinde model değerlendirmesine veya Council’e taşınıyor. Council, farklı değerlendirmeleri oylama, veto ve gerektiğinde Judge ile ele alabiliyor.
Brain yalnızca kendisine soru sorulmasını da beklemiyor. BrainMonitor; tekrarlayan araç hatalarını, hata yoğunluğunu, ilerlemeyen çalışmaları ve yoğun dosya değişimlerini izliyor. Bunlar değerlendirme sinyalleri: Bir dosyaya çok edit atılması tek başına “agent döngüye girdi” demek değil.
Müdahale kararı çıkarsa leader’a öncelikli bir yönlendirme gönderiliyor. Çözülemeyen kararlar ise çalışma moduna göre insana veya terminal politikasına taşınıyor.
Otonomi sınırını çalışma sırasında değiştirebilir, son kararları inceleyebilir ve hangi katmanın karar verdiğini görebilirsiniz. Trace’i açtığınızda model denemeleri ve Council oyları da incelenebilir hale geliyor.
Çok sayıda agent çalıştırmak kadar, takıldıklarında nasıl karar vereceklerini yönetmek de önemli.
WrongStack’ta bunun adı Brain. 🧠
WrongStack’a YOLO’nun bir adım ötesi geliyor: YOLO+ 😎
YOLO, işlemleri geniş ölçüde otomatik onaylıyor; ancak yıkıcı işlem kontrollerine takılan çağrılarda yine onay isteyebiliyor.
YOLO+ ile heuristic olarak yıkıcı sayıldığı için onay bekleyen işlemler de otomatik onay kapsamına girecek. Akışın ortasında tekrar tekrar “devam edeyim mi?” sorusuyla karşılaşmak istemeyenler için.
Açık yasaklar ise geçerli kalacak. İzin kurallarıyla engellediğiniz işlemler, YOLO+ açıkken de çalıştırılmayacak.
Daha fazla otomatik onay, daha az kesinti. Kontrol sende. ⚡
WrongStack’ı kullanmamakta diretip sırf popüler diye vasat kodlama araçlarını seçen; sonra da üzerlerine skill, plugin, extension, mod ve .md dosyaları yığarak iyi bir mühendislik sistemi kurduğunu düşünen tüm dostlara gelsin.
Bir eklenti daha, bir talimat daha, bir mod daha… Belki bu sefer her şey uyum içinde çalışır. 😄
Soldaki bütün teçhizatı toplamak da bir tercih, sağdaki gibi WrongStack kullanmak da. Tercih sizin.
Vasat, yani ortalama kodlama araçlarına daha iyi orkestrasyon sağlayacağı ümidiyle mod, skill, plugin, talimat ve MCP eklemekten bunalanlara günaydın. 😄
Claude Code, Codex, Pi, OpenCode, Antigravity, CommandCode… Tercihiniz hangisiyse artık. Birini kuruyor, eksiklerini fark ediyor, sonra o eksikleri başka bir şeyle kapatmaya çalışıyorsunuz. Biraz hafıza, biraz subagent, biraz review, biraz da “bu sefer talimatları unutmasın” diye yeni bir .md dosyası. Derken proje geliştirmekle kendi kodlama aracınıza bakıcılık yapmak birbirine karışıyor.
WrongStack tarafında ise hafıza, görev yönetimi, model yönlendirme, araç kullanımı, ajanlar arası iletişim ve doğrulama aynı motorun içinde birlikte çalışıyor. Kendi çekirdeği, provider bağlantıları, tool executor’ı ve çok ajanlı çalışma sistemi var. Baştan sona bağımsız bir geliştirme ortamından bahsediyorum.
Dahili plugin ekosisteminde deterministik çalışan yetenekler de var, gerektiğinde LLM kullanan yetenekler de. Karar tarafında Brain’in kuralları, isteğe bağlı Jev değerlendirmeleri ve daha yüksek riskli konularda çok modelli Council devreye girebiliyor. Üstelik pluginlerin modelini de ayrı yönlendirebiliyorsunuz; her küçük iş için liderin kullandığı modeli çalıştırmak zorunda değilsiniz.
SAGE memory sisteminde bir hafıza kaydı dosyaya, dizine, komuta, teste, pakete, commit’e veya doğrudan bir class’ın içindeki metoda kadar bağlanabiliyor. “Bu projede bir ara böyle bir şey yapmıştık” seviyesinde hatırlamadan bahsetmiyorum. Kararın hangi kodla ilişkili olduğu belli, dayandığı kaynak değiştiğinde geçerliliği yeniden kontrol ediliyor. Memory Companion da kullanılan hafızanın mevcut kodla uyumunu denetliyor.
Kanban tarafında görevlerin bağımlılıkları, sorumluları, aşamaları ve kabul kriterleri var. Ajan “bitirdim” dediğinde kart otomatik olarak Done olmuyor; Review aşamasına geliyor, tamamlanma koşulları ve kanıtları doğrulanıyor. Çünkü kod yazmış olmakla işi tamamlamış olmak aynı şey değil.
Aynı oturumda lideri bir provider/model ile, reviewer’ı başka biriyle, bug hunter’ı başka biriyle çalıştırabiliyorsunuz. Rol ve aşama bazında routing, ayrı fallback profilleri ve uygun provider hatalarında otomatik geçiş var. Bir modelin kapasite sorunu bütün çalışma düzenini tek başına rehin almasın diye.
Codebase indexleme sayesinde ajan dosyaların içinde deli dana gibi dolaşmak yerine sembolleri, çağrı ilişkilerini ve ilgili kodu arayabiliyor. Uzman ajanlar bulgularını proje çapındaki mailbox üzerinden paylaşabiliyor. Ayrı oturumlar ve worktree’ler arasında da iletişim var; herkesin birbirinden habersiz aynı sorunu yeniden keşfetmesine gerek kalmıyor.
ToolFlow ile birbirine bağlı araç çağrıları bir akışta işlenebiliyor; ara çıktılar gerektiği yerde süzülüp modele karar için gereken sonuç aktarılıyor. Chimera değişiklikleri inceleyip dosya ve satır referanslarıyla bulgu üretiyor. Session Story ise hangi ajanın hangi araçla ne yaptığını, hangi dosyaya dokunduğunu, hangi hafızayı kullandığını görünür hale getiriyor. Ne olduğunu tahmin etmek yerine kaydını inceleyebiliyorsunuz.
Bir de uzman ajanların proje özelinde öğrendiği çalışma biçimleri var. Bir reviewer’ın veya bug hunter’ın bu repoda işe yarayan deneyimi sonraki uygun görevde tekrar kullanılabiliyor. Her yeni session’da aynı şeyleri sıfırdan anlatmak zorunda kalmayın diye.
Sonra bir yerde “model aptallaştı”, “eskiden daha hızlıydı”, “bu sefer projeyi bozdu” cümlelerini görüyorum. Peki sorun gerçekten modelde mi? Modele hangi bağlam verildi, hangi araçlar sunuldu, eski bilgi nasıl ayıklandı, görev nasıl bölündü, sonuç nasıl doğrulandı? Bunlara bakmadan bütün faturayı modele kesmek ne kadar anlamlı?
“Al kardeş, proje burada. Kafana göre takıl; bozulursa ben sana fixle diye prompt atarım” düzeninde çalışıp sonra bunu güçlü bir mühendislik sistemi sanmaya fazla alıştığınızı düşünüyorum.
Benim vasat dediğim tam olarak bu. Birkaç iyi task çıktısından sonra aracın proje büyüdükçe de aynı kaliteyi koruyacağını varsaymak. Eksik kalan her şeyi yeni bir talimat dosyasıyla kapatmaya çalışmak. Sonra o talimatları da sizin takip etmeniz, hatırlatmanız ve denetlemeniz.
WrongStack her gün bu zincirin başka bir halkasını geliştiriyor. Ben aradaki farkı hafızanın, araçların, ajanların ve doğrulamanın proje boyunca birlikte çalışmasında görüyorum.
Kullandığınız araç beklentinizi karşılıyorsa güzel. Ama beklentinizi aracın sınırlarına göre küçültmüş olabilir misiniz, onu da bir düşünün.
Yeni session açtınız, model değiştirdiniz. Projeyi, alınan kararları ve daha önce çözülen hataları yeniden mi anlatacaksınız?
WrongStack SAGE Memory, proje bilgisinin session’lar arasında yaşamasını sağlıyor.
Mimari kararlar, proje kuralları, hata kök nedenleri ve dosyalara ilişkin notlar yapılandırılmış biçimde saklanıyor. Bilgi; ilgili dosya, sembol, test ve Git kaydıyla ilişkilendirilebiliyor. Böylece “ne biliyoruz?” kadar “bu bilgi kodun neresine dayanıyor?” sorusu da cevap buluyor.
Agent ilgili kodla çalışırken SAGE, o işle bağlantılı kayıtları seçip context’e taşıyor. Tüm hafızayı her isteğe doldurmak yerine, mevcut işe ve context bütçesine göre bilgi getiriyor.
Kod değiştiğinde bağlantılar kontrol edilebiliyor; eskiyen, çelişen veya yeni bir kayıtla yer değiştiren bilgiler ayrı durumlarla takip ediliyor. Temizlik süreci de proje bilgisini sessizce silmek yerine inceleme adayları oluşturuyor.
Uzun vadeli değer burada: Önceki session’da öğrenilenler, sonraki session’da yeniden kullanılabiliyor. Aynı kararları tekrar keşfetme, aynı hataları yeniden çözme ve projeyi baştan anlatma ihtiyacı azalıyor.
Session değişir. Model değişir. Proje bilgisi kalır.
github.com/WrongStack/WrongS…
Agent çalıştı, session bitti. Peki gerçekten neler oldu?
Hangi model nerede devreye girdi? Leader ve subagent’lar hangi işleri aynı anda yürüttü? Hangi dosyalar okundu, değiştirildi? Nerede hata alındı, tekrar denendi veya başka modele geçildi?
WrongStack Session Story, o session’ın kayıtlı çalışmalarını inceleyebileceğiniz bir ekran.
Zaman çizelgesinde leader ve subagent’ların faaliyetlerini birlikte görebilir, olayları yeniden oynatabilir, bir kayda tıklayıp detayına inebilirsiniz. Modeller, araçlar, dosyalar ve ekip için ayrı görünümler de var.
Teknik tarafta; model bazında yanıt süreleri, token kullanımı, cache oranı, fiyat bilgisi bulunan çağrıların tahmini maliyeti, retry ve fallback kayıtları incelenebiliyor. Araçların başarılı, başarısız veya engellenmiş çağrıları; dosya okuma ve değişiklikleri de kendi kayıtlarıyla görülebiliyor.
“Tamamlandı” yazması, işin doğru yapıldığının kanıtı sayılmıyor. Doğrulama hataları, döngüye girme ve müdahale kayıtları ayrıca gösteriliyor. Ölçülmeyen bilgiye de sayı uydurulmuyor.
Böylece “Bu session neden uzadı, token nerede harcandı, ekip ne yaptı?” sorularını kayıtlar üzerinden inceleyebiliyorsunuz.
WebUI’da session’ı seçip Story’ye tıklayın. Yaptırdığınız işin hikayesini görün.
github.com/WrongStack/WrongS…
WrongStack ToolFlow ne yapıyor?
Bir AI agent’ın 50 dosyadan birkaç bilgi çıkarması gerektiğini düşünün. Her dosyanın çıktısını modele taşıyıp tekrar tekrar okutmak, modelin önüne ihtiyacından çok daha fazla veri koyabilir.
ToolFlow ile agent, araç çağrılarını küçük bir JavaScript akışında birleştirir. Dosyaları okur, bağımsız işlemleri paralel yürütür, sonuçları filtreler, karşılaştırır ve hesaplar. Ara veriler akışın içinde kalır; modele sonraki karar için gereken sonuç döner.
İnsan diliyle: “Şu 50 belgeyi al, içinden sayıları bul ve topla” yerine, “50 belgeyi işledim, toplam bu; şu belgelerde de sorun var” diyebilmek.
Dokümandaki kontrollü testte aynı 50 okuma yapılıyor. Toplu doğrudan çağrılarda modele dönen sonuç metni 551.040 baytken, ToolFlow ile hesaplanan cevap 120 bayt. Bu, o testte %99,9’dan fazla küçülme. Token, maliyet veya hızda aynı oranda tasarruf garantisi değil; ölçülen şey modele taşınan sonuç metni.
Üstelik her araç çağrısı mevcut izin, doğrulama ve kayıt mekanizmalarından geçmeye devam ediyor. Arada modelin düşünmesi gereken bir karar varsa o karar yine modele bırakılıyor.
WrongStack ToolFlow’un olayı bu: Araçları bir akışta çalıştır, veriyi işle, modelin önüne karar vereceği bilgiyi getir.
github.com/WrongStack/WrongS…
WrongStack’ta YOLO modu açık diye her komut sorgusuz sualsiz çalışmıyor. 😎
Ekrandaki ajan, kendi oluşturduğu geçici bug hunter kanıt klasörünü temizlemek istiyor. Komutta rmSync(..., { recursive: true }) var; WrongStack bunu yıkıcı işlem olarak sınıflandırıp onay istiyor. Ne çalıştırılacağını, neden durdurulduğunu ve hangi iznin hatırlanabileceğini de açıkça gösteriyor.
Bilgisayar başındaysanız kararı siz verirsiniz. Değilseniz onay ekranında nöbet tutmanız gerekmiyor: süre dolunca Brain Agent durumu devralıp değerlendiriyor.
YOLO modu hız kazandırır; riskli bir işlemi görünmez kılmaz.
WrongStack’ta ajan bir karara ihtiyaç duyduğunda clarify aracıyla size soru sorabiliyor. Cevabı TUI, WebUI, SimpleUI veya HQ ekranından verebilirsiniz; hangi arayüzün açık olduğu önemli değil.
Sorular tek seçimli, çok seçimli veya serbest yanıtlı olabiliyor. Ajan birden fazla soruyu birlikte sorabiliyor ve seçeneklerde önerisini de belirtebiliyor. Ekrandaki örnekte, tarayıcı testi çalışmış olsa da Kanban’ın mevcut politikası altında aynı script yeniden çalıştırılamadığı için, mevcut test sonucunun nasıl kaydedileceğini soruyor. Kararı ve gerekçesini açıkça önünüze koyuyor.
İki dakika içinde cevap vermezseniz Brain Agent durumu değerlendirip gereken kararı alıyor. Yani karar sizin olduğunda soruyor; meşgul olduğunuzda da oturum sonsuza kadar cevap beklemiyor. 🧠
WrongStack’ta aynı proje için birden fazla TUI, WebUI ve SimpleUI oturumu açabilirsiniz. Hepsi kendi görevinde çalışırken ortak koordinasyonun içinde kalır.
Ekrandaki Fleet görünümünde dört istemciyi, çalışan ajanları, aralarındaki görev ve mesaj akışını tek yerden izleyebiliyorsunuz. Office görünümü ise her oturumun masasında kimin çalıştığını, son araç çağrılarını ve gelen işleri gösteriyor.
Bir yanda işler ilerliyor, diğer yanda siz bütün ekibi film izler gibi takip ediyorsunuz. 🍿
Ekrana göre quality_gate, WebUI’deki kaydırma ve taşma düzeltmelerini bağımsız bir son kontrolden geçirmek istemiş. İsteğine üç hedef dosyayı, çalıştırılacak sayfa kaydırma testi ile typecheck komutunu, beklenen davranışı ve önceki testlerden topladığı kanıtları koymuş. reviewer: true ayarıyla da ayrıca bir incelemeci çalıştırmayı denemiş.
Çağrı, bir kalite bulgusu yüzünden değil, solo mode oturumda subagent’lar kapalı olduğu için başarısız olmuş: hata açıkça Subagents are disabled for this session diyor. Yani burada “quality gate kodu beğenmedi” sonucu çıkarılamaz; inceleme hiç başlayamamış.
Bence ekranın güzel tarafı şu: Leader, “testler geçti, tamamdır” demek yerine değişikliklerin kapsamını ve kanıtlarını ayrı bir denetime sunmaya çalışıyor. Solo mode ise bu denetimin ihtiyaç duyduğu reviewer ajanını engellemiş.




















