Repository navigation
Mandate 0.8.0
Wave 7: agent security. Check decides delegated requests against the agent records, and the
delegation and workload commands that write those records arrive. Each unit was attacked by a
security review.
Added
- Delegation commands.
mandate_authz::commanddecidesCreateDelegation,
RevokeDelegation,RetireAgent,CompleteExecutionandConsumeApproval, and
mandate_authz::eventfolds their events into aDelegationProjectionthat answers
AgentAuthorityRead, soCheckand the token exchange decide against what the commands wrote.
A delegation's delegator is the verified subject, its scope stays within the delegate's
applicable ceilings and its lifetime within the smallestmax_delegation_ttl. A refusal emits
nothing; an unknown record refuses exactly like one of another organization. Each command's
/outcome/deniedscenario passes.SupersedeAgentCapabilityCeilingstays deferred until ESS
can declare a create beside a move in one outcome. - Workload identity revocation.
mandate_model::workloaddecidesRevokeWorkloadIdentity;
an unknown, foreign or already revoked identity refuses alike, and its/outcome/denied
scenario passes. - Durations.
mandate_types::Duration::secondsreads an ISO 8601 time duration and refuses
calendar, signed, fractional, reordered and overflowing forms.
Changed
- Breaking.
mandate_authz::CheckRequestgainsat,Pdpgains an agent read, and the
caller-suppliedCheckRequest.ceilingsis removed: a delegated request, an execution or an
agent subject is decided through the evaluator's own record checks, with ceilings read by
agent. A completed, expired, foreign or mismatched execution refuses, and an agent subject is
bounded by its own ceilings. - Records of another organization stay undisclosed. A delegation or agent record of another
organization refuses like an unrecorded one atCheckand at the token exchange
(Denied, no longerTenantMismatch), andCheckrefuses a disabled subject or actor. - An execution-bound delegation is refused at
Checkuntil an execution can name a delegation
created after it. - Conformance: 181 scenarios, 46 passed (40 at 0.7.1), 0 error.