From c2571a292077b7bcdb252d67c0dd7c6ccf5ad2e2 Mon Sep 17 00:00:00 2001 From: Amit Saxena Date: Sat, 14 Mar 2026 01:04:39 +0530 Subject: [PATCH 1/3] py sdk integration context --- .github/workflows/py-sdk-build-publish.yml | 2 +- Cargo.toml | 2 +- README.md | 344 +++++++++--------- doc/mcp-demo.gif | Bin 0 -> 240753 bytes .../python/advance/ai_agent_tool_guardrail.py | 193 ++++++++++ .../advance/ai_high_risk_action_approval.py | 234 ++++++++++++ .../ai_infrastructure_guardrails.py.py | 303 +++++++++++++++ .../python/advance/ai_multi_step_safety.py | 209 +++++++++++ .../python/helpers/action_evaluate_example.py | 110 ++++++ .../python/helpers/allow_helper_example.py | 88 +++++ .../python/helpers/block_helper_example.py | 92 +++++ .../langchain/database_guardrail_agent.py | 153 ++++++++ examples/python/langchain/refund_agent.py | 110 ++++++ examples/python/langchain/refund_llm_agent.py | 161 ++++++++ examples/python/mcp/fastmcp_basic.py | 211 +++++++++++ examples/python/runtime/explain_call.py | 51 +++ .../python/runtime/explain_call_detailed.py | 221 +++++++++++ .../runtime/extract_framework_context.py | 76 ++++ .../runtime/manual_evaluation_with_events.py | 4 +- scripts/run_all_examples.sh | 13 + sdk/python/README.md | 125 ++----- sdk/python/actra/__init__.py | 9 +- sdk/python/actra/errors.py | 14 +- sdk/python/actra/integrations/mcp/__init__.py | 7 + sdk/python/actra/integrations/mcp/adapter.py | 108 ++++++ sdk/python/actra/integrations/mcp/context.py | 80 ++++ sdk/python/actra/integrations/mcp/server.py | 105 ++++++ sdk/python/actra/policy.py | 13 +- sdk/python/actra/runtime.py | 214 +++++++++-- sdk/python/pyproject.toml | 4 +- 30 files changed, 2948 insertions(+), 308 deletions(-) create mode 100644 doc/mcp-demo.gif create mode 100644 examples/python/advance/ai_agent_tool_guardrail.py create mode 100644 examples/python/advance/ai_high_risk_action_approval.py create mode 100644 examples/python/advance/ai_infrastructure_guardrails.py.py create mode 100644 examples/python/advance/ai_multi_step_safety.py create mode 100644 examples/python/helpers/action_evaluate_example.py create mode 100644 examples/python/helpers/allow_helper_example.py create mode 100644 examples/python/helpers/block_helper_example.py create mode 100644 examples/python/langchain/database_guardrail_agent.py create mode 100644 examples/python/langchain/refund_agent.py create mode 100644 examples/python/langchain/refund_llm_agent.py create mode 100644 examples/python/mcp/fastmcp_basic.py create mode 100644 examples/python/runtime/explain_call.py create mode 100644 examples/python/runtime/explain_call_detailed.py create mode 100644 examples/python/runtime/extract_framework_context.py create mode 100755 scripts/run_all_examples.sh create mode 100644 sdk/python/actra/integrations/mcp/__init__.py create mode 100644 sdk/python/actra/integrations/mcp/adapter.py create mode 100644 sdk/python/actra/integrations/mcp/context.py create mode 100644 sdk/python/actra/integrations/mcp/server.py diff --git a/.github/workflows/py-sdk-build-publish.yml b/.github/workflows/py-sdk-build-publish.yml index b733106..e0954b9 100644 --- a/.github/workflows/py-sdk-build-publish.yml +++ b/.github/workflows/py-sdk-build-publish.yml @@ -119,7 +119,7 @@ jobs: publish_test: name: Publish to Test PyPI - if: ${{ github.ref_type == 'branch' && github.ref_name != 'main' }} + if: ${{ github.event_name == 'workflow_dispatch'}} needs: [build_wheels, build_sdist] runs-on: ubuntu-latest #environment: pypi diff --git a/Cargo.toml b/Cargo.toml index 5856a63..e716667 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.4.0" +version = "0.5.0" edition = "2021" license = "Apache-2.0" authors = ["Amit Saxena"] diff --git a/README.md b/README.md index 13e099c..690ad3b 100644 --- a/README.md +++ b/README.md @@ -1,216 +1,234 @@ # Actra -Deterministic admission control engine for state-changing operations in automated and agentic systems. +[![PyPI version](https://img.shields.io/pypi/v/actra.svg)](https://pypi.org/project/actra/) +[![PyPI downloads](https://img.shields.io/pypi/dm/actra)](https://pypi.org/project/actra/) -Actra compiles declarative policy definitions into a validated, -immutable intermediate representation (IR) that can be evaluated -efficiently against runtime inputs. +**Action Admission Control for Automated Systems** -It is designed for systems that require explicit, reproducible control -over mutations - including API gateways, background workers, -agentic runtimes and automated service workflows. +Deterministic policy engine that decides whether automated actions are **allowed before they execute**. ---- - -## Why Actra? +Actra prevents unsafe operations in: -Modern systems often mix: +* AI agents +* APIs +* automation systems +* background workers +* workflows -- Business logic -- Authorization logic -- Governance rules -- Operational constraints +Instead of embedding control logic in application code, Actra evaluates **external policies** before state-changing actions run. -This leads to implicit, scattered mutation controls. +--- -Actra separates these concerns: +![MCP Demo](docs/mcp-demo.gif) -1. **Schema** defines allowed structure. -2. **Policy** defines decision logic. -3. **Governance** defines organizational constraints. -4. **Compiler** validates everything upfront. -5. **Engine** performs deterministic evaluation at runtime. +Agent attempted to call an MCP tool. -All semantic validation happens at compile time. -Runtime evaluation performs no structural checks. +Actra evaluated policy and **blocked the unsafe operation before execution** --- -## Core Design Principles - -- Deterministic evaluation -- Strict compile-time validation -- First-match-wins rule semantics -- Default allow (unless explicitly blocked) -- No unsafe Rust -- Runtime-agnostic core +## Why Actra? ---- +Modern systems increasingly perform actions automatically: -## Applicable Systems +* AI agents calling tools +* workflow automation +* API integrations +* background jobs -Actra is designed for systems that perform controlled mutations, including: +These systems can trigger **powerful state-changing operations**, such as: -- Agentic AI runtimes -- Tool-executing LLM systems -- Automation pipelines -- Workflow engines -- API gateways -- State mutation services +* issuing refunds +* deleting resources +* sending payments +* modifying infrastructure -It is particularly relevant for: -- Agent frameworks such as OpenClaw -- Systems implementing the Model Context Protocol (MCP) -- Automated remediation systems -- Infrastructure orchestration engines +Today these controls often live inside application code: -In these environments, LLMs or automated processes may attempt -state-changing operations. Actra provides a deterministic, -compile-time validated control layer in front of those mutations. +```python +if amount > 1000: + raise Exception("Refund too large") +``` -It does not replace orchestration logic or workflow execution. -It acts as an explicit mutation admission boundary between -decision-making systems and state-changing operations. +This creates problems: -Typical embedding points include: +* rules duplicated across services +* difficult to audit behavior +* policy changes require redeploys +* automation becomes risky -- Agent execution runtimes -- Tool invocation layers -- MCP-based tool servers -- Background automation workers -- API request pipelines +Actra moves these decisions into **deterministic external policies evaluated before the action executes**. --- -## Example (Node.js) - -```js -const { Actra } = require('./index') - -const schema = ` -version: 1 -actions: - delete_user: - fields: - type: string - user_id: string -actor: - fields: - role: string -snapshot: - fields: - account_tier: string -` - -const policy = ` -version: 1 +## 20-Second Example + +```python +@actra.admit() +def refund(amount): + ... +``` + +The rule lives in policy: + +```yaml rules: - - id: block_non_admin_delete - scope: - action: delete_user + - id: block_large_refund when: subject: - domain: actor - field: role - operator: equals + domain: action + field: amount + operator: greater_than value: - literal: "admin" + literal: 1000 effect: block -` +``` -const actra = new Actra(schema, policy) +```markdown +Result: + +refund(200) > allowed +refund(1500) > blocked by policy +``` -const result = actra.evaluate({ - action: { type: "delete_user", user_id: "123" }, - actor: { role: "user" }, - snapshot: {} -}) +Actra evaluates the policy **before the function executes** and blocks refunds greater than 1000. -console.log(result) -// { effect: "allow", matched_rule: "" } +--- + +## Installation + +```bash +pip install actra ``` -## Example (Python) +See the **examples/** directory for quick start examples. -```python -from actra import Actra - -schema = """ -version: 1 -actions: - update_account: - fields: - type: string - account_id: string -actor: - fields: - role: string -snapshot: - fields: - region: string -""" - -policy = """ -version: 1 -rules: - - id: block_non_admin - scope: - action: update_account - when: - subject: - domain: actor - field: role - operator: equals - value: - literal: "admin" - effect: block -""" +--- -actra = Actra(schema, policy) +## Architecture -result = actra.evaluate({ - "action": {"type": "update_account", "account_id": "A1"}, - "actor": {"role": "user"}, - "snapshot": {} -}) +Actra evaluates policies **before operations execute**. -print(result) -``` +```mermaid +flowchart LR -## Governance Layer +A[Application / Agent / API] --> B[Action Request] -Actra includes an optional governance DSL that allows higher-order constraints on policies: +B --> C[Actra Admission Control] -- Require certain rules to exist -- Restrict allowed fields -- Limit rule counts -- Forbid specific patterns +C --> D[Schema] +C --> E[Policies] +C --> F[Governance (optional)] +C --> G[Runtime Context] -Governance validation runs before compilation and can reject otherwise valid policies. +G --> G1[Actor] +G --> G2[Action] +G --> G3[Snapshot] -Architecture +C --> H{Decision} -```mermaid -flowchart TD - A[Schema - YAML] - B[Policy AST - YAML] - C[Governance Validation - Optional] - D[Compiler] - E[Compiled IR] - F[Evaluation Engine - Runtime] - - A --> B --> C --> D --> E --> F +H -->|Allow| I[Execute Operation] +H -->|Block| J[Operation Prevented] ``` -The evaluation engine operates only on validated IR. -No dynamic validation occurs at runtime. +--- + +## Example Use Cases + +Actra can control many automated operations. -## Status +### AI Agents -Actra is currently in early foundation stage (v0.1.x). +* restrict tool execution +* prevent critical infrastructure changes +* enforce safety policies -Core architecture is stable. -Public API may evolve as the DSL matures. +### APIs + +* block large refunds +* prevent destructive operations +* enforce safety checks + +### Automation + +* enforce workflow rules +* restrict financial operations +* require approval thresholds + +### Infrastructure + +* prevent destructive changes +* enforce safe deployment policies + +--- + +## SDKs + +Actra supports multiple runtimes. + +| Runtime | Status | +| ------- | ------------ | +| Python | Available | +| Node.js | WIP | +| Rust | Core runtime | +| WASM | Planned | +| Go | Planned | + +--- + +## Actra vs OPA vs Cedar + +| Feature | Actra | OPA | Cedar | +| ----------------- | -------------------------------- | ------------------------------ | ----------------------------- | +| Primary purpose | Admission control for operations | General policy engine | Authorization policy language | +| Evaluation timing | **Before executing actions** | Usually request-time decisions | Authorization decisions | +| Integration model | Function / action enforcement | API / sidecar / middleware | Service authorization | +| Policy style | Structured YAML rules | Rego language | Cedar language | +| Determinism focus | Strong | Moderate | Strong | +| Target systems | Agents, automation, APIs | Infrastructure, Kubernetes | Application authorization | +| Typical use case | Block unsafe operations | Policy enforcement in infra | Access control | + +### Positioning + +Actra focuses on **controlling actions before they execute**, especially in automated or agent-driven systems. + +OPA and Cedar focus primarily on **authorization decisions**, such as: + +* “Can user X access resource Y?” + +Actra focuses on **admission control for mutations**, such as: + +* Should this refund execute? +* Should an agent run this tool? +* Should this workflow step proceed? + +### Example Scenarios + +| Scenario | Best Tool | +| ------------------------------------------------ | --------- | +| Can a user access a document? | Cedar | +| Can a service access an API? | OPA | +| Should an automated system execute an operation? | Actra | + + +--- + +## Documentation + +Full documentation coming soon. + +Refer to the **examples** folder for detailed usage examples. + +Planned documentation sections: + +* policy language +* MCP integration +* agent safety +* runtime architecture +* advanced policy patterns + +--- ## License -This project is licensed under the Apache License 2.0 - see the LICENSE file for details. \ No newline at end of file + +Apache 2.0 diff --git a/doc/mcp-demo.gif b/doc/mcp-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d073aadd3d95edaa135391c9cfa03957198e1745 GIT binary patch literal 240753 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%0A?oo_u^x}9uuG}fqI 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 LLM > Tool Call > Actra Policy > Allow / Block + +If the policy blocks the action, the tool execution never occurs + +In a real agent system, the LLM would decide to call the tool +Here we simulate that decision by invoking the tool directly +""" + +from langchain.tools import tool +from langchain_community.llms.fake import FakeListLLM + +from actra import Actra, ActraRuntime, ActraPolicyError, ActraContext + + +# --------------------------------------------------------------------- +# 1. Schema +# --------------------------------------------------------------------- + +schema_yaml = """ +version: 1 + +actions: + delete_database: + fields: + database: string + environment: string + +actor: + fields: + role: string + +snapshot: + fields: + maintenance_window: boolean +""" + + +# --------------------------------------------------------------------- +# 2. Policy +# --------------------------------------------------------------------- + +policy_yaml = """ +version: 1 + +rules: + + - id: block_delete_production_database + scope: + action: delete_database + when: + subject: + domain: action + field: environment + operator: equals + value: + literal: "production" + effect: block +""" + + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + + +# --------------------------------------------------------------------- +# 3. Runtime Context +# --------------------------------------------------------------------- + +runtime.set_context_resolver( + lambda args, kwargs: ActraContext(user={"role": "engineer"}) +) + +runtime.set_actor_resolver( + lambda ctx: {"role": ctx.user.get("role")} +) + +runtime.set_snapshot_resolver( + lambda ctx: {"maintenance_window": False} +) + + +# --------------------------------------------------------------------- +# 4. Protected Tool +# --------------------------------------------------------------------- + +@tool +@runtime.admit() +def delete_database(database: str, environment: str) -> str: + """ + Delete a database. + + This tool is protected by Actra admission control. + """ + + return f"Database {database} deleted in {environment}" + + +# --------------------------------------------------------------------- +# 5. Fake LLM (simulated decision) +# --------------------------------------------------------------------- + +llm = FakeListLLM( + responses=[ + "Delete the users database in production" + ] +) + + +# --------------------------------------------------------------------- +# 6. Simulated LLM → Tool Execution +# --------------------------------------------------------------------- + +print("\n--- LLM Attempt ---\n") + +prompt = "Delete the users database in production" +response = llm.invoke(prompt) + +print("LLM request:", response) + +try: + result = delete_database.invoke( + { + "database": "users", + "environment": "production" + } + ) + + print("Result:", result) + +except ActraPolicyError: + print("Action blocked by Actra policy") \ No newline at end of file diff --git a/examples/python/langchain/refund_agent.py b/examples/python/langchain/refund_agent.py new file mode 100644 index 0000000..361de91 --- /dev/null +++ b/examples/python/langchain/refund_agent.py @@ -0,0 +1,110 @@ +""" +Actra + LangChain Example + +This example demonstrates how Actra can protect LangChain tools +executed by an LLM agent + +The LLM may decide to call a tool, but Actra evaluates a policy +decision before the tool executes + +In a real agent system, the LLM would decide to call the tool +Here we simulate that decision by invoking the tool directly +""" + +from langchain.tools import tool + +from actra import Actra, ActraRuntime, ActraContext + +# ------------------------------------------------------------ +# Schema +# ------------------------------------------------------------ + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: + fraud_flag: boolean +""" + +# ------------------------------------------------------------ +# Policy +# ------------------------------------------------------------ + +policy_yaml = """ +version: 1 + +rules: + - id: support_refund_limit + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + - subject: + domain: actor + field: role + operator: equals + value: + literal: "support" + effect: block +""" + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + + +# ------------------------------------------------------------ +# Resolvers +# ------------------------------------------------------------ + +runtime.set_context_resolver( + lambda args, kwargs: ActraContext( + user={"role": "support"} + ) +) + +runtime.set_actor_resolver( + lambda ctx: {"role": ctx.user.get("role")} +) + +runtime.set_snapshot_resolver( + lambda ctx: {"fraud_flag": False} +) + + +# ------------------------------------------------------------ +# LangChain Tool +# ------------------------------------------------------------ + +@tool +@runtime.admit() +def refund(amount: int) -> str: + """Issue a refund to the customer.""" + return f"Refund executed: {amount}" + + +# ------------------------------------------------------------ +# Example Tool Calls +# ------------------------------------------------------------ + +print(refund.invoke({"amount": 200})) + +try: + print(refund.invoke({"amount": 2000})) +except Exception as e: + print("Blocked:", e) \ No newline at end of file diff --git a/examples/python/langchain/refund_llm_agent.py b/examples/python/langchain/refund_llm_agent.py new file mode 100644 index 0000000..1f117f8 --- /dev/null +++ b/examples/python/langchain/refund_llm_agent.py @@ -0,0 +1,161 @@ +""" +Actra + LangChain Guardrail Example +=================================== + +This example demonstrates how Actra can enforce deterministic +policy decisions for tools invoked by an LLM agent + +Flow: + +User > LLM > Tool Call > Actra Policy > Allow / Block + +If the policy blocks the action, the tool execution does not occur +and the LLM must respond accordingly + +This pattern is critical for safe agentic systems where AI may attempt +to perform actions such as: + + - issuing refunds + - modifying infrastructure + - deleting resources + - sending emails + +Actra acts as the deterministic guardrail controlling those actions. + +In a real agent system, the LLM would decide to call the tool +Here we simulate that decision by invoking the tool directly +""" + +from langchain.tools import tool +from langchain_community.llms.fake import FakeListLLM + +from actra import Actra, ActraRuntime, ActraPolicyError, ActraContext + +# ------------------------------------------------------------ +# Schema +# ------------------------------------------------------------ + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: + fraud_flag: boolean +""" + + +# ------------------------------------------------------------ +# Policy +# ------------------------------------------------------------ + +policy_yaml = """ +version: 1 + +rules: + - id: support_refund_limit + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + - subject: + domain: actor + field: role + operator: equals + value: + literal: "support" + effect: block +""" + + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + +# ------------------------------------------------------------ +# Resolvers +# ------------------------------------------------------------ + +runtime.set_context_resolver( + lambda args, kwargs: ActraContext( + user={"role": "support"} + ) +) + +runtime.set_actor_resolver( + lambda ctx: {"role": ctx.user.get("role")} +) + +runtime.set_snapshot_resolver( + lambda ctx: {"fraud_flag": False} +) + + +# ------------------------------------------------------------ +# Protected Tool +# ------------------------------------------------------------ + +@tool +@runtime.admit() +def refund(amount: int) -> str: + """Refund tool protected by Actra.""" + return f"Refund executed: {amount}" + + +# ------------------------------------------------------------ +# Fake LLM +# ------------------------------------------------------------ + +llm = FakeListLLM( + responses=[ + "Call refund with amount=200", + "Call refund with amount=5000", + ] +) + + +# ------------------------------------------------------------ +# Simulated LLM Agent Behavior +# ------------------------------------------------------------ + +def run_agent(): + print("\n--- LLM Attempt 1 ---") + + response = llm.invoke("refund customer") + print(response) + + try: + print(refund.invoke({"amount": 200})) + except ActraPolicyError: + print("Blocked by policy") + + print("\n--- LLM Attempt 2 ---") + + response = llm.invoke("refund customer") + print(response) + + try: + print(refund.invoke({"amount": 5000})) + except ActraPolicyError: + print("Blocked by policy") + + +# ------------------------------------------------------------ +# Execute +# ------------------------------------------------------------ + +if __name__ == "__main__": + run_agent() \ No newline at end of file diff --git a/examples/python/mcp/fastmcp_basic.py b/examples/python/mcp/fastmcp_basic.py new file mode 100644 index 0000000..e758f56 --- /dev/null +++ b/examples/python/mcp/fastmcp_basic.py @@ -0,0 +1,211 @@ +""" +Actra + FastMCP Example +======================= + +This example demonstrates how to enforce Actra admission control +policies on MCP tools using FastMCP + +Actra evaluates a policy decision **before the tool executes**. +If the policy decision is `"block"`, the tool call is prevented +and the execution does not proceed + +Key concepts demonstrated in this example: + +- Defining an Actra schema +- Writing a simple policy rule +- Creating an Actra runtime +- Providing runtime context using resolvers +- Protecting MCP tools using the `@runtime.admit()` decorator + +This example intentionally keeps the runtime context minimal so it +can run in any MCP environment without requiring authentication +or external systems +""" + +from fastmcp import FastMCP + +from actra import Actra, ActraRuntime +from actra.integrations.mcp import ActraMCPContext + + +# --------------------------------------------------------------------- +# 1. MCP Server +# --------------------------------------------------------------------- + +# Create a FastMCP server instance. +# The name is used for identification in MCP tooling environments. +mcp = FastMCP("actra-example") + + +# --------------------------------------------------------------------- +# 2. Actra Schema +# --------------------------------------------------------------------- +# +# The schema defines the structure of the policy domains: +# +# action : parameters of the tool invocation +# actor : identity of the caller +# snapshot : external system state +# +# Policies are only allowed to reference fields defined here +# + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: + fraud_flag: boolean +""" + +# --------------------------------------------------------------------- +# 3. Policy Definition +# --------------------------------------------------------------------- +# +# Policy rule: +# +# Support agents are NOT allowed to issue refunds larger than 1000 +# + +policy_yaml = """ +version: 1 + +rules: + - id: support_refund_limit + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + - subject: + domain: actor + field: role + operator: equals + value: + literal: "support" + effect: block +""" + +# --------------------------------------------------------------------- +# 4. Compile Policy and Create Runtime +# --------------------------------------------------------------------- + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + +# --------------------------------------------------------------------- +# 5. Runtime Context Resolvers +# --------------------------------------------------------------------- +# +# Resolvers provide dynamic runtime data used during policy evaluation. +# +# Actra separates policy logic from application frameworks +# Integrations (ActraMCPContext) are responsible for constructing the context object +# + +def resolve_context(args, kwargs) -> ActraMCPContext: + """ + Build the Actra context object for MCP tool invocations. + + In production environments this context may include: + + - authenticated user identity + - session metadata + - request identifiers + - tenant information + + For this example we provide a minimal context object + """ + return ActraMCPContext(user={}) + + +def resolve_actor(ctx: ActraMCPContext): + """ + Extract the actor domain from the MCP context + + The actor represents the entity invoking the tool + + In real systems this may come from: + + - authentication tokens + - MCP session identity + - API gateway headers + """ + return {"role": ctx.user.get("role", "support")} + + +def resolve_snapshot(ctx: ActraMCPContext): + """ + Provide external system state used by policies + + Snapshot data typically comes from: + + - databases + - feature flags + - fraud detection systems + - system configuration + + This example always returns `fraud_flag = False` + """ + return {"fraud_flag": False} + + +runtime.set_context_resolver(resolve_context) +runtime.set_actor_resolver(resolve_actor) +runtime.set_snapshot_resolver(resolve_snapshot) + +# --------------------------------------------------------------------- +# 6. MCP Tool Protected by Actra +# --------------------------------------------------------------------- +# +# The `@runtime.admit()` decorator enforces policy evaluation +# before the tool executes. +# +# If a policy decision results in `"block"`, the tool will not run +# + +@mcp.tool() +@runtime.admit() +def refund(amount: int): + """ + Issue a refund + + This tool is protected by Actra admission control + + Policy behavior: + - refunds <= 1000 : allowed + - refunds > 1000 by support agents : blocked + + Args: + amount: + Refund amount requested by the caller + + Returns: + A JSON-serializable response describing the result + """ + + return { + "message": f"Refund executed: {amount}" + } + + +# --------------------------------------------------------------------- +# 7. Run MCP Server +# --------------------------------------------------------------------- + +if __name__ == "__main__": + mcp.run() \ No newline at end of file diff --git a/examples/python/runtime/explain_call.py b/examples/python/runtime/explain_call.py new file mode 100644 index 0000000..8f457dd --- /dev/null +++ b/examples/python/runtime/explain_call.py @@ -0,0 +1,51 @@ +""" +Explain Call Example + +Demonstrates how to inspect policy evaluation for a +function call without executing the function. +""" + +from actra import Actra, ActraRuntime + + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: +""" + +policy_yaml = """ +version: 1 + +rules: + - id: block_large_refund + scope: + action: refund + when: + subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + effect: block +""" + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + +def refund(amount: int): + print("Refund executed:", amount) + +# This reproduces exactly what would happen if the function were executed with @runtime.admit +runtime.explain_call(refund, amount=1500) diff --git a/examples/python/runtime/explain_call_detailed.py b/examples/python/runtime/explain_call_detailed.py new file mode 100644 index 0000000..3dfd5f9 --- /dev/null +++ b/examples/python/runtime/explain_call_detailed.py @@ -0,0 +1,221 @@ +""" +Actra explain_call Example +-------------------------- + +This example demonstrates how to debug a policy decision using +`runtime.explain_call()` without executing the protected function + +`explain_call()` simulates the same evaluation flow used by the +`@runtime.admit` decorator, but instead of executing the function, +it prints a human-readable explanation of the policy decision + +Use this when you want to understand: + +• why a function call is allowed or blocked +• which rule triggered +• what runtime context was used during evaluation + +This is extremely useful when developing or debugging policies. +""" + +from actra import Actra, ActraRuntime + +# ------------------------------------------------------------ +# Schema +# ------------------------------------------------------------ + +# Defines the structure of data that policies can reference. +# +# Domains: +# action -> information about the operation being performed +# actor -> identity of the caller +# snapshot -> external system state +# + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: + fraud_flag: boolean +""" + +# ------------------------------------------------------------ +# Policy +# ------------------------------------------------------------ +# Rule: +# Support agents are not allowed to issue refunds greater +# than 1000. +# + +policy_yaml = """ +version: 1 + +rules: + - id: support_limit + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + effect: block + + """ + +policy_yaml = """ +version: 1 + +rules: + - id: block_fraud_account + scope: + global: true + when: + subject: + domain: snapshot + field: fraud_flag + operator: equals + value: + literal: true + effect: block + + - id: block_large_refund_by_support + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + - subject: + domain: actor + field: role + operator: equals + value: + literal: "support" + effect: block +""" + +# ------------------------------------------------------------ +# Compile policy +# ------------------------------------------------------------ + +policy = Actra.from_strings(schema_yaml, policy_yaml) + +# ------------------------------------------------------------ +# Create runtime +# ------------------------------------------------------------ +# The runtime connects application code to the policy engine. +# + +runtime = ActraRuntime(policy) + +# ------------------------------------------------------------ +# Example request context +# ------------------------------------------------------------ +# Many frameworks provide request context objects. +# The runtime resolvers can extract actor information from them. +# + +class RequestContext: + def __init__(self, role): + self.role = role + +# ------------------------------------------------------------ +# Actor resolver +# ------------------------------------------------------------ +# Converts the application context into an Actra actor object. +# + +runtime.set_actor_resolver( + lambda ctx: {"role": ctx.role} +) + +# ------------------------------------------------------------ +# Snapshot resolver +# ------------------------------------------------------------ +# Converts system state into Snapshot object. +# +runtime.set_snapshot_resolver( + lambda ctx: {"fraud_flag": False} +) + +# ------------------------------------------------------------ +# Protected function +# ------------------------------------------------------------ +# The function is protected using the Actra admission decorator. +# +# If the policy effect is "block", ActraPolicyError will be raised +# and the function will NOT execute. +# + +@runtime.admit(fields=["amount"]) +def refund(amount: int, ctx=None): + print("Refund executed:", amount) + +# ------------------------------------------------------------ +# Create a context where the user is a support agent +# ------------------------------------------------------------ +ctx = RequestContext(role="support") + +# ------------------------------------------------------------ +# Example 1: Allowed execution +# ------------------------------------------------------------ +# Refund below the limit should succeed. +# + +refund(500, ctx=ctx) + +# ------------------------------------------------------------ +# Example 2: Debug a blocked call +# ------------------------------------------------------------ +# Instead of executing the function (which would raise an error), +# we ask Actra to explain the policy decision. +# + +runtime.explain_call(refund, amount=2000, ctx=ctx) + +# ------------------------------------------------------------ +# Example 3: Debug a blocked call for Fraud Account +# ------------------------------------------------------------ +# Instead of executing the function (which would raise an error), +# we ask Actra to explain the policy decision. +# + +fraud_runtime = ActraRuntime(policy) + +# ------------------------------------------------------------ +# Actor resolver +# ------------------------------------------------------------ +# Converts the application context into an Actra actor object. +# +fraud_runtime.set_actor_resolver( + lambda ctx: {"role": ctx.role} +) + +# ------------------------------------------------------------ +# Snapshot resolver +# ------------------------------------------------------------ +# Converts system state into Snapshot object. +# +fraud_runtime.set_snapshot_resolver( + lambda ctx: {"fraud_flag": True} +) + +fraud_runtime.explain_call(refund, 50, ctx) \ No newline at end of file diff --git a/examples/python/runtime/extract_framework_context.py b/examples/python/runtime/extract_framework_context.py new file mode 100644 index 0000000..b84a523 --- /dev/null +++ b/examples/python/runtime/extract_framework_context.py @@ -0,0 +1,76 @@ +""" +Context Resolver Example + +Shows how runtime context can be extracted from +function arguments. +""" + +from actra import Actra, ActraRuntime + +schema_yaml = """ +version: 1 + +actions: + refund: + fields: + amount: number + +actor: + fields: + role: string + +snapshot: + fields: +""" + +policy_yaml = """ +version: 1 + +rules: + - id: support_limit + scope: + action: refund + when: + all: + - subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + - subject: + domain: actor + field: role + operator: equals + value: + literal: "support" + effect: block +""" + +policy = Actra.from_strings(schema_yaml, policy_yaml) +runtime = ActraRuntime(policy) + + +class RequestContext: + def __init__(self, role): + self.role = role + + +runtime.set_context_resolver( + lambda args, kwargs: kwargs.get("ctx") +) + +runtime.set_actor_resolver( + lambda ctx: {"role": ctx.role} +) + + +@runtime.admit(action_type="refund") +def refund(amount: int, ctx=None): + print("Refund executed:", amount) + + +ctx = RequestContext(role="support") + +refund(amount=200, ctx=ctx) +refund(amount=2000, ctx=ctx) diff --git a/examples/python/runtime/manual_evaluation_with_events.py b/examples/python/runtime/manual_evaluation_with_events.py index f60ecf8..88cef89 100644 --- a/examples/python/runtime/manual_evaluation_with_events.py +++ b/examples/python/runtime/manual_evaluation_with_events.py @@ -52,11 +52,11 @@ def observer(event:DecisionEvent): action = runtime.build_action( - func=lambda: None, action_type="deploy", args=(), kwargs={"env": "prod"}, - ctx=None + ctx=None, + func=None, ) runtime.evaluate(action) \ No newline at end of file diff --git a/scripts/run_all_examples.sh b/scripts/run_all_examples.sh new file mode 100755 index 0000000..218ea80 --- /dev/null +++ b/scripts/run_all_examples.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +ROOT_DIR="$1" + +if [ -z "$ROOT_DIR" ]; then + echo "Usage: $0 " + exit 1 +fi + +find "$ROOT_DIR" -type f -name "*.py" | while read file; do + echo "Running $file" + python3 "$file" +done \ No newline at end of file diff --git a/sdk/python/README.md b/sdk/python/README.md index a2b3438..c710be5 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -1,7 +1,8 @@ # Actra Python SDK -Deterministic admission control and policy evaluation for state-changing -operations in automated and agentic systems. +**Action Admission Control for Automated Systems** + +Deterministic policy engine that decides whether automated actions are **allowed before they execute**. The **Actra Python SDK** provides a simple interface for loading policies and evaluating decisions using the Actra engine written in Rust. @@ -31,115 +32,37 @@ The package includes a compiled Rust engine, so no Rust toolchain is required du ## Quick Start ```python -import actra -from actra import ActraRuntime - -policy = actra.load_policy_from_file( - "schema.yaml", - "policy.yaml" -) - -runtime = ActraRuntime(policy) - -runtime.set_actor_resolver(lambda ctx: {"role": "admin"}) -runtime.set_snapshot_resolver(lambda ctx: {}) - -@runtime.admit() -def deploy(): - print("Deployment executed") - -deploy() - +@actra.admit() +def refund(amount): + ... ``` ---- - -## Loading Policies - -### From Files - -```python -import actra - -policy = actra.load_policy_from_file( - "schema.yaml", - "policy.yaml" -) +The rule lives in policy: + +```yaml +rules: + - id: block_large_refund + when: + subject: + domain: action + field: amount + operator: greater_than + value: + literal: 1000 + effect: block ``` -Optional governance configuration can also be provided: +```markdown +Result: -```python -policy = actra.load_policy_from_file( - "schema.yaml", - "policy.yaml", - "governance.yaml" -) +refund(200) > allowed +refund(1500) > blocked by policy ``` ---- - -### From Strings - -Useful for tests or dynamic environments. - -```python -policy = actra.load_policy_from_string( - schema_yaml, - policy_yaml -) -``` +Actra evaluates the policy **before the function executes** and blocks refunds greater than 1000. --- -## Evaluating Decisions - -Policies evaluate a request context. - -```python -decision = policy.evaluate({ - "action": {...}, - "actor": {...}, - "snapshot": {...} -}) -``` - -The context typically contains: - -| Field | Description | -| ---------- | ---------------------------- | -| `action` | operation being requested | -| `actor` | entity requesting the action | -| `snapshot` | current system state | - ---- - -## Policy Hash - -Every compiled policy has a deterministic hash. - -```python -policy.policy_hash() -``` - -This is useful for: - -* auditing -* verifying policy consistency - ---- - -## Engine Version - -Retrieve the underlying compiler version: - -```python -import actra - -actra.Actra.compiler_version() -``` - ---- ## Design Goals diff --git a/sdk/python/actra/__init__.py b/sdk/python/actra/__init__.py index facbecb..76afa6a 100644 --- a/sdk/python/actra/__init__.py +++ b/sdk/python/actra/__init__.py @@ -3,8 +3,9 @@ from .policy import Actra, Policy from .runtime import ActraRuntime from .types import Action, Actor, Snapshot, Decision, Context -from .errors import ActraError, ActraPolicyError +from .errors import ActraError, ActraPolicyError, ActraSchemaError from .events import DecisionEvent +from .integrations.mcp.context import ActraMCPContext as ActraContext try: __version__ = version("actra") @@ -19,9 +20,13 @@ "Actra", "Policy", "ActraRuntime", + "DecisionEvent", + "ActraContext", + + # Errors "ActraError", "ActraPolicyError", - "DecisionEvent", + "ActraSchemaError", # Runtime types "Action", diff --git a/sdk/python/actra/errors.py b/sdk/python/actra/errors.py index 035e513..fe41f96 100644 --- a/sdk/python/actra/errors.py +++ b/sdk/python/actra/errors.py @@ -131,4 +131,16 @@ def __repr__(self): f"ActraPolicyError(" f"action_type={self.action_type!r}, " f"decision={self.decision!r})" - ) \ No newline at end of file + ) + +class ActraSchemaError(ActraError): + """ + Raised when Actra schema YAML cannot be parsed. + + This typically indicates invalid YAML syntax or + an incorrectly formatted schema definition. + """ + + def __init__(self, message, original_error=None): + self.original_error = original_error + super().__init__(message) \ No newline at end of file diff --git a/sdk/python/actra/integrations/mcp/__init__.py b/sdk/python/actra/integrations/mcp/__init__.py new file mode 100644 index 0000000..95bc2a8 --- /dev/null +++ b/sdk/python/actra/integrations/mcp/__init__.py @@ -0,0 +1,7 @@ +from .context import ActraMCPContext +from .adapter import ActraMCPAdapter + +__all__ = [ + "ActraMCPContext", + "ActraMCPAdapter", +] \ No newline at end of file diff --git a/sdk/python/actra/integrations/mcp/adapter.py b/sdk/python/actra/integrations/mcp/adapter.py new file mode 100644 index 0000000..14e322f --- /dev/null +++ b/sdk/python/actra/integrations/mcp/adapter.py @@ -0,0 +1,108 @@ +""" +Actra MCP Adapter + +This module provides the adapter layer that connects MCP tool calls +to the Actra policy runtime + +The adapter translates MCP tool invocations into Actra actions and +delegates policy evaluation to `ActraRuntime` + +Responsibilities of the adapter include: + + - mapping MCP tool calls to Actra actions + - constructing action objects from tool arguments + - forwarding execution context to the runtime + - evaluating policy decisions before tool execution + +The adapter does not implement policy logic itself. Instead it relies +on the core runtime for action construction and evaluation + +Execution flow: + + 1. MCP Tool Call + 2. ActraMCP Adapter + 3. ActraRuntime.build_action() + 4. ActraRuntime.evaluate() + 5. Policy Decision + +If a policy decision results in `"block"`, the adapter raises `ActraPolicyError` +and prevents tool execution + +Example usage: + + runtime = ActraRuntime(policy) + mcp = ActraMCPAdapter(runtime) + decision = mcp.evaluate_tool( + tool_name="refund", + arguments={"amount": 200}, + ctx=context + ) + +The adapter is intentionally lightweight so that ActraRuntime remains +the single orchestration layer for policy evaluation across all +integrations +""" + +from typing import Dict, Any, Optional + +from actra.errors import ActraPolicyError +from actra.types import Context + +class ActraMCPAdapter: + """ + Adapter connecting MCP tool calls to ActraRuntime + + The adapter converts MCP tool invocations into Actra actions and + delegates policy evaluation to the runtime + + It does not implement policy logic itself and remains a thin layer + translating MCP inputs into Actra runtime calls + """ + + def __init__(self, runtime): + self.runtime = runtime + + def evaluate_tool( + self, + tool_name: str, + arguments: Dict[str,Any], + ctx: Optional[Context] = None): + """ + Evaluate whether an MCP tool call should be allowed + + Args: + tool_name: + Name of the MCP tool being invoked + + arguments: + Dictionary containing tool arguments + + ctx: + MCP execution context + + Returns: + Policy decision dictionary + + Raises: + ActraPolicyError: + If the policy blocks the action. + """ + action = self.runtime.build_action( + action_type=tool_name, + args=(), + kwargs=arguments, + ctx=ctx + ) + + decision = self.runtime.evaluate(action, ctx) + if decision.get("effect") == "block": + context = self.runtime.build_context(action, ctx) + + raise ActraPolicyError( + action_type=tool_name, + decision=decision, + context=context + ) + return decision + +__all__ = ["ActraMCPAdapter"] diff --git a/sdk/python/actra/integrations/mcp/context.py b/sdk/python/actra/integrations/mcp/context.py new file mode 100644 index 0000000..66fbfe9 --- /dev/null +++ b/sdk/python/actra/integrations/mcp/context.py @@ -0,0 +1,80 @@ +""" +MCP Context Model for Actra Integrations + +This module defines the context object used when evaluating Actra +policies for MCP tool calls + +Actra separates policy evaluation from application frameworks +Integrations are responsible for constructing a context object that +contains any runtime information required by policy resolvers + +In MCP environments this context typically includes: + + - user identity + - session metadata + - request information + - tool execution environment + +The context object is passed to `ActraRuntime.evaluate()` during policy evaluation +and is used by configured resolvers to populate the policy domains: + + actor + snapshot + +Example: + + ctx = MCPContext( + user={"id": "123", "role": "support"}, + metadata={"session_id": "abc"} + ) + +Resolvers can then extract policy inputs from the context: + + runtime.set_actor_resolver(lambda ctx: {"role": ctx.user["role"]}) + +The Actra runtime itself remains framework-agnostic and does not +interpret the context object directly. Instead, integrations define +how the context should be structured and how resolvers derive the +required policy inputs + +This design keeps the core Actra runtime independent from MCP and other integrations while +allowing flexible policy evaluation across different environments +""" + +from dataclasses import dataclass +from typing import Optional, Dict, Any + +@dataclass +class ActraMCPContext: + """ + Context object passed to ActraRuntime when evaluating MCP tool calls + + The context carries runtime information about the MCP request + environment such as user identity, metadata, and request details + + Integrations populate this object and pass it to the Actra runtime, + where configured resolvers derive the policy domains (`actor`, + `snapshot`) from the context + + Attributes: + user: + Information about the user invoking the MCP tool + + metadata: + Arbitrary session or execution metadata + + request: + Raw MCP request data or tool invocation details + + Example: + ctx = MCPContext( + user={"id": "123", "role": "support"}, + metadata={"session": "abc"} + ) + """ + + user: Optional[Dict[str, Any]] = None + metadata: Optional[Dict[str, Any]] = None + request: Optional[Dict[str, Any]] = None + +__all__ = ["ActraMCPContext"] \ No newline at end of file diff --git a/sdk/python/actra/integrations/mcp/server.py b/sdk/python/actra/integrations/mcp/server.py new file mode 100644 index 0000000..ec1cb09 --- /dev/null +++ b/sdk/python/actra/integrations/mcp/server.py @@ -0,0 +1,105 @@ +""" +MCP Server Utilities for Actra + +This module provides helper utilities for building MCP-compatible +tool servers that integrate with Actra admission control + +The server layer is responsible for: + + - registering tool functions + - receiving MCP tool invocation requests + - constructing execution context objects + - delegating policy evaluation to the Actra MCP adapter + - executing tools if policies allow the operation + +The server does not contain any policy logic. Instead it coordinates +between the MCP environment and the Actra runtime + +The MCP Server handles : + 1. Tool registration : expose Python functions as MCP tools + 2. Request handling : receive MCP tool calls + 3. Argument parsing : convert tool arguments to Python kwargs + 4. Context creation : create `ctx` object from MCP request + 5. Tool execution : call the Python function + +Typical execution flow: + 1. MCP Request + 2. Tool Lookup + 3. Context Construction + 4. Actra Policy Evaluation + 5. Allow, Execute Tool + 6. Block, Raise Error + +This separation keeps Actra's policy engine independent from the MCP +server implementation while enabling admission control for tool +execution +""" + +from typing import Callable, Dict, Any, Optional + +from actra.integrations.mcp.adapter import ActraMCPAdapter +from actra.types import Context + +class ActraMCPServer: + """ + Minimal MCP tool server for Actra integration. + + This server registers Python functions as MCP tools and ensures that + Actra policies are evaluated before executing those tools + """ + + def __init__(self, adapter: ActraMCPAdapter): + self.adapter = adapter + self.tools: Dict[str, Callable] = {} + + def tool(self, name: Optional[str] = None): + """ + Decorator used to register a tool. + + Example: + + @server.tool() + def refund(amount: int): + ... + """ + def decorator(func: Callable): + tool_name = name or func.__name__ + self.tools[tool_name] = func + return func + return decorator + + def handle_request( + self, + tool_name: str, + arguments: Dict[str, Any], + ctx: Optional[Context] = None): + """ + Execute an MCP tool call after policy evaluation + + Args: + tool_name: + Name of the MCP tool being invoked + + arguments: + Tool input arguments + + ctx: + Optional execution context passed to the Actra runtime + + Returns: + Result returned by the tool function + + Raises: + ActraPolicyError: + If the policy blocks the operation + """ + tool = self.tools.get(tool_name) + if not tool: + raise ValueError(f"Unknown tool: {tool_name}") + + # Adapter will raise ActraPolicyError if blocked + self.adapter.evaluate_tool(tool_name, arguments, ctx) + + return tool(**arguments) + +__all__ = ["ActraMCPServer"] \ No newline at end of file diff --git a/sdk/python/actra/policy.py b/sdk/python/actra/policy.py index 5a79da4..99c6657 100644 --- a/sdk/python/actra/policy.py +++ b/sdk/python/actra/policy.py @@ -1,8 +1,11 @@ from pathlib import Path from typing import Optional +import yaml + # Rust binding from .actra import PyActra as _RustActra from .types import Action, Actor, Snapshot, Decision, ActionInput, PathType +from .errors import ActraSchemaError class Policy: """ @@ -29,7 +32,7 @@ class Policy: Policies are deterministic and side-effect free. """ - def __init__(self, engine: _RustActra): + def __init__(self, engine: _RustActra, schema_yaml: Optional[str] = None): """ Internal constructor. @@ -41,6 +44,10 @@ def __init__(self, engine: _RustActra): Actra.from_directory(...) """ self._engine = engine + try: + self._schema = yaml.safe_load(schema_yaml) if schema_yaml else None + except yaml.YAMLError as e: + raise ActraSchemaError("Invalid Actra schema YAML") from e # ------------------------------------------------------------------ # Runtime API @@ -278,7 +285,7 @@ def from_strings( A compiled `Policy` object ready for evaluation. """ engine = _RustActra(schema_yaml, policy_yaml, governance_yaml) - return Policy(engine) + return Policy(engine, schema_yaml) @staticmethod def from_files( @@ -321,7 +328,7 @@ def from_files( governance_yaml = governance_file.read_text(encoding="utf-8") engine = _RustActra(schema_yaml, policy_yaml, governance_yaml) - return Policy(engine) + return Policy(engine, schema_yaml) @staticmethod def compiler_version() -> str: diff --git a/sdk/python/actra/runtime.py b/sdk/python/actra/runtime.py index a0cf10d..36ff9ed 100644 --- a/sdk/python/actra/runtime.py +++ b/sdk/python/actra/runtime.py @@ -91,7 +91,7 @@ def set_decision_observer(self, fn: Callable[[DecisionEvent], None]) -> None: Example: def observer(event): - print(event.effect, event.rule_id) + print(event.effect, event.matched_rule) runtime.set_decision_observer(observer) """ @@ -298,8 +298,57 @@ def _emit_decision_event(self, decision, action, context, duration_ms): ) self._decision_observer(event) + + def _bind_arguments(self, func: Callable, args: Tuple, kwargs: Dict[str, Any]) -> Dict[str, Any]: + """ + Bind positional and keyword arguments to function parameters. + + Returns a dictionary mapping parameter names to values. + """ + if func is None: + return dict(kwargs) + + sig = inspect.signature(func) + bound = sig.bind_partial(*args, **kwargs) + bound.apply_defaults() + return dict(bound.arguments) + + def allow(self, action_type: str, ctx: Context = None, **fields) -> bool: + """ + Convenience helper that returns True if the policy allows the action. + """ + action = self.action(action_type, **fields) + decision = self.evaluate(action, ctx) + + return decision.get("effect") == "allow" + + def block(self, action_type: str, ctx: Context = None, **fields) -> bool: + """ + Convenience helper that returns True if the policy blocks the action. + """ + + action = self.action(action_type, **fields) + decision = self.evaluate(action, ctx) + + return decision.get("effect") == "block" # Action construction + def action(self, action_type: str, **fields) -> Action: + """ + Construct a policy action using runtime schema validation. + + This helper is intended for direct programmatic policy checks + without needing a Python function signature. + + Example: + + runtime.action("deploy", env="prod") + """ + + return { + "type": action_type, + **fields + } def build_action(self, action_type: str, @@ -323,7 +372,27 @@ def build_action(self, This prevents internal parameters (such as request context, framework metadata, etc.) from leaking into the policy engine + The following is resolution priority : + 1. action_builder override + 2. runtime action_resolver override + 3. explicit fields parameter + 4. function signature filtering + 4.1 Refer schema + 5. fallback kwargs + Args: + action_type: + Logical action name used for policy evaluation + + args: + Positional arguments supplied to the function + + kwargs: + Keyword arguments supplied to the function + + ctx: + Optional execution context used by resolvers + func: Optional Function whose signature defines the allowed action fields. The function is **not executed**. It is only inspected to @@ -337,18 +406,6 @@ def build_action(self, (for example APIs, MCP tools, message queues) may pass `None`. - action_type: - Logical action name used for policy evaluation - - args: - Positional arguments supplied to the function - - kwargs: - Keyword arguments supplied to the function - - ctx: - Optional execution context used by resolvers - fields: Optional list restricting which keyword arguments are included in the action object @@ -376,14 +433,36 @@ def build_action(self, # Default: include kwargs but ignore internal parameters if func: sig = inspect.signature(func) - allowed_fields = set(sig.parameters) + func_fields = set(sig.parameters) + + schema_fields = None + schema = self.policy._schema + + if schema: + actions = schema.get("actions", {}) + action_schema = actions.get(action_type) + if action_schema: + schema_fields = set(action_schema.get("fields", {}).keys()) + + if schema_fields: + allowed_fields = func_fields & schema_fields + else: + allowed_fields = func_fields + + if args: + bound = sig.bind_partial(*args, **kwargs) + bound.apply_defaults() + bound_args = dict(bound.arguments) + else: + bound_args = dict(kwargs) + action_fields = { k: v - for k, v in kwargs.items() + for k, v in bound_args.items() if k in allowed_fields } else: - # No function available — trust provided kwargs + # No function available — trust provided kwargs API/MCP/Queue etc action_fields = dict(kwargs) return { "type": action_type, @@ -442,12 +521,18 @@ def _enforce_policy( This method is used internally by the `admit` decorator """ - ctx = self.resolve_context(args, kwargs) - act = self.resolve_action_type(func, args, kwargs, action_type) + bound_args = self._bind_arguments(func, args, kwargs) + ctx = self.resolve_context(args, bound_args) + + # RULE: + # Once _bind_arguments() is called, + # positional args must not be used again. + # + act = self.resolve_action_type(func, args, bound_args, action_type) action = self.build_action( act, - args, - kwargs, + (), #Positional args no more needed + bound_args, ctx, func=func, fields=fields, @@ -492,20 +577,31 @@ def explain(self, action: Action, ctx: Context = None) -> Decision: context = self.build_context(action, ctx) return self.policy.explain(context) - def explain_call(self, func: Callable, *args, **kwargs) -> Decision: + def explain_call( + self, + func: Callable, + *args, + action_type: Optional[str] = None, + ctx: Optional[Any] = None, + **kwargs + ) -> Decision: """ Explain the policy decision for a function call without executing it. This helper reconstructs the policy evaluation flow used by the `@runtime.admit` decorator and prints a human-readable explanation - of the decision. + of the resulting decision. + + Unlike the decorator, this method **does not execute the function**. + It only simulates the policy evaluation using the provided inputs. - It is particularly useful for: + This is particularly useful for: - debugging policy behavior - understanding why a rule triggered - testing policy inputs interactively - verifying runtime resolvers + - exploring policy decisions without modifying application code The method performs the following steps: @@ -515,14 +611,46 @@ def explain_call(self, func: Callable, *args, **kwargs) -> Decision: 4. Construct the full evaluation context 5. Invoke `Policy.explain()` to display the decision - Unlike the decorator, this method does not execute the function. + Action Type Resolution + ---------------------- + + The action type used for evaluation is determined in the following order: + + 1. Explicit `action_type` provided to `explain_call` + 2. A configured `action_type_resolver` + 3. The function name + + This allows `explain_call` to work even when the function name does not + match the action name defined in the schema Args: func: - The function protected by Actra admission control. + The function associated with the action being evaluated. + The function is **not executed**. It is only inspected to + determine the action structure *args: - Positional arguments that would be passed to the function. + Positional arguments that would be passed to the function + + action_type: + Optional explicit action name used for policy evaluation + This is useful when the function name differs from the + action defined in the schema + + ctx: + Optional execution context object used by runtime resolvers + + The context is passed to the configured actor and snapshot + resolvers to construct the evaluation context + + Example: + + runtime.set_actor_resolver( + lambda ctx: {"role": ctx.role} + ) + + If not provided explicitly, Actra will attempt to resolve + the context from the function arguments. **kwargs: Keyword arguments that would be passed to the function. @@ -534,6 +662,17 @@ def explain_call(self, func: Callable, *args, **kwargs) -> Decision: runtime.explain_call(refund, amount=1500) + Example with explicit action mapping: + + runtime.explain_call( + scale, + action_type="scale_service", + service="search-api", + replicas=20, + environment="staging", + ctx=operator + ) + Example output: Actra Decision @@ -551,18 +690,27 @@ def explain_call(self, func: Callable, *args, **kwargs) -> Decision: Result: effect: block - rule_id: block_large_refund + matched_rule: block_large_refund """ - ctx = self.resolve_context(args, kwargs) - act = self.resolve_action_type(func, args, kwargs, None) + bound_args = self._bind_arguments(func, args, kwargs) + + if ctx is None: + ctx = self.resolve_context(args, bound_args) + + # RULE: + # Once _bind_arguments() is called, + # positional args must not be used again. + # + + act = self.resolve_action_type(func, args, bound_args, action_type) action = self.build_action( - func, act, - args, - kwargs, - ctx + (), #Positional args no more needed + bound_args, + ctx, + func=func ) return self.explain(action, ctx) diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 6369ec6..05754eb 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -31,7 +31,9 @@ classifiers = [ "Topic :: Security" ] -dependencies = [] +dependencies = [ + "PyYAML>=6.0.2" +] [project.urls] Homepage = "https://github.com/getactra/actra" From 702cf5a0bfb252be72b39bc768720d909deeb1e4 Mon Sep 17 00:00:00 2001 From: getactra Date: Sat, 14 Mar 2026 01:09:27 +0530 Subject: [PATCH 2/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 690ad3b..c7c7749 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Instead of embedding control logic in application code, Actra evaluates **extern --- -![MCP Demo](docs/mcp-demo.gif) +![MCP Demo](doc/mcp-demo.gif) Agent attempted to call an MCP tool. From 57d0e7ad337ab425942fe9fc1f45bf6b6c7dadc3 Mon Sep 17 00:00:00 2001 From: getactra Date: Sat, 14 Mar 2026 01:10:58 +0530 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7c7749..d7b593d 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ B --> C[Actra Admission Control] C --> D[Schema] C --> E[Policies] -C --> F[Governance (optional)] +C --> F[Governance optional] C --> G[Runtime Context] G --> G1[Actor]