PortingModule entries.
What are commands?
Commands are built-in slash commands mirrored from the original Claude Code TypeScript implementation. They direct the agent — for example, triggering a compact, switching context, or listing available actions. They do not execute shell operations directly. The full inventory is loaded fromsrc/reference_data/commands_snapshot.json at import time:
PortingModule dataclass with status='mirrored'.
What are tools?
Tools are execution primitives that act on the file system, run shell commands, or call external services. The core tools in the simple-mode set are:- BashTool — shell command execution (gated by default; see Permissions)
- FileReadTool — read file contents
- FileEditTool — apply edits to files
src/reference_data/tools_snapshot.json:
The PortingModule dataclass
Both inventories are composed ofPortingModule entries defined in models.py:
status='mirrored'.
PortingBacklog
APortingBacklog groups modules under a title and provides summary output:
QueryEnginePort.render_summary() uses build_command_backlog() and build_tool_backlog() to display both backlogs as part of the workspace summary.
Command categories
TheCommandGraph (built by command_graph.py) splits the command inventory into three buckets based on source_hint content:
Built-in commands
No
plugin or skills keyword in source_hint. These are the core slash commands ported directly from Claude Code’s built-in surface.Plugin commands
source_hint contains plugin. These mirror commands that Claude Code loads from user-installed plugin extensions.Skill commands
source_hint contains skills. These mirror commands sourced from the skills subsystem.get_commands() directly in Python:
Tool pool and simple mode
TheToolPool (assembled in tool_pool.py) is the filtered set of tools the runtime actually works with. It is built by assemble_tool_pool():
Simple mode
Simple mode
When Use this for lightweight tasks where the full tool surface is not needed.
simple_mode=True, the pool is reduced to exactly three tools:Full tool pool
Full tool pool
The default pool includes every entry in
PORTED_TOOLS, subject to MCP and permission filtering. Inspect the current pool:MCP tools
Model Context Protocol tools appear in the snapshot when theirname or source_hint contains mcp. They are included in the full pool by default.
Exclude all MCP tools with the --no-mcp flag:
Snapshot format
Bothcommands_snapshot.json and tools_snapshot.json follow the same schema:
status field is not stored in the snapshot; it defaults to 'planned' in the dataclass and is overridden to 'mirrored' by the loader functions.