Policy Cedar Reference

Cedar policies use permit(...) statements matching a fixed principal/action/resource schema: the action is always the single fixed value Wardline::Action::"call_tool" — Wardline’s action space genuinely is just “call a tool.” The tool being called is the resource, not the action:

permit(
  principal == Wardline::Identity::"agent-abc123",
  action == Wardline::Action::"call_tool",
  resource == Wardline::Tool::"read_file"
);

Putting the tool name into action instead of resource (or leaving resource unconstrained) will never match any real request, since every request’s action is always "call_tool" — the policy will silently deny everything it was meant to allow.

See policy.cedar.example in the repo root for a complete, runnable example.