7.5 KiB
Owlen Project Improvement Roadmap
Generated from codebase analysis on 2025-11-01
Overall Assessment
Grade: A (90/100) Status: Production-ready with minor enhancements needed Architecture: Excellent domain-driven design with clean separation of concerns
🔴 Critical Issues (Do First)
-
Fix Integration Test Failure (
crates/app/cli/tests/chat_stream.rs) ✅ COMPLETED- Fixed mock server to accept requests with tools parameter
- Test now passes successfully
- Location:
crates/app/cli/tests/chat_stream.rs
-
Remove Side Effects from Library Code (
crates/core/agent/src/lib.rs:348-349) ✅ COMPLETED- Replaced
println!withtracingcrate - Added
tracing = "0.1"dependency toagent-core - Changed to structured logging:
tracing::debug!for tool calls,tracing::warn!for errors - Users can now control verbosity and route logs appropriately
- Location:
crates/core/agent/src/lib.rs:348, 352, 361
- Replaced
🟡 High-Priority Improvements
Permission System ✅
- Implement Proper Permission Selection in TUI ✅ COMPLETED
- Added interactive permission popup with keyboard navigation
- Implemented "Allow once", "Always allow", "Deny", and "Explain" options
- Integrated permission requests into agent loop with async channels
- Added runtime permission rule updates for "Always allow"
- Permission popups pause execution and wait for user input
- Location:
crates/app/ui/src/app.rs,crates/app/ui/src/components/permission_popup.rs
Documentation
-
Add User-Facing README.md
- Quick start guide
- Installation instructions
- Usage examples
- Feature overview
- Links to detailed docs
- Priority: HIGH
-
Add Architecture Documentation
- Crate dependency graph diagram
- Agent loop flow diagram
- Permission system flow diagram
- Plugin/hook integration points diagram
- Priority: MEDIUM
Feature Integration
-
Integrate Plugin System
- Wire plugin loading into
crates/app/cli/src/main.rs - Load plugins at startup
- Test with example plugins
- Priority: HIGH
- Wire plugin loading into
-
Integrate MCP Client into Agent
- Add MCP tools to agent's tool registry
- Enable external tool servers (databases, APIs, etc.)
- Document MCP server setup
- Priority: HIGH
-
Implement Real Web Search Provider
- Add provider for DuckDuckGo, Brave Search, or SearXNG
- Make the web tool functional
- Add configuration for provider selection
- Priority: MEDIUM
Error Handling & Reliability
-
Add Retry Logic for Transient Failures
- Exponential backoff for Ollama API calls
- Configurable retry policies (max attempts, timeout)
- Handle network failures gracefully
- Priority: MEDIUM
-
Enhance Error Messages
- Add actionable suggestions for common errors
- Example: "Ollama not running? Try:
ollama serve" - Example: "Model not found? Try:
ollama pull qwen3:8b" - Priority: MEDIUM
🟢 Medium-Priority Enhancements
Testing
-
Add UI Component Testing
- Snapshot tests for TUI components
- Integration tests for user interactions
- Use
ratatuitesting utilities - Priority: MEDIUM
-
Add More Edge Case Tests
- Glob patterns with special characters
- Edit operations with Unicode
- Very large file handling
- Concurrent tool execution
- Priority: MEDIUM
-
Code Coverage Reporting
- Integrate
tarpaulinorcargo-llvm-cov - Set minimum coverage thresholds (aim for 80%+)
- Track coverage trends over time
- Priority: LOW
- Integrate
Documentation
-
Module-Level Documentation
- Add
//!docs to key modules - Explain design decisions and patterns
- Document internal APIs
- Priority: MEDIUM
- Add
-
Create Examples Directory
- Simple CLI usage examples
- Custom plugin development guide
- Hook script examples
- MCP server integration examples
- Configuration templates
- Priority: MEDIUM
Code Quality
-
Fix Dead Code Warning (
ui/src/app.rs:38)- Either use
settingsfield or remove it - Remove
#[allow(dead_code)] - Priority: LOW
- Either use
-
Improve Error Recovery
- Checkpoint auto-save on crashes
- Graceful degradation when tools fail
- Better handling of partial tool results
- Priority: MEDIUM
🔵 Low-Priority Nice-to-Haves
Project Infrastructure
-
CI/CD Pipeline (GitHub Actions)
- Automated testing on push
- Clippy linting
- Format checking with
rustfmt - Security audits with
cargo-audit - Cross-platform builds (Linux, macOS, Windows)
- Priority: LOW
-
Performance Benchmarking
- Add benchmark suite using
criterioncrate - Track performance for glob, grep, large file ops
- Track agent loop iteration performance
- Priority: LOW
- Add benchmark suite using
Code Organization
- Extract Reusable Crates
- Publish
mcp-clientas standalone library - Publish
llm-ollamaas standalone library - Enable reuse by other projects
- Consider publishing to crates.io
- Priority: LOW
- Publish
💡 Feature Enhancement Ideas
Session Management
- Session Persistence
- Auto-save sessions across restarts
- Resume previous conversations
- Session history browser in TUI
- Export/import session transcripts
Multi-Provider Support
- Multi-Model Support
- Support Anthropic Claude API
- Support OpenAI API
- Provider abstraction layer
- Fallback chains for reliability
Enhanced Permissions
- Advanced Permission System
- Time-based permissions (expire after N minutes)
- Scope-based permissions (allow within specific directories)
- Permission profiles (dev, prod, strict)
- Team permission policies
Collaboration
- Collaborative Features
- Export sessions as shareable transcripts
- Import/export checkpoints
- Shared permission policies for teams
- Session replay functionality
Observability
- Enhanced Observability
- Token usage tracking per tool call
- Cost estimation dashboard
- Performance metrics export (JSON/CSV)
- OpenTelemetry integration
- Real-time stats in TUI
🚀 Quick Wins (Can Be Done Today)
- Add
README.mdto repository root - Fix dead code warning in
ui/src/app.rs:38 - Add
tracingcrate and replaceprintln!calls - Create
.github/workflows/ci.ymlfor basic CI - Add module-level docs to
agent-coreandconfig-agent
🌟 Long-Term Vision
- Plugin Marketplace: Curated registry of community plugins
- Interactive Tutorial: Built-in tutorial mode for new users
- VS Code Extension: Editor integration for inline assistance
- Collaborative Agents: Multi-agent workflows with role assignment
- Knowledge Base Integration: RAG capabilities for project-specific knowledge
- Web Dashboard: Browser-based interface for session management
- Cloud Sync: Sync configs and sessions across devices
Notes
- Test Status: 28+ tests, most passing. 1 integration test failure (mock server issue)
- Test Coverage: Strong coverage for core functionality (permissions, checkpoints, hooks)
- Architecture: Clean domain-driven workspace with 15 crates across 4 domains
- Code Quality: Excellent error handling, consistent patterns, minimal technical debt
- Innovation Highlights: Checkpoint/rewind system, three-tiered permissions, shell-based hooks
Priority Legend
- HIGH: Should be done soon, blocks other features or affects quality
- MEDIUM: Important but not urgent, improves user experience
- LOW: Nice to have, can be deferred
Last Updated: 2025-11-01