- Config tests: add DEEPSEEK_API_KEY to EnvGuard so apply_env_overrides()
doesn't leak the real key into test assertions. Refactor Drop impl
with a shared restore_var helper.
- Runtime API tests: convert thread_endpoints, events_endpoint, and
stream_endpoint tests from real engine (which calls DeepSeek API and
times out) to mock engines via install_test_engine. The lifecycle
test mock handles both SendMessage and CompactContext ops.
- Add parallel batch execution for read-only tools
- Enhance UI widgets, sidebar focus, and onboarding flows
- Upgrade engine with error escalation, tool search, and risk-based replanning
- Extend client with server tool usage and container support
- Update settings and compaction logic
- Improve MCP resource handling and subagent coordination
- Update README with new tool count
- Rewrite README to be concise and user-focused
- Replace verbose tool inventory with capability summary
- Move Runtime API details to docs link
- Trim troubleshooting, config, and keyboard shortcuts
- Remove roadmap.md
- Add agent-facing instructions about /compact command in system prompt
- Enhance compaction summary with workflow context (files, tools, tasks)
- Add 'What to Do Next' guidance after compaction
- Change /compact to trigger immediate compaction (not toggle)
- Extract workflow context from tool usage and messages
- Lower auto-compaction threshold to 85% for earlier triggering
The agent now knows it can use /compact when context gets long,
similar to Claude Code's approach.
Major Features:
- Runtime API for external integrations and turn management
- Task manager with persistence and recovery
- Shell output streaming and improved tool execution
- Error taxonomy and audit logging
- Command palette and UI enhancements
Documentation:
- Runtime API documentation
- Operations runbook
- Architecture updates
Fixes:
- Auto-compaction threshold and triggering logic
- Doctor command API key validation
- Clippy and formatting compliance
- Fix doctor command to properly validate DEEPSEEK_API_KEY (check non-empty)
- Lower auto-compaction threshold from 95% to 85% to trigger earlier
- Fix should_compact() to always trigger when over token threshold
(even with few unpinned messages)
This fixes the issue where auto-compaction wasn't working and users
would hit context length errors.
* Polish UI, fix bugs, and rewrite README for clarity
- Fix welcome banner generating a fake session ID (random UUID that
didn't match the actual session); now shows tips and omits the
misleading session line
- Fix footer redundancy: mode and model were shown in both the header
and footer; footer now shows session ID, token count, and help hint
- Fix STATUS_SUCCESS and STATUS_WARNING being the same color
(both DEEPSEEK_SKY), making success/warning states indistinguishable;
success is now green, warning is amber
- Remove unprofessional thinking tagline ("You're absolutely right!
... maybe."); replaced with professional labels
- Fix README mode cycle documentation (said Normal->Plan->Agent->YOLO
but code actually cycles Plan->Agent->YOLO->Plan)
- Fix README tool miscategorization: web.run, web_search,
request_user_input, and multi_tool_use.parallel were listed under
"File Operations" instead of their own categories
- Rewrite README with numbered getting-started steps, keyboard
shortcuts table, cleaner tool categories, environment variable table,
and compact troubleshooting table
- Remove unused imports (chrono::Local, uuid::Uuid, Color, Modifier)
and dead code (mode_color, mode_badge_style)
https://claude.ai/code/session_011XiGZRhainhyvZ8BKKrfzj
* Update src/tui/app.rs
* Update README.md
- Add image_query support to web.run (DuckDuckGo image search)
- Encode tool-call function names for Chat Completions history rebuild
- Allow safe MCP meta tools in multi_tool_use.parallel
- Update prompts for stronger citation placement and quote-limit guidance
- Intelligent context offloading: large tool results (>15k chars) auto-moved to RLM memory
- Persistent history context: compacted messages offloaded to RLM history variable
- Full MCP protocol: SSE transport, Resources (resources/list, resources/read), Prompts (prompts/list, prompts/get)
- mcp_read_resource and mcp_get_prompt virtual tools exposed to the model
- Dialectical Duo mode with Player/Coach TUI rendering
- Dynamic system prompt refresh at each turn for up-to-date RLM/Duo/working-set context
- project_map tool for automatic codebase structure discovery
- delegate_to_agent alias for streamlined sub-agent delegation
- Default theme changed to Whale with updated color palette
- Fix MCP test compilation for updated McpServerConfig struct shape
- Fix clippy warnings (strip_prefix, inspect_err, flatten, is_some_and)
- Set is_loading immediately in dispatch_user_message to prevent
a race condition where the user could dispatch two messages before
the TurnStarted event arrived
- Raise fixpoint loop cap in enforce_tool_call_pairs from 10 to
messages.len() so long conversations converge; add warn logging
on non-convergence
- Scan non-contiguous tool results in build_chat_messages safety net
and drain orphaned results that aren't immediately adjacent
- Log specific missing tool IDs when stripping orphaned tool_calls
- Add tests for partial tool results and long-chain convergence
- Bump version to 0.3.4
- Redesign footer: live clock, lowercase mode badges, color-coded context %
- Stream thinking/reasoning blocks in real-time with sidebar style and cursor
- Replace ThinkingSummary with richer Thinking variant in history cells
- Remove dead code (unused footer helpers, context bar, copy hint)
- Bump version to 0.3.3
The dtolnay/rust-toolchain action already specifies the toolchain version
in the action reference (@stable). Adding toolchain: stable as an input
was causing 'toolchain is a required input' errors.
Fixed in:
- ci.yml
- release.yml
- crates-publish.yml