Sebuah mandat adalah artefak, bukan pengaturan.
Delegasi terbatas adalah kemampuan di dalam Execution Authorization, bukan kategori tersendiri. Sebuah Task Contract membingkai rantainya; ia tidak menggantikan satu pun bagiannya. Setiap langkah tetap menghasilkan Execution Grant sekali-pakai miliknya sendiri dan Action Receipt miliknya sendiri.
Rancangan
TaskContractV1
Kontraknya mengikat, dalam satu objek bertanda tangan: tenant, para aktor yang boleh bertindak di bawahnya, Guardian dan audience yang dituju, revisi, langkah-langkah, batasannya, anggaran dan satuannya, jendela keberlakuan, kebijakan dan manifes yang berlaku, serta penghitung pencabutan.
taskId · revisionIdentitas dan versi. Kontrak yang sudah disetujui tidak pernah diedit di tempat: setiap perubahan pada sebuah langkah menghasilkan revisi baru yang harus ditinjau ulang.
tenant · guardianId · audienceMilik siapa ia dan titik eksekusi tunggal mana yang boleh mengonsumsinya. Satu mandat dialamatkan ke satu Guardian.
actors[]Setiap aktor mengikat sebuah pengenal ke sebuah kunci dan thumbprint-nya. Sebuah langkah diklaim dengan membuktikan kepemilikan kunci itu terhadap tantangan yang baru, yang dikonsumsi secara atomik.
authorityDitetapkan per operasi oleh protokol. Pemanggil tidak memilihnya dan tidak boleh menurunkannya di dalam permintaan yang sama, dan mandat yang disetujui tidak pernah menurunkan ambang sebuah langkah.
steps[]Setiap langkah menyebut operasi kanoniknya, penyedianya, daftar sumber dayanya, digest parameter persisnya, dan membawa maxUses yang terkunci pada satu.
budgetTahan lama dan atomik per tenant, tugas, revisi, dan langkah. Terikat berarti terpakai ditambah semua yang dipesan yang hasilnya masih tertunda atau tak pasti, sehingga satu grant tidak bisa memesan dua kali.
issuedAt · expiresAtJendelanya. Sesudah itu tidak ada langkah baru yang dikirim; tidak ada masa tenggang dan tidak ada perpanjangan dari dalam tugasnya.
policyVersion · revocationVersionKebijakan lokal bertanda tangan yang berlaku dan penghitung pencabutan. Jika penyimpanan atau pencabutan tidak tersedia, tidak ada efek baru yang keluar.
Irisannya tetap berlaku
izin efektif = mandat ∩ grant ∩ kebijakan lokal bertanda tangan ∩ batasan adapter ∩ anggaran ∩ identitas ∩ keberlakuan dan pencabutan
Cloud tidak pernah memperluas plafon lokal. Sebuah mandat adalah satu suku tambahan dalam irisannya, tidak pernah jalan memutarinya, dan Guardian menegakkan semuanya sebelum sebuah penyedia dihubungi.
Mesin status
Sebuah tugas menempati tepat satu status, dan yang dicatat ledger adalah transisinya, bukan niatnya.
- draft
- approved
- running
- paused
- completed
- revoked
- expired
Pengecualian yang disengaja
- Tanpa subdelegasi. Satu mandat, satu Guardian, satu anggaran; sebuah tugas tidak bisa menyerahkan sebagian dirinya ke aktor lain maupun mendirikan titik eksekusi kedua.
- Tanpa efek terbuka. Langkah tanpa operasi kanonik dan tanpa digest parameter bukanlah sebuah langkah.
- Tanpa otorisasi permanen. Setiap mandat kedaluwarsa, dan kedaluwarsanya tidak bisa diperpanjang dari dalam tugas.
- Apa yang dibaca aktor — dokumen, keluaran tool, konten web, memori — adalah masukan, tidak pernah otoritas. Itu tidak bisa memperluas kontraknya.
- Adapter yang menentukan efek kanonik dan keadaan awal. Ringkasan sebuah agen, skema hanya-baca, atau tujuan yang diambil dari konten tidak diterima sebagai kebenaran.
Peran pembaca
Pembaca lokal bersifat menjelaskan. Dalam profil ini sebuah temuan tunggal, abstain, tidak-dievaluasi, atau pembacaan sebagian tidak memblokir, tidak mencabut, dan tidak memaksa persetujuan tambahan atas efek persis yang sudah disetujui dan diizinkan. Otoritas tidak pernah dinaikkan untuk mengompensasi sebuah peringatan, dan tidak pernah diturunkan karena tidak ada peringatan yang muncul. Identitas, tanda tangan, anggaran, prasyarat, dan pencabutan tetap gagal dalam posisi tertutup — ini bukan izin untuk menjalankan tanpa kontrol.
Status
Rancangan. Skema dan invariannya ada dan tercakup oleh pengujian. Tidak ada mandat terdelegasi yang dijalankan terhadap penyedia nyata, jadi profil ini berlabel tersimulasi. Hasil tidak pernah diekstrapolasi dari mock maupun dari konektor lain, dan konektor lama yang diuji dengan MFA atau kuorum tidak mengkreditkan delegasi berlangkah banyak.
Pertanyaan terbuka
Detail kanonikalisasi, batas ukuran dan jumlah, penanganan jam, dan penolakan field yang tidak dikenal ditetapkan sebelum runtime apa pun dibangun, lalu diterbitkan sebagai vektor uji berversi bersama verifikatornya. Verifikator keluar sebelum profilnya: tidak ada yang diterbitkan yang belum bisa diverifikasi secara independen.