Kanıt
Herkes bir hatanın düzeltildiğini iddia edebilir. Bu sayfa düzeltmeyi, onu koruyan testi ve hata geri geldiğinde testin başarısız olduğunun kanıtını gösteriyor.
2026-10-03 tarihinde tools/prove_regressions.py ile üretildi · 4 / 4 regresyon testinin boşuna geçmediği kanıtlandı.
Her kanıt nasıl üretiliyor
- Regresyon testini düzeltilmiş koda karşı çalıştırın: geçmesi gerekir.
- Orijinal hatayı geri getirmek için kaynağı düzenleyin.
- Aynı testi tekrar çalıştırın: gerçek bir assertion hatasıyla başarısız olmalı. Toplama (collection) hatası sayılmaz: bu, testin hiç çalışmadığı anlamına gelir.
- Dosyayı geri yükleyin, SHA-256 değerinin orijinalle eşleştiğini doğrulayın ve yeniden çalıştırın: yeniden geçmesi gerekir.
Asistan ziyaretçilere webhook'un konuşmalarını taşıdığını söyledi. Hiçbirini taşımıyor.
commit e027e6b · apps/gateway/tests/test_webhook_content_claim.py tarafından korunuyor
Webhook yükleri kasıtlı olarak bir turun yalnızca ŞEKLİNİ taşır: olay adı, zaman damgası, adım sayısı, krediler. İçeriğini asla taşımaz. Asistana webhook'ların konuşmayı içerip içermediği sorulduğunda 'Evet, her webhook yükü o turun tüm konuşma geçmişini içerir.' diye yanıt verdi. Bu, izin listesinin karşısında test edildiği garantinin tam tersidir. Düzeltmeden önce 6 çalıştırmada 2 uydurma olarak ölçüldü.
| Düzeltilmiş kod, test çalıştırmaları |
GEÇTİ |
21 passed in 1.15s |
| Hata geri getirildi, aynı test |
YAKALANDI |
8 failed, 13 passed in 1.20s |
| Dosya geri yüklendi, test çalışıyor |
GEÇTİ |
sha256 a8d4cb0b10787eff… |
Test içi boş değil: hata geri döndüğünde başarısız oluyor.
İşletme sahiplerine var olmayan bir pano kartına tıklamalarını söyledik.
commit b4a203a · apps/gateway/tests/test_card_names.py tarafından korunuyor
Bilgi tabanı, dokümanlar ve bir başlangıç kutucuğu, sahiplere 'Send turns to a webhook' adlı bir kartı bulmalarını söylüyordu. Gerçek panodaki kartın adı 'Send events to your own system'. Bu ad, bilgi bölümü yazılırken uydurulmuş ve kontrol edilmeden üç yere yayılmıştı. Ölçülen: 2 kurulum yanıtının 2'si de hiç var olmamış bir kontrolün adını verdi.
| Düzeltilmiş kod, test çalıştırmaları |
GEÇTİ |
5 passed in 1.12s |
| Hata geri getirildi, aynı test |
YAKALANDI |
3 failed, 2 passed in 1.23s |
| Dosya geri yüklendi, test çalışıyor |
GEÇTİ |
sha256 f6348e1a5bbae209… |
Test içi boş değil: hata geri döndüğünde başarısız oluyor.
Karanlık moddaki karşılama metni 1.73:1 kontrastla görüntüleniyordu, yani fiilen görünmezdi ve koruma denetimi bunu yakalayamazdı.
commit ca47f41 · apps/studio/test/themeContrast.test.mjs ile korunuyor
Herhangi bir testten değil, gerçek bir iPhone'da alınan ekran görüntüsünden bulundu. Karşılama mesajı #3a3a3c olarak sabit kodlanmıştı; bu renk koyu mod panelinde 1.73:1 oranında kalıyor, yani 4.5:1 minimumun çok altında ve zar zor okunuyor. Koyu moddaki her ilk ziyaretçi bunu gördü. Düzeltme, rengi tema değişkeni --pw-mist üzerinden geçirerek panele uymasını sağlıyor; koruma artık bir rengin ayarlanmış olmasına güvenmek yerine her temalı çift için gerçek kontrast oranını hesaplıyor.
| Düzeltilmiş kod, test çalıştırmaları |
GEÇTİ |
pass 5, fail 0 |
| Hata geri getirildi, aynı test |
YAKALANDI |
pass 3, fail 2 |
| Dosya geri yüklendi, test çalışıyor |
GEÇTİ |
sha256 54f8802b444b6194… |
Test içi boş değil: hata geri döndüğünde başarısız oluyor.
Başarısız bir tur, ziyaretçiyi ölü bir akışta sonsuza kadar bekletiyordu.
commit 4bcc691 · apps/studio/test/streamError.test.mjs ile korunuyor
Model çağrısı başarısız olduğunda sunucu doğru şekilde bir hata çerçevesi gönderdi, ancak widget mesajı, yönetişim izi dalının zaten gizlemiş olduğu bir öğeye yazdı ve izi hiç daraltmadı. Ziyaretçi, zaten başarısız olmuş bir turda 'Mesajınız okunuyor' yazısının süresiz yanıp söndüğünü gördü: hata yok, kurtarma yok, bunu anlamanın yolu yok. Hata metni doğru atanmıştı ama hiçbir yere çizilmedi. API hesabının kredisi bittiğinde yaşanan gerçek bir kesinti sırasında bulundu.
| Düzeltilmiş kod, test çalıştırmaları |
GEÇTİ |
pass 4, fail 0 |
| Hata geri getirildi, aynı test |
YAKALANDI |
pass 2, fail 2 |
| Dosya geri yüklendi, test çalışıyor |
GEÇTİ |
sha256 54f8802b444b6194… |
Test içi boş değil: hata geri döndüğünde başarısız oluyor.
Operasyon kaydı
Platformun arkasında neler var ve neler test edilmedi. Yalnızca bir betiğin ya da bir günlüğün gösterebildikleri.
- Yedekler: her gece 03:17 UTC, pg_dump --clean --if-exists, gzip; her çalıştırmadan sonra özel bir git uzak deposuna gönderiliyor; en sonuncusu
20261003T031701Z; 29 döküm saklanıyor.
- Geri yükleme tatbikatı 2026-10-03:
20261003T031701Z dökümü, aynı sunucudaki geçici bir pgvector/pgvector:pg16 konteynerine 2 sn'de geri yüklendi: 34 kiracı, 270 bilgi satırı, 47 tablo. Döküm 03:17 UTC tarihli; 13:26 UTC'de zamanlanmış demo temizliği 30 günden eski, terk edilmiş bir demo kiracısını kaldırdı (gateway günlüğü), bu yüzden geri yükleme, tatbikat anındaki canlı sistemden bir kiracı fazla gösteriyor.
- Geri alma: site: tools/deploy-site.sh --rollback (önceki sürüme ikinci bir sembolik bağlantı geçişi); Studio: tools/deploy-studio.sh --rollback (önceki imaj, sağlık kontrolünden geçmiş).
- Kurtarma hedefleri: hiçbiri vaat edilmiyor. Gecelik döküm, veri kaybını bir günle sınırlıyor; belirtilmiş bir geri yükleme süresi yok.
- Test edilmedi: tek örneğin ötesinde yük; çok bölgeli yük devretme; farklı bir sunucuya geri yükleme.
docs/ops-record.json dosyasından; geri yükleme tatbikatı tarafından yazıldı (docs/runbooks/db-backup.md).
Buradaki herhangi bir kusuru ve testinin düzeltmeyi nasıl kanıtladığını sorun.
- Bulup düzelttiği gerçek bir hatayı göster
- Bir testin başarısız olabileceğini nereden biliyorsunuz?
- Hâlâ açık olan ne?