stitchu

Günlük · Geliştirici yazısı

Stitchu'yu neden dört çalışma hattına böldük?

17 Ekim 2026'da Stitchu'nun kalıp motoru, web sitesi, yeni hesap servisi ve sitenin kendi sayfaları aynı anda, her biri kendi hattında geliştirildi; sonuçları tek bir entegratör birleştirdi. Bu yazı o günün kaydı ve hatların durum dosyalarından, mesajlarından ve test makbuzlarından yazıldı: kim ne yaptı, nerede birbirimizi bekledik, hangi sorunlar yeşil testlerden kaçtı ve ne hâlâ açık. Elbiselerin hiçbiri henüz dikilmedi.

  1. Önce: aynı anda tek elbise, tek yazar
  2. Kim ne yaptı
  3. Neden paralel
  4. Nerede birbirimizi bekledik
  5. Yeşil testlerden kaçan sorunlar
  6. Ne öğrendik
  7. Hâlâ çözülmeyenler

Önce: aynı anda tek elbise, tek yazar

Ekim ortasına kadar iş tek bir sırayla yürüdü. 27 Eylül'den beri kural, bir elbise tamamen bitmeden diğerine başlamamak ve aynı anda yalnız bir ajanın kod yazmasıydı. Kullandığımız iki yapay zekâ kodlama aracı sırayla çalıştı: 10–13 Ekim arasında Claude'un yönettiği bir koşu, ardından 14 ve 15 Ekim'de Claude koşusu olmadan Codex. 13 Ekim'deki devir notları tek elbise kilidini ve tek yazar kuralını, dosya sahipliğine göre ayrılmış hatlarla değiştirdi.

17 Ekim'de iki araç aynı koşuda çalıştı. Entegratör Root ve okuyucu hattı Codex'te çalışıyordu. Motor, web, hesap ve pazarlama hatları Claude oturumlarıydı. Claude oturumları Codex'e doğrudan mesaj gönderemiyordu; bu yüzden her hat diğerlerinin okuduğu iki dosyaya yazdı: bir durum dosyası (neyin sahibi, ne yapıyor, ne açık) ve numaralı mesajların durduğu bir giden kutusu.

Kim ne yaptı

Aşağıdakilerin hepsi hatların kendi dallarında. Bu yazı yazılırken hiçbiri canlı sitede değildi.

Neden paralel

Motor işi okuyucuya bağlıydı: her düzeltme gerçek model çıktısında denenmeliydi ve her model çağrısı dakikalar sürüyordu. Web sitesi, hesap servisi ve sitenin sayfaları bu sonuçlara bağlı değildi. Onları motor bitene kadar bekletmek, üç hattı günün çoğunda boşta bırakırdı; bu yüzden aynı anda çalıştılar ve Root'un birleştirmelerinde buluştular.

Nerede birbirimizi bekledik

Yeşil testlerden kaçan sorunlar

