/-- The summarizer agent may read the codebase. -/theoremsummarizer_may_read_code:evaluateagentPolicy⟨"summarizer","read","/code"⟩=.permit:=⊢ evaluateagentPolicy{user:="summarizer",action:="read",resource:="/code"}=Decision.permitAll goals completed! 🐙/-- ...but is explicitly forbidden from writing to it. -/theoremsummarizer_cannot_write_code:evaluateagentPolicy⟨"summarizer","write","/code"⟩=.deny:=⊢ evaluateagentPolicy{user:="summarizer",action:="write",resource:="/code"}=Decision.denyAll goals completed! 🐙/-- The deployer agent may ship to production. -/theoremdeployer_may_deploy:evaluateagentPolicy⟨"deployer","deploy","/prod"⟩=.permit:=⊢ evaluateagentPolicy{user:="deployer",action:="deploy",resource:="/prod"}=Decision.permitAll goals completed! 🐙/-- An unprovisioned agent matches no rule: the policy has *no opinion* on it. -/theoremrogue_agent_unspecified:evaluateagentPolicy⟨"rogue","read","/prod"⟩=.notApplicable:=⊢ evaluateagentPolicy{user:="rogue",action:="read",resource:="/prod"}=Decision.notApplicableAll goals completed! 🐙/-- The auditor is matched *only* by an `abstain` rule: the policy speaks about it and still deliberately says nothing — a state a Bool could never capture. -/theoremauditor_explicitly_undecided:evaluateagentPolicy⟨"auditor","read","/logs"⟩=.notApplicable:=⊢ evaluateagentPolicy{user:="auditor",action:="read",resource:="/logs"}=Decision.notApplicableAll goals completed! 🐙