Wendell CLI for agent world simulations, Park registration, and run uploads
Project description
Wendell CLI
Wendell is a Python CLI for evaluating agents against Wendell-managed worlds and scenario packs.
The first version is advisory by default: it reports scores, captures traces, and returns a successful process exit unless the project explicitly enables blocking gates.
Intended split
- Wendell system: creates worlds, versions scenario packs, owns rubrics, stores traces, and reports regressions.
- Wendell CI runner: runs in a repo or CI job, fetches or reads a scenario pack, invokes the customer's agent adapter, captures traces, evaluates gates, uploads results, and prints a concise summary.
Install
uv tool install wendell
Alternative installers:
pipx install wendell
python3 -m pip install --user wendell
The package installs the wendell command. It also installs the temporary local-wendell alias for existing local dogfood scripts.
Local development
cd wendell-ci
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
wendell --help
Login
For local development, store an InkPass API key once:
wendell login --api-url https://api.wendellai.com --api-key-stdin --validate
wendell auth status
Credentials are stored at ~/.config/wendell/credentials.json by default, or $WENDELL_CONFIG_HOME/credentials.json when set. The directory is created with 0700 permissions and the credentials file with 0600 permissions.
CI should continue to use WENDELL_INKPASS_API_KEY; environment variables take precedence over stored credentials.
Minimal config
project = "support-agent"
mode = "advisory"
api_url = "https://api.wendell.example"
api_key_env = "WENDELL_INKPASS_API_KEY"
world = "world_support_ops_v1"
world_version = "2026-05-08.1"
scenario_pack = "smoke"
scenario_pack_version = "1.0.0"
agent_command = "python examples/simple_cli_agent.py"
upload_traces = true
[gates]
suite_min_score = 0.80
scenario_min_score = 0.75
critical_failures_allowed = 0
The intended production flow is:
local-wendellruns on the developer machine or CI worker.- It fetches the pinned world, scenario pack, rubrics, and scoring contract from Wendell.
- It invokes the agent locally through an adapter such as
agent_command. - It captures local traces, redacts them, and uploads traces/results back to Wendell.
- Advisory mode exits
0; blocking mode exits nonzero only when explicitly enabled.
Remote uploads authenticate with an InkPass API key sent as X-API-Key. The key needs at least wendell:worlds:read, wendell:runs:create, and wendell:runs:read.
Local worldsim dogfood config
While Wendell Cloud APIs are still taking shape, the runner can call the existing local worldsim.services layer directly:
project = "workspace-access-agent"
mode = "advisory"
world = "workspace_access_support"
scenario_pack = "smoke"
worldsim_input = "../configs/customer_inputs/workspace_access_support_input.json"
agent = "careful"
[gates]
suite_min_score = 0.80
scenario_min_score = 0.75
critical_failures_allowed = 0
Supported local built-in agents are careful and risky.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wendell-0.1.0.tar.gz.
File metadata
- Download URL: wendell-0.1.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d5388ad50aa4b9b104e4d3a86ae9f2ba16b8415338d4c241410180980266274
|
|
| MD5 |
ddf8a78883d866dce4902fb3dc48b733
|
|
| BLAKE2b-256 |
2d03586c807b21a2cbb784368142435a647e5b10704cdab71f159991e7c3890c
|
File details
Details for the file wendell-0.1.0-py3-none-any.whl.
File metadata
- Download URL: wendell-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db6072630724c83d0af7d239816d7dba948d1762febf1ec368b8d1188b46e2b6
|
|
| MD5 |
98c4052117fc223b535a643865785670
|
|
| BLAKE2b-256 |
967f5f4b7453b92921a2bdc7505cd6b047f5f15867a3c7a07c9eafb6a87cba67
|