Commit Graph

61 Commits

Author SHA1 Message Date
Hunter Bown 8b5f1bc83f fix: harden runtime app pre-release issues 2026-02-18 11:12:40 -06:00
Hunter Bown cfcdce3d03 feat: runtime and UX polish
P1 features:
- System prompt injection on session resume (ThreadRecord gains system_prompt
  field, ensure_engine_loaded passes it to Op::SyncSession)
- Session resume bridge: GET/POST /v1/sessions/{id}, seed_thread_from_messages
- Task detail panel with deep links (?task=<id>), timeline, tool calls
- Tauri desktop build fix (CI=true in tauri:build script)

P2 features:
- Task detail auto-refresh polling for running/queued tasks (3s interval)
- Session delete: DELETE /v1/sessions/{id} endpoint + palette delete button
- Transcript full-text search input with combined role filter + search
- Per-item copy-to-clipboard, collapse/expand for long outputs, filter chips

Polish:
- Typography scale CSS variables, skeleton loading utilities
- Panel slide-in animation for task detail, fade-up for list items
- Toast auto-dismiss (4s success, 6s error) with dismiss buttons
- Focus trap in command palette, backdrop click to close
- Escape key closes task detail panel
- ARIA improvements: role=alert on error toasts, role=listbox on palette
- Responsive breakpoints for tablet (task detail stacking, palette width)
- prefers-reduced-motion respected throughout

