Skip to main content

Roadmap

OWL's development priorities, guided by the philosophy: Get out of the model's way.


Now​

Currently in progress or next to implement.

UI Polish​

Small improvements for better feedback:

  • Elapsed time indicator - Show response duration
  • Enhanced edit feedback - Display lines added/removed with diff preview
  • Grouped file reads - Collapse consecutive reads into summary

Knowledge Relevance Threshold​

Filter low-relevance RAG results to reduce noise:

# Only include results above 70% relevance
results = knowledge_store.search(query, min_relevance=0.7)

Next​

Planned for near-term implementation.

Better Project Detection​

Smarter context from project config files:

FileInformation Extracted
package.jsonDependencies, scripts, project type
pyproject.tomlPython deps, build system
pom.xml / build.gradleJava project details
README.mdProject description

Conversation Export/Import​

Backup and migrate sessions:

/export session.json     # Export current session
/import session.json # Import session

Auto-Remember​

Model can write to memory.md when it learns something important (with user approval), inspired by Molt.bot.


Future​

Considering for later. May change based on model improvements.

Permission Patterns​

Granular allow/deny by command pattern:

permissions:
allow:
- "git add *"
- "git commit *"
ask:
- "git push *"
deny:
- "rm -rf *"

Find past conversations by content:

/search "authentication bug"

MCP Support​

Model Context Protocol for standardized tool interfaces and external integrations.

Plugin System​

Lightweight extensions without bloating core:

  • Custom tools
  • Output formatters
  • Integration hooks

Team Features​

  • Shared settings files
  • Common knowledge bases
  • Synchronized soul evolution (optional)

Decided Against​

Features we considered but rejected to keep OWL simple.

Runtime Model Switching​

Why rejected: Users can change model in ~/.owl/config.yaml. Runtime switching adds complexity for marginal benefit.

Multi-Model Orchestration​

Why rejected: Routing logic is complex, error-prone, and the benefits diminish as models improve. Single good model is simpler.


Philosophy Check​

Before adding anything, we ask:

  • Can we delete code instead?
  • Does this get in the model's way?
  • Is this the simplest solution?
  • Would this survive a model upgrade?

Features that don't earn their complexity get cut.


Want to contribute? Check GitHub Issues for current priorities.