Bunların her biri onu yapan hattın kontrollerinden geçti. İşi yapmamış bir inceleyici, başka bir hat ya da test sonucu yerine gerçek çıktıyı (PDF metnini, ekranı) okuyan biri buldu.

  1. Paylaşım kartları elimizde olmayan bir özelliği vaat ediyordu. Yaklaşık 20 sayfanın bağlantı önizlemesi şunu söylüyordu: “Bir elbisenin fotoğrafını çek. Gerçek bir dikiş kalıbı al. Elle yazılmış bir C++ motoru onu tam senin bedenine göre çizer.” Herkese açık atölye fotoğrafını okumuyor, bedenine göre kalıp da çizmiyor. Sayfa kontrolleri yeşildi; bağımsız bir inceleyici kartı kritik olarak işaretledi. Kart artık çizilmiş üç elbiseyi, ücretsiz EU36 PDF'leri ve “henüz dikilmedi” notunu gösteriyor; elbise yazılarının da kendi kartları var.
  2. Telefondaki başlık elbiseleri gizledi. 390 × 844'lük bir telefon ekranında ortak başlık 177 piksel kaplıyordu; ana sayfanın ilk ekranında hiç elbise görünmüyordu. Taşma da sayfa hatası da 0'dı. Web hattının tek satırlık başlığı 57 piksel; bir sonraki birleştirmeyi bekliyor.
  3. İlk gerçek paket, kontrollerinden geçtikten sonra incelemede kaldı. Diz üstünde biten, kolsuz, düz kesim ve arka ortası fermuarlı bir elbisenin kısa yazılı tarifinden, iş hattı altı dosyanın hepsini üretti; tarayıcı testleri geçti ve Root dosya özetlerini eşleştirdi. PDF'leri okuyan bir inceleyici şunları buldu: kalıp bele oturacak şekilde biçimlenmişti (bitmiş göğüs, bel ve kalça 90, 77 ve 96 cm), etek ucu dizdeydi ve yaka biyesi talimatı fermuar açıklığını kapatıp halkaya çeviriyordu. Motor ve okuyucu düzeltmelerinden sonra bir sonraki yeni paket üçünü de geçti: düz bir yan çizgi, dizin 40 mm üstünde biten etek ve fermuarda açık kalan biye. Bu bir iç testti; herkese açık atölye henüz tarif almıyor.
  4. Bir hesap hatası “yükleniyor” durumunda takıldı. Hesap servisi 404 döndürünce hesap sayfası yükleniyor durumunda kalıyor ve servisin reddettiğini söylüyordu. Root'un tutarlılık ajanı bunu bir tarayıcı koşusunda buldu. Hesap dalı artık yeniden deneme seçeneğiyle “kullanılamıyor” durumunu gösteriyor; birleştirmeyi bekliyor.
  5. Atölye örneği yayımlanmamış bir elbise üretiyor. Atölyedeki örnek tasarım, EU34–EU44 bedenlerinde dört PDF'iyle pembe ince çizgili, arkası fiyonklu mini; oysa günlük bu elbisenin PDF paketinin yayımlanmadığını söylüyordu. İki sayfa da kendi kontrollerinden geçmişti. Hikâye sayfası artık atölyenin ne ürettiğini ve elbisenin neden ücretsiz kalıplar arasında olmadığını söylüyor; örneğin yayımlanmış bir elbise olup olmayacağına Root karar verecek.
  6. PDF başlıkları siteyle uyuşmuyordu. Göğüs açıklıklı mininin PDF'lerinin başlığı “Bow Cap-Sleeve Mini Dress”, iki kruvaze mininin ikisi de “Draped Mini Dress”. İndirilen dosyalar artık elbisenin sitedeki adıyla kaydediliyor; pazarlama hattı hem site hem PDF kapakları için tek bir ad dosyası önerdi, motor hattı henüz yanıt vermedi.
  7. Pazarlama hattı başka bir hattın Chrome'unu kapattı. Bir tarayıcı kontrolü sırasında kendi takılmış tarayıcısı sandığı arayüzsüz (headless) bir Chrome'u kapattı. O tarayıcının üst süreci pazarlama hattına ait değildi; yani başka bir hattın testi olabilir. Bütün hatlara o saatte düşen tarayıcı testlerini yeniden koşmalarını söyledi. O zamandan beri yalnız kendi başlattığı süreçleri kapatıyor ve önce üst süreci kontrol ediyor.

Bir kez de tersi oldu. Bir tarayıcı testi, motorun WebAssembly paketinin Chrome'da başlamadığını bildirdi. Root bunu test sunucusuna kadar izledi: sunucu dosyaları UTF-8 karakter kümesi belirtmeden gönderiyordu; paket sağlamdı ve yeniden derlenmedi. Düzeltme, ilk mesajı okuyan her hatta ayrı bir mesaj olarak gitti.

Ne öğrendik

Bunların hiçbiri yeni bir yöntem değil. Dallar, kod sahipleri, birleştirme sırası ve bağımsız inceleme sıradan yazılım pratikleri. Gün, işin çoğunu yapay zekâ ajanları yaptığında bunların nerede önemli olduğunu gösterdi.

Hâlâ çözülmeyenler

← Bütün günlük yazıları