Skip to main content

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:

  1. local-wendell runs on the developer machine or CI worker.
  2. It fetches the pinned world, scenario pack, rubrics, and scoring contract from Wendell.
  3. It invokes the agent locally through an adapter such as agent_command.
  4. It captures local traces, redacts them, and uploads traces/results back to Wendell.
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wendell-0.1.1.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wendell-0.1.1-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file wendell-0.1.1.tar.gz.

File metadata

  • Download URL: wendell-0.1.1.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

Hashes for wendell-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e0b259706514d4ab9e52345fac600cfae1814af38d46e56f4893e740b4b1de42
MD5 dba7f9008e85f69b0729f702882ea550
BLAKE2b-256 0638060d42dd9713c65a1be7772690fdd572da89c4230a31e8cdd7619a428b2a

See more details on using hashes here.

File details

Details for the file wendell-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: wendell-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for wendell-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ec2c0228c8e8b8d112ba9771be2c389f47f64de29c23b5319f67c7e33849c1d
MD5 23edb7a631b8ec0ea5a0743cd21e3e05
BLAKE2b-256 c28bff81b69459ee24939e3e00e941a3e5fd7ca259cd89cb8e718de0bf6d5581

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page