zall — a falsifiable, reproducible coding agent CLI. Model-agnostic, chain-hashed, replayable.
Project description
A falsifiable, reproducible coding agent CLI — model-agnostic, engineering-grade
Quick Start •
Architecture •
Features •
Commands •
Comparison
Quick Start
# Install
pip install zall
# Set API key (OpenAI-compatible)
export ZALL_API_KEY="sk-..."
export ZALL_MODEL="gpt-4o"
# One-shot task
zall "refactor the auth module to use async"
# Interactive REPL
zall
> /help
> /lsp status # live code diagnostics
> /codegraph index # build symbol index
> /codegraph search MyClass # find symbols
> /sandbox process # isolated execution
> /eval # evaluate sessions
> /replay <id> # replay a session
Features
🧠 Code Intelligence
- LSP Integration — live diagnostics, go-to-definition, hover info, completions. Supports pyright, typescript-language-server, rust-analyzer, gopls, clangd.
- CodeGraph — multi-language symbol indexer for Python/JS/TS/Rust/Go/Java/C++/Ruby/PHP/Swift. Search, outline, and navigate your codebase.
code_understandingtool — combine search + outline + read in one agent call.
🛡️ Safety & Reproducibility
- PR-0: Architectural hallucination detection —
stop_reason=STOPwith notool_calls→ flagged. - Chain-hash timeline — every session is cryptographically chained and replayable.
- ConfirmGate — three-layer safety (rule engine + gate + override audit).
- Sandbox — process isolation with worktree/process/bwrap/container modes, resource limits.
- ToolKind classification — 19 semantic tool kinds with read/write detection.
🔌 Extensibility
- Plugin system — manifest-based plugins with git install, Python entry points.
- 21 agent tools — read/write/edit/bash/grep/glob/list_dir/search/web_fetch/spawn_subagent + LSP + CodeGraph.
- MCP support — connect any MCP server.
- AgentDefinition — YAML-based agent profiles with toolset presets.
- ToolKind classification — 19 semantic tool kinds for cross-tool analysis and safety filtering.
🎯 Agent Architecture
- ChatState — actor-based message management with events, usage tracking, compaction.
- AgentBuilder — fluent builder for AgentLoop construction.
- Subagent — typed sub-agents (general-purpose, explore, plan) with capability isolation.
- 5 toolset presets —
zall,explore,plan,codex,opencode.
Architecture
zall/
├── core/ # Primitives: model, agent, chat_state, gate, goal, safety, tool
│ ├── loop.py # AgentLoop orchestrator
│ ├── loop_config.py # AgentConfig (v0.4.4)
│ ├── loop_events.py # LoopEvent, RunEgress, StepResult (v0.4.4)
│ ├── loop_errors.py # ToolNotFound, AgentRunaway (v0.4.4)
│ ├── tool_kind.py # ToolKind taxonomy — 19 semantic kinds (v0.4.4)
│ ├── policies.py # CompactionPolicy, ReminderPolicy (v0.4.4)
│ ├── agent.py # AgentDefinition + ToolsetPreset + CapabilityMode
│ ├── chat_state.py # Actor-based message management
│ ├── safety.py # Three-state context_judge
│ ├── gate.py # ConfirmGate state machine
│ └── verifiability.py # RunRecorder (chain-hash) + TrustAnchor
├── cli/ # Rich REPL, 25+ slash commands, replay
├── tools/ # 21 tools: read/write/edit/bash/grep/lsp/codegraph/…
├── adapters/ # OpenAI-compat, Anthropic, Gemini, Ollama
├── codegraph/ # Multi-language symbol indexer
├── lsp/ # LSP client (pyright, rust-analyzer, etc.)
├── sandbox/ # Process isolation (worktree/process/bwrap/container)
├── plugin/ # Plugin system
├── mcp/ # MCP client
├── safety/ # Rule loader
├── eval/ # 5-dimensional R-Metric evaluation
└── skills/ # Skill loader
Commands
Built-in (25+)
| Command | Description |
|---|---|
/help |
Show all commands |
/model |
Switch model |
/plan |
Toggle plan mode |
/lsp |
LSP diagnostics & servers (NEW) |
/codegraph |
Code search & outline (NEW) |
/sandbox |
Isolation mode control (NEW) |
/chatstate |
ChatState diagnostics (NEW) |
/plugin |
Plugin management (NEW) |
/add |
Add file(s) to context |
/drop |
Remove file(s) |
/diff |
Show git diff |
/search |
Web search |
/web |
Fetch URL |
/git |
Git commands |
/commit |
Stage + commit |
/sessions |
List sessions |
/resume |
Resume session |
/replay |
Replay session |
/eval |
Evaluate session |
/cost |
Token usage |
/compact |
Compress context |
/undo |
Undo last tool |
/retry |
Retry last response |
/doctor |
Diagnose setup |
/checkpoint |
File snapshots |
/clear |
Clear conversation |
Agent Tools (21)
| Tool | Purpose |
|---|---|
read_file |
Read file content |
write_file |
Create/overwrite file |
edit_file |
Targeted string replacement |
batch_edit |
Multi-file batch edit |
bash |
Shell commands |
grep |
Search file contents |
glob |
Find files by pattern |
list_dir |
List directory |
web_fetch |
Fetch web page |
search |
Web search |
read_image |
Read image content |
spawn_subagent |
Delegate sub-task |
todo_list |
Track progress |
lsp_diagnostics |
Code errors/warnings (NEW) |
lsp_hover |
Symbol info (NEW) |
lsp_goto_definition |
Jump to definition (NEW) |
codegraph_search |
Find symbols (NEW) |
codegraph_outline |
File structure (NEW) |
codegraph_index |
Build index (NEW) |
code_understanding |
Deep code analysis (NEW) |
project_analysis |
Project stats (NEW) |
Comparison
vs Claude Code / Copilot
| Feature | zall | Claude Code |
|---|---|---|
| Hallucination detection | Architectural (PR-0) | Prompt-based |
| Reproducibility | Chain-hash + Replay | Log files only |
| Safety | 3-layer gate | Implicit |
| Model independence | 4 adapters (Protocol) | Anthropic-only |
| Code intelligence | LSP + CodeGraph | Limited |
| Sandbox isolation | Process/Worktree modes | None |
| Plugin system | Manifest-based | None |
| Open source | ✅ MIT | ❌ |
Contributing
git clone https://github.com/Qinrayn/zall.git
cd zall
pip install -e ".[dev,bs4]"
python -m pytest tests/
See CONTRIBUTING.md for guidelines.
License
MIT © 2026 zall contributors
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 zall-0.4.4.tar.gz.
File metadata
- Download URL: zall-0.4.4.tar.gz
- Upload date:
- Size: 476.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f24952a0403ad04bb5ca65a2505e7d305fda31258025d085bfe3d7b13a93e482
|
|
| MD5 |
6f1eda294e340ef00c59674983a09157
|
|
| BLAKE2b-256 |
a8e513ec8656997a1d4446e32e354f9ff8668557c2b959b2f3954ca09f62f0fd
|
File details
Details for the file zall-0.4.4-py3-none-any.whl.
File metadata
- Download URL: zall-0.4.4-py3-none-any.whl
- Upload date:
- Size: 386.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93c32eedb7ac47e59f4a9ff78d9b50d9639629af6519814f63fe4c9576b02f1b
|
|
| MD5 |
3bede405924455c41998a44b95b9b163
|
|
| BLAKE2b-256 |
dbb2b995b406de1409ba093d522dcef4b7b7fd8e06a25e8c262c7f991ec3b74a
|