Uyumluluk: Pactmark 0.2.x.
Pactmark’ta bir Approval; serbest metin, bir boolean sütunu veya Slack’te bir başparmak değildir. Tenant’a, koşuya, etkiye, politikaya, granta, kapsama ve son kullanma tarihine bağlı bir kayıttır ve tek kullanımlık bir kanıtın atomik olarak tüketilmesiyle oluşur.

Akış

Şekil 1. Challenge yalnızca aktörün şimdi kimliği doğrulandıktan sonra verilir ve yetki ile kimlik bilgisi rezervasyonlarıyla birlikte atomik olarak tüketilir.

Onaylayan gerçekte ne görmeli

“Ajan bir mesaj göndermek istiyor” diyen bir önizleme karar desteği değildir. Pactmark’ın EffectPreview yapısı zorunlu alanları olan bir şemadır:
string
gerekli
Kanonik hedef — modelin ürettiği ham metin değil.
string
gerekli
Argümanlarından bağımsız olarak bunun hangi sınıf bir işlem olduğu.
Digest
gerekli
Gerçekte gönderilecek şeyin özeti; böylece önizleme yükten kayamaz.
compensatable | irreversible
gerekli
Burada not_applicable bir seçenek değildir. Bir insana soruyorsanız bir şey değişiyor demektir.
string
gerekli
Onaylanırsa dünyada ne olacağının düz bir ifadesi.
Digest
Mevcut durumu değiştiren etkiler için isteğe bağlı.
Digest
gerekli
Önizlemenin kendi kimliği; böylece karar gösterilene bağlanır.

Tek kullanımlık kanıt

1

Önce kimlik doğrulaması

Host, karar anında aktörün kimliğini doğrular. Bir saat önceki oturum, şimdi kimlik doğrulamakla aynı şey değildir.
2

Challenge'ı verin

issueDecisionChallenge opak bir challengeProof ve bir expiresAt döndürür. Doğrudan karar komutuna gönderin.
3

Atomik olarak tüketin

Çalışma zamanı kanıtı; yetki ve kimlik bilgisi rezervasyonlarıyla birlikte tek bir işlemde bir karara dönüştürür.
4

Tekrar aynı sonucu döndürür

Aynı komut tekrarlandığında aynı semantik sonuç döner. Farklı bağlar sessizce başarılı olmak yerine çakışır.
Bir challenge kanıtını asla bir model prompt’una, bir URL’ye, bir log satırına, bir analitik olayına veya bir kanıt kaydına kopyalamayın. Kalıcı kayıtlar yalnızca anahtarlanmış özetleri ve bağları tutar — kendi kodunuzda da öyle kalsın.

Onayın asla feragat edemeyecekleri

Bu liste tavsiye değil, zorlanan bir kısıttır. Gelen bir onay yine de bunların hepsine tabidir:

Kimlik doğrulama

Kimliği doğrulanmamış bir karar, karar değildir.

Tenant izolasyonu

Bir tenant’taki onaylayan, başka bir tenant’ın etkisini onaylayamaz.

Eksik grantlar

Onay yetenek yaratmaz. Reddedilmiş bir araç reddedilmiş kalır.

Şema ve bütçe zorlaması

Onaylanmış bir çağrı yine de doğrulanmak ve bütçeye sığmak zorundadır.

Sır sınırları

Onay, bir kimlik bilgisini modelin görebileceği bir şeye çözmez.

Egress politikası

Onaylanmış bir etki yine de beyan edilmemiş bir origin’e ulaşamaz.

Belirsiz etki kuralları

Onay, “bilmiyoruz”u “olmadı”ya çeviremez.

Rol ve güç gereksinimleri

Yanlış rol veya zayıf kimlik doğrulamalı bir karar hiçbir şey göndermez.
Reddedilmiş ve süresi dolmuş kararlar sıfır etki gönderimi üretir. Bu, bir hatanın yokluğundan çıkarsanmaz; test paketinde doğrudan bir sıfır-gönderim sayacı olarak doğrulanır.

İnsan girdisi başka bir şeydir

waiting_for_approval ile waiting_for_input’u karıştırmayın: InputRequested, modelin ham çıktısından zaten ayrılmış, bir insan için hazırlanmış bir safePrompt taşır.

Kaydedilmiş bir onay neyi kanıtlar

Adı belli, kimliği doğrulanmış bir principal’ın, adı belli bir rolü taşıyarak, tam olarak bu etki önizlemesine bağlı tek kullanımlık bir challenge’ı kayıtlı bir zamanda tükettiğini kanıtlar. İnsanın önizlemeyi anladığını, önizlemenin iyi bir özet olduğunu veya kararın doğru olduğunu kanıtlamaz. Tehdit modeli satırı TM-05 bunu açıkça kaydeder: doğru bir önizlemenin insan tarafından yanlış anlaşılması mümkündür.

Onay entegrasyon rehberi

Operatöre bakan akışı kurmak — neyin gösterilmeyeceği dâhil.

Müşteri iadesi senaryosu

Onay kapısının arkasındaki geri alınamaz bir etkiyle eksiksiz bir örnek.