CrewAI Integration
Installation
pip install nomotic crewaiPattern
Example
from nomotic.governed_agent import GovernedAgentBase, GovernanceVetoError
from typing import Any, Callable
class GovernedCrewTask:
"""Wraps a CrewAI task with Nomotic governance."""
def __init__(self, governed_agent: GovernedAgentBase):
self.agent = governed_agent
def execute(
self,
action_type: str,
target: str,
task_fn: Callable[[], str],
parameters: dict[str, Any] | None = None,
) -> str:
"""Execute a task with governance.
Raises RuntimeError with verdict details if denied.
"""
try:
return self.agent.governed_run(
action_type=action_type,
target=target,
parameters=parameters,
execute_fn=task_fn,
)
except GovernanceVetoError as e:
raise RuntimeError(
f"Governance denied: {e.verdict} (UCS: {e.ucs_score:.3f})"
) from e
# Usage with CrewAI
governed_task = GovernedCrewTask(governed_agent)
try:
result = governed_task.execute(
action_type="analyze",
target="market/report",
task_fn=lambda: crew_agent.run("Analyze Q2 market trends"),
)
except RuntimeError as e:
print(f"Task blocked: {e}")Last updated

