Uyumluluk: Pactmark 0.2.x. Fixture modu çevrimdışıdır ve CI’da zorunludur. createExternalSearchAdapter, canlı erişim açıkça etkinleştirilmedikçe kapalı biçimde başarısız olur ve bu depo hiçbir sağlayıcı uygulaması içermez.

Çalıştırın

Neyi gösterir

Fixture destekli arama

Deterministik kaynaklar; böylece test paketi yeniden üretilebilir ve ücretsizdir.

Kapalı biçimde başarısız canlı erişim

Dış adaptör, canlı erişim açıkça etkinleştirilmedikçe çalışmayı reddeder.

Atıf doğrulaması

Bir doğrulayıcı, atıfların alınan baytlara karşı yapısal olarak çözülebilir olduğunu denetler.

Sınırlı bir kanıt kaydı

Atıf-biçimi doğrulamasının neyi tesis etmediğine dair açık bir listeyle.

Asıl ilginç kısım kapalı-başarısızlık adaptörüdür

src/tools/fixture-search.ts
Bunu, anahtar eksikse sessizce bir stub’a düşen yaygın adaptör deseniyle karşılaştırın. O desen, hiçbir şeyi kanıtlamayan yeşil testler üretir. Kapalı biçimde başarısız olmak, “fixture’lara karşı çalışıyoruz”u bir varsayım değil görünür bir olgu yapar.

Atıf doğrulayıcısı neyi denetler

1

Her iddia bir atıf taşır

Atıfsız bir iddia kapsam denetimini geçemez.
2

Her atıf saklanmış bir artifact özetine atıfta bulunur

Kimsenin çekmediği bir URL metnine değil.
3

Alıntılanan her aralık o baytlarda mevcuttur

Modelin uydurduğu bir alıntı, bir gözden geçirenin keşfi değil bir doğrulayıcı başarısızlığıdır.
4

Atıf yapısı çözülür

Alanlar mevcut, biçimler doğru, referanslar iç tutarlı.

Ne üretir

Şekil 1. Araştırma çıktısı için değerin çoğunu sağ sütun taşır. Doğrulanmış bir atıf biçimi ile doğru bir iddia farklı şeylerdir ve kayıt bunu söyler. Örneğin kendi README’sinden:
Atıf biçimi, özet bütünlüğü ve fixture desteği; canlı bir URL’nin var olduğunu, dış bir kaynağın yetkin olduğunu veya sonucun eksiksiz olduğunu kanıtlamaz.

Neyi kanıtlamaz

Buradaki hiçbir şey canlı web hakkında kanıt değildir. Kaynaklar gömülü fixture’lardır. Geçen bir koşu size hattın doğru olduğunu — çıkarım, atıf bağlama, doğrulama, kanıt üretimi — söyler ve gerçek hiçbir kaynak hakkında hiçbir şey söylemez.

Dikkatlice canlıya almak

1

Önce bir egress izin listesi beyan edin

Tam HTTPS origin’ler, yalnızca GET, networkEnforcement: "required". İzin listesini seçmek, hangi kaynakları güvenilir saydığınıza dair editoryal bir karardır.
2

Alınan her kaynağı artifact olarak saklayın

Herhangi bir şey onu okumadan önce içerik-adresli. Atıflar URL’lere değil özetlere bağlanır.
3

CI için fixture modunu koruyun

Testleri canlı internete giden bir araştırma ajanının kararsız testleri ve sınırsız faturası olur.
4

Bağlamı sınırlayın

maxRunToolResultContextBytes burada her yerden önemlidir — hem bir maliyet hem bir injection yüzeyi kontrolüdür.
5

doesNotProve'u dürüstçe güncelleyin

“İzin listesi dışındaki ilgili kaynakların dikkate alındığını” ekleyin. Doğru olacaktır.

Araştırma senaryosu

Politika, egress ve kanıtla senaryonun tamamı.

Kanıt

doesNotProve alanının neden zorunlu olduğu.