01 / The operating case
What changes in a real workflow?
An agent may read a static document repeatedly, but it must not reuse the same cached allow to transfer money after a parent grant is revoked.
- 01Authority origin
- 02Task and grant
- 03Current decision
- 04Observed outcome
02 / Decision contract
What the executor must check
Define the cache key, TTL, invalidation channel and fail-closed behavior; bypass cache for high-impact actions or volatile context.
Architecture review / negative test
Make the boundary testable.
A cache key must include every decision-changing fact or a stable reference to it. Classify inputs by volatility: principal and operation may be stable for a task, while revocation, incident ownership and target state can change between calls. A high-impact executor may reasonably require a fresh check despite a cache hit elsewhere.
03 / Failure and evidence
What goes wrong, and what can be proven?
A broad key such as tool name lets one approved target authorize a different target.
Record cache hit, originating decision, policy version and revocation lag in traces.
04 / Canonical scope
Why this reference stands alone
Context-aware authorization defines the decision inputs; this page owns their caching and invalidation mechanics.
Architecture field test
A cached decision is a bounded claim
Which facts may change before reuse?
- 01Hash decision-relevant inputs
- 02Set short validity by consequence
- 03Check revocation and context epoch
- 04Compare final request before commit
Work the boundary
A diagnostic agent was allowed to read incident I-42 at 10:00. At 10:01, ownership moves to another team. Reusing the cached ALLOW at 10:02 is unsafe unless the cache key or invalidation path represents the changed assignment.
| Required facts | Principal, grant and policy version, task, operation, target, normalized parameters, context epoch and expiry. |
|---|---|
| Allow only when | Every bound input still matches and no invalidating event has arrived within the defined freshness policy. |
| Deny when | An approval, resource owner or parent grant changes while a positive cache entry remains usable. |
Break the assumption
Change one field at a time: amount, owner, policy version, ancestor revocation and task status. Measure the oldest accepted decision under event delay.
Design tradeoff
Cache hit rate competes with context freshness. High-impact writes should use very short or no positive caching, while low-risk stable reads can tolerate explicitly bounded staleness.
For a cached decision is a bounded claim, consult NIST NCCoE agent identity and authorization concept. This worked decision and negative test are ProofGrid analysis.
Continue with Revocation propagation.
Primary references