@@ -44,8 +44,11 @@ audit event.
4444| [ uv] ( https://github.com/astral-sh/uv ) | latest |
4545| Agent Assembly Python SDK | >= 0.0.1rc6 |
4646
47- The mock demo needs no gateway, no ` crewai ` , and no API keys. The optional
48- ` live ` extra (` crewai ` ) is only required for the real-crew integration.
47+ The mock demo needs no gateway, no ` crewai ` , and no API keys — and it is the
48+ only run mode this example implements (see "A real CrewAI integration is not
49+ shipped in this example" below). The optional ` live ` extra (` crewai ` ) is
50+ declared for a future real-crew integration but is not exercised by any code
51+ here.
4952
5053## Setup
5154
@@ -60,8 +63,10 @@ uv sync --extra dev
6063uv run python src/main.py --mock
6164```
6265
63- ` --mock ` replays a scripted crew delegation trajectory offline. The example also
64- auto-falls back to mock mode whenever ` OPENAI_API_KEY ` is unset.
66+ ` --mock ` replays a scripted crew delegation trajectory offline. This is the only
67+ run mode this example implements — running without ` --mock ` (with an
68+ ` OPENAI_API_KEY ` set) prints a notice that the live CrewAI integration is not
69+ implemented here and exits without doing anything.
6570
6671### Expected governance output
6772
@@ -146,24 +151,20 @@ event then records an `allow` decision.
146151uv run pytest tests/ -v
147152```
148153
149- ## Switching to the live CrewAI integration
154+ ## A real CrewAI integration is not shipped in this example
150155
151- 1 . Install the live extra: ` pip install -e '.[live]' ` (pulls in ` crewai ` ).
152- 2 . Start an Agent Assembly gateway (or use your SaaS workspace URL).
153- 3 . Copy ` .env.example ` to ` .env ` and fill in your credentials.
154- 4 . Configure the approval gate and shared budget in the gateway.
155- 5 . Run without ` --mock ` and with a real LLM provider key:
156+ This example is an ** offline scripted governance demo ** — it replays a fixed
157+ crew delegation trajectory so the governance wiring can be exercised
158+ deterministically, with no ` crewai ` install and no API keys. It does ** not **
159+ drive a real CrewAI crew, and there is no runnable "live" mode: invoking it
160+ without ` --mock ` prints a notice to that effect and exits.
156161
157- ``` bash
158- AGENT_ASSEMBLY_GATEWAY_URL=http://localhost:8080 \
159- AGENT_ASSEMBLY_API_KEY=your-key \
160- OPENAI_API_KEY=sk-your-real-key \
161- uv run python src/main.py
162- ```
163-
164- In production, map each ` CrewMember ` onto a ` crewai.Agent ` and replace
165- ` CrewPolicyEngine ` with the gateway-backed interceptor; the SDK enforces the
166- gateway's policy and emits delegation-aware audit events automatically.
162+ Wiring a real crew is left as an integration exercise. Conceptually it means
163+ mapping each ` CrewMember ` onto a ` crewai.Agent ` , running the real crew, and
164+ replacing ` CrewPolicyEngine ` with the gateway-backed interceptor so the SDK
165+ enforces the gateway's policy and emits delegation-aware audit events
166+ automatically. That real loop is intentionally out of scope for this example
167+ gallery, so nothing here promises a live command that the code does not run.
167168
168169## Links
169170
0 commit comments