Validation Report: Issue #624 - terraphim_repl Removal
Status: VALIDATED ✓ Date: 2026-03-11 Validator: Claude Code
Executive Summary
All functionality from terraphim_repl has been successfully migrated to terraphim_agent. The terraphim_agent crate provides a superset of the removed crate's functionality, with additional features and improved architecture.
Functionality Comparison
terraphim_repl (Removed)
Commands Available:
| Command | Description |
|---------|-------------|
| search <query> | Search documents |
| config show | Display configuration |
| role list | List available roles |
| role select <name> | Select a role |
| graph [top_k] | Show knowledge graph |
| replace <text> | Replace text with format |
| find <text> | Find text matches |
| thesaurus [role] | Show thesaurus for role |
| help [command] | Show help |
| quit/exit/clear | Session control |
Features:
- Offline mode with embedded defaults
- Basic TUI service initialization
- Config directory management (~/.terraphim)
- Default config/thesaurus creation
terraphim_agent (Replacement)
Base Commands (repl feature):
| Command | Description | Status vs terraphim_repl |
|---------|-------------|-------------------------|
| search <query> | Search with role, limit, semantic, concepts options | ✓ Enhanced |
| config show/set | Config management | ✓ Enhanced (adds set) |
| role list/select | Role management | ✓ Equivalent |
| graph [top_k] | Knowledge graph visualization | ✓ Equivalent |
| help [command] | Contextual help | ✓ Enhanced |
| quit/exit/clear | Session control | ✓ Equivalent |
Additional Commands:
| Command | Feature Flag | Description |
|---------|--------------|-------------|
| chat [message] | repl-chat | AI chat interface |
| summarize <target> | repl-chat | Document summarization |
| autocomplete <query> | repl-mcp | MCP autocomplete |
| extract <text> | repl-mcp | Paragraph extraction |
| find <text> | repl-mcp | Text finding with graph |
| replace <text> | repl-mcp | Text replacement |
| thesaurus [role] | repl-mcp | Thesaurus lookup |
| file search/list/info | repl-file | File operations |
| web search/fetch | repl-web | Web search and fetch |
| vm list/start/stop | Always | Firecracker VM management |
| robot capabilities/schemas/examples | Always | AI agent self-documentation |
| sessions list/switch/delete/export | repl-sessions | Session management |
| update check/install/rollback/list | Always | Binary update management |
Service Features: | Feature | terraphim_repl | terraphim_agent | |---------|----------------|-----------------| | Offline mode | ✓ | ✓ (repl-offline) | | Server mode | ✗ | ✓ (repl feature) | | Config from --config flag | ✗ | ✓ | | Config from settings.toml | ✗ | ✓ | | Persistence layer | ✓ | ✓ | | Embedded defaults | ✓ | ✓ | | LLM integration | Basic | Full (ChatOptions) | | Firecracker VMs | ✗ | ✓ | | MCP tools | ✗ | ✓ (repl-mcp) | | Session management | ✗ | ✓ (repl-sessions) | | Auto-updates | ✗ | ✓ |
Code Structure Comparison
terraphim_repl (87 LOC main.rs)
crates/terraphim_repl/
├── src/
│ ├── main.rs (87 LOC - entry point)
│ ├── repl/
│ │ ├── mod.rs
│ │ ├── commands.rs (basic commands)
│ │ └── handler.rs (REPL loop)
│ └── service.rs (TuiService)
├── tests/
│ ├── command_tests.rs
│ ├── integration_tests.rs
│ └── service_tests.rs
└── assets/
├── default_config.json
└── default_thesaurus.jsonterraphim_agent (Superset Implementation)
crates/terraphim_agent/
├── src/
│ ├── main.rs (full TUI + REPL entry)
│ ├── repl/
│ │ ├── mod.rs (feature-gated modules)
│ │ ├── commands.rs (all commands + subcommands)
│ │ ├── handler.rs (enhanced REPL handler)
│ │ ├── chat.rs (repl-chat feature)
│ │ ├── web_operations.rs (repl-web feature)
│ │ ├── file_operations.rs (repl-file feature)
│ │ └── mcp_tools.rs (repl-mcp feature)
│ ├── service.rs (enhanced TuiService)
│ ├── client.rs (ApiClient for server mode)
│ ├── robot/ (AI agent self-documentation)
│ ├── forgiving/ (CLI typo correction)
│ ├── onboarding/ (First-time setup)
│ └── learnings/ (Failed command capture)
└── tests/
└── integration_test.rsVerification Tests
Build Verification
# terraphim_agent with REPL builds successfully
# terraphim-cli builds successfully
# Full workspace builds
Feature Parity Check
| terraphim_repl Feature | terraphim_agent Equivalent | Verified |
|------------------------|---------------------------|----------|
| Embedded default config | ConfigBuilder::build_default_embedded() | ✓ |
| Config directory creation | DeviceSettings::load_from_env_and_file() | ✓ |
| Search with role | ReplCommand::Search { role, .. } | ✓ |
| Role selection | ReplCommand::Role { subcommand: Select } | ✓ |
| Knowledge graph display | ReplCommand::Graph { top_k } | ✓ |
| Text replacement | ReplCommand::Replace { text, format } | ✓ |
| Thesaurus lookup | ReplCommand::Thesaurus { role } | ✓ |
| Offline mode | run_repl_offline_mode() | ✓ |
Migration Assessment
✓ FULLY MIGRATED
All core functionality from terraphim_repl is present in terraphim_agent:
- Search functionality: Enhanced with semantic search, concept extraction, and role filtering
- Config management: Enhanced with --config CLI flag support and settings.toml integration
- Role management: Equivalent with list/select operations
- Knowledge graph: Equivalent with top_k filtering
- Text operations: Moved to repl-mcp feature (Find, Replace, Thesaurus)
- Offline mode: Available via
repl-offlineorrepl-fullfeatures - Service layer:
TuiServicein terraphim_agent is a superset of terraphim_repl's service
✓ ENHANCED CAPABILITIES
terraphim_agent adds significant new functionality:
- Server mode: Connect to running terraphim_server
- Chat/Summarize: LLM integration via repl-chat
- MCP tools: Full MCP integration (autocomplete, extract, find, replace)
- File operations: Search, list, info on local files
- Web operations: Web search and content fetching
- VM management: Firecracker microVM lifecycle
- Session management: Persist and resume sessions
- Auto-updates: Binary update checking and installation
- Robot mode: Self-documenting AI agent interface
- Forgiving CLI: Typo correction and suggestions
Conclusion
VALIDATION STATUS: PASSED ✓
The terraphim_repl crate has been successfully removed. All its functionality is preserved and enhanced in terraphim_agent, which provides:
- 100% feature parity - All terraphim_repl commands work in terraphim_agent
- Significant enhancements - Many new features beyond the original scope
- Better architecture - Feature flags allow flexible deployment
- Active maintenance - terraphim_agent is actively developed
The removal is safe and complete. Users should use:
# Instead of: terraphim_repl
# Or build the binary:
References
- Issue #624: Remove terraphim_repl, Consolidate CLIs
- Research: docs/research/research-issue-624.md
- Design: docs/research/design-issue-624.md
- Commit: 2985e79b - chore(cleanup): remove terraphim_repl crate