Public declaration syntax from forge-rs/harness-runtime/src/planes/policy.rs Original source SHA-256: a2935b8ccb4d6b25df593bbc43826613eb605e42577670977528269e0e1bdc1e Function bodies and constant values are omitted. This is not the complete implementation. Source line 14 #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct PolicyRequest { /// The harness agent DID requesting the action. pub subject_did: String, /// The permission being checked (`[inference].required_permission`). pub permission: String, /// The entitlement consumed (`[inference].entitlement`). pub entitlement: String, /// Policy document references from `[policy].policy_refs`. pub policy_refs: Vec } Source line 28 #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct PolicyDecision { /// True when the action is permitted. pub allowed: bool, /// Why the decision was made (denials MUST carry a reason). pub reason: String } Source line 37 #[async_trait] pub trait PolicyPlane: Plane { /// Authorize the requested permission/entitlement for the subject. async fn authorize(&self, request: PolicyRequest) -> Result; }