Verification
Use this page before publishing changes.
Python Core
Style, lint, and type-check the Python surface:
python -m pip install -r requirements-dev.txt
ruff format --check .
ruff check .
ty check --extra-search-path core
python -m pip check
python -m build core
Ty is currently scoped to the core runtime and the CLI compatibility shim in the
repo-level pyproject.toml.
GitHub Actions runs these Python quality checks on every push and pull request
through .github/workflows/python-quality.yml.
Run the provider-free Python integration tests (the SSE mesh test needs localhost binding):
PYTHONPATH=core .venv/bin/python -m unittest discover core/tests
Targeted tests:
PYTHONPATH=core .venv/bin/python -m unittest discover -s core/tests -p test_native_runtime.py
PYTHONPATH=core .venv/bin/python -m unittest discover -s core/tests -p test_checkpoints.py
PYTHONPATH=core .venv/bin/python -m unittest discover -s core/tests -p test_verification.py
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_runtime_integration
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_history_integration
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_llm_context
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_help_agent
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_quality_eval
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_scout
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_context_indexer
PYTHONPATH=core .venv/bin/python -m unittest core.tests.test_versioning
Rust CLI
cargo fmt --manifest-path cli/Cargo.toml -- --check
cargo clippy --locked --manifest-path cli/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path cli/Cargo.toml
cargo check --locked --manifest-path cli/Cargo.toml
cargo build --release --locked --manifest-path cli/Cargo.toml
cargo build --locked --manifest-path cli/Cargo.toml
PROTOAGENT_TEST_CLI="$PWD/cli/target/debug/proto-cli" .venv/bin/python cli/tests/tui_smoke.py
If formatting or Clippy are missing from a local Rust toolchain, install them with:
rustup component add rustfmt clippy
Runtime diagnostics:
cargo run --locked --manifest-path cli/Cargo.toml -- check
Component version inventory:
cargo run --locked --manifest-path cli/Cargo.toml -- version
No-model smoke test:
PROTOAGENT_SCAFFOLD=1 cargo run --locked --manifest-path cli/Cargo.toml -- run "show diagnostics"
Prompt-profile eval smoke:
cargo run --locked --manifest-path cli/Cargo.toml -- eval profiles --limit 3
Use --live only when a model is configured. Routing evals (eval profiles)
auto-deny writes; coding evals (eval coding) use disposable fixtures and narrowly
approve fixture edits and their exact test command. They execute on the host.
cargo run --locked --manifest-path cli/Cargo.toml -- eval coding --plan --json
Docusaurus Docs
cd docs
npm ci
npm run build
Local preview:
npm run start
The generated build output is ignored at docs/build/.
End-To-End Debug Artifact
For shareable failing-run evidence:
PROTOAGENT_TRACE=1 cargo run --locked --manifest-path cli/Cargo.toml -- run "your failing task" 2>&1 | tee /tmp/protoagent-debug.txt
tail -n 80 "${PROTOAGENT_CONFIG_DIR:-$HOME/.protoagent}/traces.jsonl"
Attach both /tmp/protoagent-debug.txt and the trace tail if available.