Goal
Make Weaver Kernel usable as an execution-enforcement point without requiring teams to replace the identity / authorization system they already trust.
Target relationship:
authenticated principal / workload
↓
external or native policy decision
↓
Weaver Kernel
(bind authority → verify → execute → bounded result → ActionTrace)
The built-in policy engine remains first-class and dependency-free. This issue defines a narrow provider seam; it does not add hard dependencies on Cedar, OpenFGA, Auth0, OAP or any other vendor/project.
Why
Trying to win organization-wide policy authoring is strategically unnecessary. Mature IAM/policy systems already own principal/resource/action/context semantics for many adopters. Kernel's differentiated job should be enforcement at the mediated agent-action boundary plus scoped authority and evidence.
The architecture should therefore be able to accept a decision produced elsewhere while preserving Kernel's invariants.
Design requirements
Define a small protocol conceptually equivalent to:
class AuthorizationDecisionProvider(Protocol):
def evaluate(
self,
*,
principal: Principal,
capability: Capability,
request: CapabilityRequest,
context: Mapping[str, Any],
) -> PolicyDecision: ...
The final API need not use this exact signature.
The seam must preserve:
- stable allow / deny / ask semantics where supported;
- reason codes / explanation mapping;
- constraints that are subsequently signed into the Kernel grant;
- policy/decision identity or digest for
ActionTrace evidence;
- deterministic fail-closed behavior on provider errors / malformed decisions;
- no external system receiving raw tool results merely to make a pre-action decision;
- native
DefaultPolicyEngine behavior unchanged for standalone users.
Interoperability spike
Before making the provider API stable, implement two tiny adapters/examples with different policy models, selected to test the abstraction rather than endorse vendors. For example:
- one principal/action/resource/context policy engine (Cedar/OpenFGA-style); and
- one agent-specific signed decision/artifact system (OAP-style), if its contract is stable enough.
Adapters can live under examples/experimental code initially.
The goal is to learn whether one neutral decision shape can faithfully carry what Kernel needs.
Security questions
The design note must answer:
Non-goals
Acceptance criteria
Sequencing
Medium priority until Gate 0 (#278) provides external evidence. This is the strategic hedge against betting Kernel adoption on any single policy ecosystem.
Goal
Make Weaver Kernel usable as an execution-enforcement point without requiring teams to replace the identity / authorization system they already trust.
Target relationship:
The built-in policy engine remains first-class and dependency-free. This issue defines a narrow provider seam; it does not add hard dependencies on Cedar, OpenFGA, Auth0, OAP or any other vendor/project.
Why
Trying to win organization-wide policy authoring is strategically unnecessary. Mature IAM/policy systems already own principal/resource/action/context semantics for many adopters. Kernel's differentiated job should be enforcement at the mediated agent-action boundary plus scoped authority and evidence.
The architecture should therefore be able to accept a decision produced elsewhere while preserving Kernel's invariants.
Design requirements
Define a small protocol conceptually equivalent to:
The final API need not use this exact signature.
The seam must preserve:
ActionTraceevidence;DefaultPolicyEnginebehavior unchanged for standalone users.Interoperability spike
Before making the provider API stable, implement two tiny adapters/examples with different policy models, selected to test the abstraction rather than endorse vendors. For example:
Adapters can live under examples/experimental code initially.
The goal is to learn whether one neutral decision shape can faithfully carry what Kernel needs.
Security questions
The design note must answer:
ActionTracewithout pretending Kernel made the upstream decision?Non-goals
Acceptance criteria
Sequencing
Medium priority until Gate 0 (#278) provides external evidence. This is the strategic hedge against betting Kernel adoption on any single policy ecosystem.