All validation checks pass:
- cargo test (517 tests), cargo check
- pnpm typecheck, lint (0 errors), test (36 tests)
- pnpm web:build, desktop:build
2026-02-18 10:58:13 -06:00
Hunter Bown cd41e381e7 chore: release v0.3.21 2026-02-18 08:59:27 -06:00
Hunter Bown d0a3d1d7aa fix: isolate test env and use mock engines in runtime_api tests
- 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.
2026-02-18 08:58:21 -06:00
Hunter Bown 605591d064 Feature: parallel tool execution, UI/widget enhancements, onboarding improvements, engine upgrades
- 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
2026-02-18 08:17:15 -06:00
Hunter Bown 6fedee021e Improve Plan mode approval UX and release v0.3.20 2026-02-17 17:10:47 -06:00
Hunter Bown d2b64b260e Stabilize tilde expansion test under Windows home env 2026-02-17 16:33:45 -06:00
Hunter Bown c81287cdfd Fix clippy manual char comparison lint 2026-02-17 16:28:16 -06:00
Hunter Bown 91721d8a17 Fix context usage display and config path/session overrides 2026-02-17 16:24:57 -06:00
Hunter Bown 1a04659a95 Add capacity memory controller and smoother TUI streaming 2026-02-17 16:09:07 -06:00
Hunter Bown 87884a1e84 Improve model handling, context recovery, and stabilize config tests 2026-02-16 17:57:22 -06:00
Hunter Bown ccefab8d44 docs: clean up README, remove roadmap.md
- 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
2026-02-16 12:24:01 -06:00
Hunter Bown 5f90e1685e fix: resolve CI failures — fmt + remove unused function
- Run cargo fmt to fix trailing whitespace and formatting
- Remove unused `get_compaction_instruction()` that triggered -D warnings
2026-02-16 12:22:14 -06:00
Hunter Bown b556559fb4 chore: v0.3.18 — expand docs, remove PARITY.md, clean up gitignore
- Remove PARITY.md (no longer needed)
- Expand README tools section with full tool inventory and troubleshooting entries
- Add known-issue notes to AGENTS.md (finance tool, token tracking, web.run naming)
- Update .gitignore with additional temp file patterns
- Bump version to 0.3.18
2026-02-16 12:19:50 -06:00
Hunter Bown 19a9724008 fix: reload engine after onboarding API key save 2026-02-16 11:43:14 -06:00
Hunter Bown 4212ba9f26 fix: restore API key config resolution and clean runtime artifacts 2026-02-16 11:37:14 -06:00
Hunter Bown 6c05c3b3ac feat: agent-controlled context compaction (Claude Code style)
- 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.
2026-02-16 10:58:11 -06:00
Hunter Bown ab2c708ca7 feat: runtime API, task manager, and extensive improvements (v0.3.16)
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
2026-02-16 10:51:39 -06:00
Hunter Bown fa3905041d fix: auto-compaction not triggering and doctor API key check
- 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.
2026-02-16 10:50:25 -06:00
Hunter Bown ab87765c26 fix: use is_multiple_of() to satisfy clippy 1.93 2026-02-08 12:50:44 -06:00
Hunter Bown b20937ba55 fix: remove extra blank line to pass cargo fmt check 2026-02-08 12:48:16 -06:00
Hunter Bown 6c55d80dea feat: world-class TUI improvements + deepseek-v3.2 default (v0.3.15)
- Real SSE streaming (token-by-token display via Chat Completions API)
- Token cost tracking with real DeepSeek pricing in header
- Context window usage percentage display
- Atomic session writes (crash safety via temp+rename)
- Responses API recovery (periodic probe instead of permanent fallback)
- Tool parse failure user-visible warnings
- Default model changed to deepseek-v3.2 everywhere
- V3.2 reasoning/thinking support
- V3.2 pricing and context window entries
2026-02-08 12:46:51 -06:00
Hunter Bown 4e516a7c1f Simplify UI and improve footer display (v0.3.14) (#2)
* 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
2026-02-05 13:29:38 -06:00
Hunter Bown 702f9c353c Release v0.3.14
- 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
2026-02-05 09:28:39 -06:00
Hunter Bown 4ded9e2a4f Restore transcript scrollbar 2026-02-03 19:05:44 -06:00
Hunter Bown 9f47d78a03 Release v0.3.12 2026-02-03 18:52:55 -06:00
Hunter Bown 67b371ca95 Encode tool names for DeepSeek API 2026-02-03 18:52:00 -06:00
Hunter Bown 858649d458 Fix tool name mapping for DeepSeek API 2026-02-03 18:45:49 -06:00
Hunter Bown 433d7cb6e9 Release v0.3.10 2026-02-03 18:31:53 -06:00
Hunter Bown e0bccecd5c Remove RLM/Duo modes and restore footer scroll 2026-02-03 18:29:36 -06:00
Hunter Bown 02ecc51e9c Fix clippy warnings 2026-02-03 17:42:48 -06:00
Hunter Bown 72d1c43d50 Apply rustfmt 2026-02-03 17:38:52 -06:00
Hunter Bown 9e3aafeabb Release 0.3.7 2026-02-03 17:36:17 -06:00
Hunter Bown 325aaefc00 Update tool parity and skills docs 2026-02-03 17:34:55 -06:00
Hunter Bown 62d2877b3b Release v0.3.6: UI polish - welcome banner, context progress bar, remove custom scrollbar 2026-02-02 12:05:48 -06:00
Hunter Bown 3f8d04178c feat: v0.3.5 — smart context offloading, full MCP protocol, Duo mode, project_map tool
- 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)
2026-01-30 06:02:43 -06:00
Hunter Bown 18ce9f96f1 chore: update Cargo.lock for v0.3.4 2026-01-29 12:50:53 -06:00
Hunter Bown 5466cd7a19 fix: compaction tool-call pairing, safety net scanning, and double-dispatch race
- 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
2026-01-29 12:50:31 -06:00
Hunter Bown 3c3c3f49ce feat: polish TUI with Kimi-style footer, streaming thinking blocks, and cleanup
- 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
2026-01-29 11:27:38 -06:00
Hunter Bown a7c5ef9374 Fix formatting 2026-01-28 10:05:25 -06:00
Hunter Bown 55148906f2 Fix clippy warnings
- Remove unnecessary to_string() in client.rs
- Derive Default for SubAgentType instead of manual impl
- Remove redundant let binding in header.rs
2026-01-28 10:01:50 -06:00
Hunter Bown df45aece8f Apply cargo fmt formatting fixes 2026-01-28 09:59:35 -06:00
Hunter Bown 32443ae91b Fix CI: Remove redundant toolchain input from dtolnay/rust-toolchain@stable
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
2026-01-28 09:58:28 -06:00
Hunter Bown 4ae8c8a3fa Fix CI toolchain inputs and normalize working set paths 2026-01-28 09:56:34 -06:00
Hunter Bown 5640a00b03 Release v0.3.2 2026-01-28 09:48:34 -06:00
Hunter Bown 9bbe82e7f4 Fix tool result ordering with compaction 2026-01-28 09:39:38 -06:00
Hunter Bown cbe2a30ea4 Polish TUI UX and fix shortcuts 2026-01-28 09:02:49 -06:00
Hunter Bown a5c02c0eb4 release: v0.3.1 2026-01-27 01:04:48 -06:00
Hunter Bown 3204f556af release: v0.3.0 2026-01-27 00:46:48 -06:00
Hunter Bown 12aeca7171 Merge remote-tracking branch 'origin/Hmbown/fix-cargo-fmt' 2026-01-22 13:32:12 -06:00