File size: 2,020 Bytes
119e586 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | ;; βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
;; Trust Deed Validation Rules β Funtan Sovereign DSL v1.0
;; S-expression format. Parsed by Haskell deed-validator at runtime.
;; Rust calls Haskell; Haskell reads this file.
;;
;; This file is the canonical specification for what constitutes a valid deed.
;; To change a validation rule, edit here only.
;; βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(deed-spec
(version "1.0")
;; Trust score must be in [0.01, 1.0] β zero trust cannot act
(trust-score-min 0.01)
(trust-score-max 1.0)
;; Seal must be SHA-256 hex β 64 chars minimum
;; CRITICAL: seal must cover ALL integrity fields (C2 fix)
(seal-min-length 64)
(seal-must-cover
agent-id
trust-score
expires-at
status
escalation-authority
allowed-actions
restricted-actions)
;; Expiry is required and must be in the future
(expiry-required true)
;; Authority model: role-based β trust 1.0 is a clearance level, NOT a name
;; An issuer must have a valid active deed with trust >= 1.0 to register/revoke
(authority-model role-based)
(authority-min-trust 1.0)
;; Valid deed status values
(status-values
active
expired
revoked
pending-renewal)
;; Actions that are ALWAYS blocked regardless of deed contents
;; These cannot appear in allowed-actions under any circumstances
(globally-blocked-actions
"delete_ledger"
"modify_deed"
"override_all"
"jailbreak"
"ignore_previous")
;; Seal algorithm tag β for documentation; enforcement is in Rust
(seal-algorithm sha256))
|