351 lines
9.5 KiB
Markdown
351 lines
9.5 KiB
Markdown
# Parity Checklist Against npm `src`
|
|
|
|
This document tracks what is already implemented in Python and what is still missing compared with the upstream npm runtime.
|
|
|
|
This is a functionality-oriented checklist, not a line-by-line source equivalence claim. Large parts of the mirrored Python workspace still act as inventory or scaffolding, while the working Python runtime currently lives mainly in [`src/agent_runtime.py`](src/agent_runtime.py), [`src/agent_tools.py`](src/agent_tools.py), [`src/agent_prompting.py`](src/agent_prompting.py), [`src/agent_context.py`](src/agent_context.py), [`src/agent_slash_commands.py`](src/agent_slash_commands.py), and [`src/openai_compat.py`](src/openai_compat.py).
|
|
|
|
## 1. Core Agent Runtime
|
|
|
|
Done:
|
|
|
|
- [x] One-shot agent loop with iterative tool calling
|
|
- [x] OpenAI-compatible `chat/completions` client
|
|
- [x] Local-model execution against `vLLM`
|
|
- [x] Local-model execution through `Ollama`
|
|
- [x] Local-model execution through `LiteLLM Proxy`
|
|
- [x] Transcript-aware session object for the Python runtime
|
|
- [x] Session save and resume support
|
|
- [x] Configurable max-turn execution
|
|
- [x] Permission-aware tool execution
|
|
|
|
Missing:
|
|
|
|
- [ ] Streaming token-by-token assistant output
|
|
- [ ] Partial tool-result streaming
|
|
- [ ] Rich transcript mutation behavior like the npm runtime
|
|
- [ ] Structured output / JSON schema response modes
|
|
- [ ] Reasoning budgets and task budgets
|
|
- [ ] Cost accounting and usage budget enforcement
|
|
- [ ] Multi-agent orchestration parity
|
|
- [ ] File history snapshots and replay flows
|
|
- [ ] Scratchpad integration
|
|
- [ ] Plugin cache integration in the query engine
|
|
- [ ] Session compaction / snipping behavior
|
|
- [ ] Full `QueryEngine.ts` parity
|
|
|
|
## 2. CLI Entrypoints And Runtime Modes
|
|
|
|
Done:
|
|
|
|
- [x] Python CLI entrypoint
|
|
- [x] `agent` command
|
|
- [x] `agent-resume` command
|
|
- [x] `agent-prompt` command
|
|
- [x] `agent-context` command
|
|
- [x] `agent-context-raw` command
|
|
- [x] Inventory/helper commands such as `summary`, `manifest`, `commands`, and `tools`
|
|
|
|
Missing:
|
|
|
|
- [ ] Daemon worker mode
|
|
- [ ] Background session mode
|
|
- [ ] Session process listing (`ps`)
|
|
- [ ] Background session logs
|
|
- [ ] Background attach flow
|
|
- [ ] Background kill flow
|
|
- [ ] Remote-control / bridge runtime mode
|
|
- [ ] Browser/native-host runtime mode
|
|
- [ ] Computer-use MCP mode
|
|
- [ ] Template job mode
|
|
- [ ] Environment runner mode
|
|
- [ ] Self-hosted runner mode
|
|
- [ ] tmux fast paths
|
|
- [ ] Worktree fast paths at the CLI entrypoint level
|
|
- [ ] Full `entrypoints/cli.tsx` and `entrypoints/init.ts` parity
|
|
|
|
## 3. Prompt Assembly
|
|
|
|
Done:
|
|
|
|
- [x] Structured Python system prompt builder
|
|
- [x] Intro/system/task/tool/tone/output sections
|
|
- [x] Session-specific prompt guidance
|
|
- [x] Environment-aware prompt sections
|
|
- [x] User context reminder injection
|
|
- [x] Custom system prompt override and append support
|
|
|
|
Missing:
|
|
|
|
- [ ] Full parity with `constants/prompts.ts`
|
|
- [ ] Hook instruction sections
|
|
- [ ] MCP instruction sections
|
|
- [ ] Model-family-specific prompt variations
|
|
- [ ] Output-style variants
|
|
- [ ] Language-control sections
|
|
- [ ] Scratchpad prompt instructions
|
|
- [ ] More exact autonomous/proactive behavior sections
|
|
- [ ] Growthbook / feature-gated prompt sections
|
|
- [ ] Cyber / risk sections used upstream
|
|
|
|
## 4. Context Building And Memory
|
|
|
|
Done:
|
|
|
|
- [x] Current working directory snapshot
|
|
- [x] Shell / platform / date capture
|
|
- [x] Git status snapshot
|
|
- [x] `CLAUDE.md` discovery
|
|
- [x] Extra directory injection through `--add-dir`
|
|
- [x] Session context usage report
|
|
- [x] Raw context inspection command
|
|
|
|
Missing:
|
|
|
|
- [ ] Tokenizer-accurate context accounting
|
|
- [ ] Full parity with `utils/queryContext.ts`
|
|
- [ ] Rich memory prompt loading
|
|
- [ ] Internal permission-aware memory handling
|
|
- [ ] Resume-aware prompt cache shaping used upstream
|
|
- [ ] More exact context cache invalidation rules
|
|
- [ ] Session context analysis parity
|
|
- [ ] Full memory subsystem parity
|
|
|
|
## 5. Slash Commands
|
|
|
|
Done:
|
|
|
|
- [x] `/help`
|
|
- [x] `/commands`
|
|
- [x] `/context`
|
|
- [x] `/usage`
|
|
- [x] `/context-raw`
|
|
- [x] `/env`
|
|
- [x] `/prompt`
|
|
- [x] `/system-prompt`
|
|
- [x] `/permissions`
|
|
- [x] `/model`
|
|
- [x] `/tools`
|
|
- [x] `/memory`
|
|
- [x] `/status`
|
|
- [x] `/session`
|
|
- [x] `/clear`
|
|
|
|
Missing:
|
|
|
|
- [ ] Full npm slash-command surface
|
|
- [ ] Slash commands backed by MCP integration
|
|
- [ ] Slash commands tied to task/plan systems
|
|
- [ ] Slash commands tied to remote/background sessions
|
|
- [ ] Slash commands with richer interactive behavior
|
|
- [ ] Slash commands tied to plugins and bundled skills
|
|
- [ ] Slash commands tied to settings, config, and account state
|
|
|
|
## 6. Built-in Tools
|
|
|
|
Done:
|
|
|
|
- [x] `list_dir`
|
|
- [x] `read_file`
|
|
- [x] `write_file`
|
|
- [x] `edit_file`
|
|
- [x] `glob_search`
|
|
- [x] `grep_search`
|
|
- [x] `bash`
|
|
|
|
Missing:
|
|
|
|
- [ ] Agent spawning tool
|
|
- [ ] Skill tool
|
|
- [ ] Notebook edit tool
|
|
- [ ] Web fetch tool
|
|
- [ ] Web search tool
|
|
- [ ] Todo write tool
|
|
- [ ] Ask-user-question tool
|
|
- [ ] LSP tool
|
|
- [ ] MCP resource listing tool
|
|
- [ ] MCP resource read tool
|
|
- [ ] Tool search tool
|
|
- [ ] Config tool
|
|
- [ ] Task create/get/update/list tools
|
|
- [ ] Team create/delete tools
|
|
- [ ] Send-message tool
|
|
- [ ] Terminal capture tool
|
|
- [ ] Browser tool
|
|
- [ ] Workflow tool
|
|
- [ ] Remote trigger tool
|
|
- [ ] Sleep / cron tools
|
|
- [ ] PowerShell tool parity
|
|
- [ ] Worktree enter/exit tools
|
|
- [ ] Full `tools.ts` parity
|
|
|
|
## 7. Commands And Task Systems
|
|
|
|
Done:
|
|
|
|
- [x] Basic local command dispatch for the Python runtime
|
|
- [x] Inventory view of mirrored command names
|
|
|
|
Missing:
|
|
|
|
- [ ] Real implementation of the larger upstream command tree
|
|
- [ ] Task orchestration system
|
|
- [ ] Planner / task execution parity
|
|
- [ ] Team / collaboration command flows
|
|
- [ ] Background task management
|
|
- [ ] Command-specific session behaviors
|
|
- [ ] Full `src/commands/*` parity
|
|
- [ ] Full `src/tasks/*` parity
|
|
|
|
## 8. Permissions, Hooks, And Policy
|
|
|
|
Done:
|
|
|
|
- [x] Read-only default mode
|
|
- [x] Write-gated mode
|
|
- [x] Shell-gated mode
|
|
- [x] Unsafe mode for destructive shell actions
|
|
|
|
Missing:
|
|
|
|
- [ ] Hooks runtime
|
|
- [ ] Tool-permission workflow parity
|
|
- [ ] Policy limit loading
|
|
- [ ] Managed settings loading
|
|
- [ ] Trust-gated initialization
|
|
- [ ] Safe environment loading parity
|
|
- [ ] More exact denial tracking
|
|
- [ ] Hook-config management
|
|
- [ ] Full hooks and policy parity
|
|
|
|
## 9. MCP, Plugins, And Skills
|
|
|
|
Done:
|
|
|
|
- [x] Placeholder mirrored package layout for plugins, skills, services, and remote subsystems
|
|
|
|
Missing:
|
|
|
|
- [ ] Real MCP client support
|
|
- [ ] MCP server integration
|
|
- [ ] MCP resource listing and reading
|
|
- [ ] MCP-backed tools
|
|
- [ ] Plugin discovery and loading
|
|
- [ ] Bundled plugin support
|
|
- [ ] Plugin lifecycle management
|
|
- [ ] Plugin update/cache behavior
|
|
- [ ] Skill discovery and execution parity
|
|
- [ ] Bundled skill support
|
|
- [ ] Full plugin and skill parity
|
|
|
|
## 10. Interactive UI / REPL / TUI
|
|
|
|
Done:
|
|
|
|
- [x] Non-interactive CLI execution
|
|
- [x] Transcript printing for debugging
|
|
|
|
Missing:
|
|
|
|
- [ ] Interactive REPL parity
|
|
- [ ] Ink/TUI component parity
|
|
- [ ] Screen system parity
|
|
- [ ] Keyboard interaction parity
|
|
- [ ] Interactive status panes
|
|
- [ ] Approval UI flows
|
|
- [ ] Rich incremental rendering
|
|
- [ ] Full `components`, `screens`, and `ink` parity
|
|
|
|
## 11. Remote, Background, And Team Features
|
|
|
|
Done:
|
|
|
|
- [x] Session save/resume on local disk
|
|
|
|
Missing:
|
|
|
|
- [ ] Remote execution modes
|
|
- [ ] Background agent processes
|
|
- [ ] Background attach/log/kill workflows
|
|
- [ ] Team runtime features
|
|
- [ ] Team messaging features
|
|
- [ ] Shared remote state
|
|
- [ ] Upstream proxy runtime integration
|
|
- [ ] Full `remote`, `server`, `bridge`, `upstreamproxy`, and team parity
|
|
|
|
## 12. Editor, Platform, And Native Integrations
|
|
|
|
Done:
|
|
|
|
- [x] Standard shell-based local workflow
|
|
|
|
Missing:
|
|
|
|
- [ ] Voice mode parity
|
|
- [ ] VIM mode parity
|
|
- [ ] Keybinding parity
|
|
- [ ] Notification hooks
|
|
- [ ] Native TypeScript / platform helper parity
|
|
- [ ] JetBrains/editor integration parity
|
|
- [ ] Browser/native host integrations
|
|
- [ ] Platform-specific startup/shutdown logic
|
|
|
|
## 13. Services And Internal Subsystems
|
|
|
|
Done:
|
|
|
|
- [x] Minimal internal service layer required by the current Python runtime
|
|
|
|
Missing:
|
|
|
|
- [ ] Real service implementations for the mirrored `services` package
|
|
- [ ] Config service parity
|
|
- [ ] Account/auth service parity
|
|
- [ ] Analytics/telemetry service parity
|
|
- [ ] Growthbook/feature-flag parity
|
|
- [ ] GitHub / git helper parity
|
|
- [ ] Sandbox/settings utility parity
|
|
- [ ] Todo/task utility parity
|
|
- [ ] Internal helpers used by the upstream runtime
|
|
|
|
## 14. Mirrored Workspace Versus Working Runtime
|
|
|
|
Working Python runtime today:
|
|
|
|
- [x] `src/main.py`
|
|
- [x] `src/agent_runtime.py`
|
|
- [x] `src/agent_tools.py`
|
|
- [x] `src/agent_prompting.py`
|
|
- [x] `src/agent_context.py`
|
|
- [x] `src/agent_context_usage.py`
|
|
- [x] `src/agent_session.py`
|
|
- [x] `src/agent_slash_commands.py`
|
|
- [x] `src/agent_types.py`
|
|
- [x] `src/openai_compat.py`
|
|
- [x] `src/session_store.py`
|
|
- [x] `src/permissions.py`
|
|
|
|
Mirrored inventory / scaffold areas that still need real implementation work:
|
|
|
|
- [ ] `src/commands.py`
|
|
- [ ] `src/tools.py`
|
|
- [ ] `src/query_engine.py`
|
|
- [ ] `src/runtime.py`
|
|
- [ ] `src/services/*`
|
|
- [ ] `src/plugins/*`
|
|
- [ ] `src/remote/*`
|
|
- [ ] `src/voice/*`
|
|
- [ ] `src/vim/*`
|
|
- [ ] Large parts of the rest of the mirrored package tree
|
|
|
|
## 15. High-Priority Next Steps
|
|
|
|
- [ ] Expand the real Python tool registry toward upstream `tools.ts`
|
|
- [ ] Replace more snapshot-backed mirrored modules with working runtime code
|
|
- [ ] Implement real MCP support
|
|
- [ ] Implement hooks and policy flows
|
|
- [ ] Build a real interactive REPL / TUI
|
|
- [ ] Add tokenizer-accurate context accounting
|
|
- [ ] Add background and remote session modes
|
|
- [ ] Port more of the command/task system
|
|
- [ ] Close the gap between the mirrored workspace and the working runtime
|