github yologdev/yoyo-evolve v0.1.11

latest releases: day175-09-28, day175-06-42, day175-03-43...
3 months ago

20 sessions spanning Days 64–74. Prompt caching cuts repeated system prompt costs ~90%, native desktop notifications tell you when long completions finish, clipboard integration via /copy, smarter auto-continue for incomplete responses, error-aware /run, and a deep consolidation arc that deduplicated 13-way token arithmetic, extracted 6+ modules, and cleaned every re-export middleman out of prompt.rs.

Added

  • /revisit command — scan closed/shelved GitHub issues, check feasibility, and track revisit candidates in .yoyo/revisit.json (Day 74)
  • Error-aware /run — when a command fails, shows a colored failure preview and offers to analyze the error with the agent (Day 73)
  • /doctor for Java, Ruby, C/C++ projects — expanded project health checks beyond Rust/Python/Node (Day 73)
  • Output tokens/sec in usage line and /profile — shows generation speed alongside token counts (Day 73)
  • Colored diff preview for write_file — when overwriting an existing file, shows a colored unified diff of the changes (Day 73)
  • Prompt caching via yoagent's CacheConfig — automatic cache_control on system prompt and long tool results, ~90% cost reduction on repeated system prompts; cache hit rate visible in /cost and /tokens (Day 71)
  • Native desktop notifications — OS-level notification + terminal bell when completions take >10s; configurable via notify = false in config (Day 71)
  • /copy command — clipboard integration detecting pbcopy/xclip/wl-copy/clip.exe; subcommands: /copy last, /copy code, /copy all (Day 71)
  • /changes summary subcommand — AI-generated overview of files modified in the current session and why (Day 70)
  • /model list command — browse all known models grouped by provider, with context window sizes (Day 64)
  • Model registry updated — added GPT-5, GPT-5-mini, GPT-5.5, Grok-4, Grok-4-mini, Gemini 2.5 Flash Lite to provider registry and pricing (Days 64, 70)

Improved

  • Auto-continue heuristic strengthened — detects unclosed code fences, numbered lists, and "let me" phrases as incomplete responses; max auto-continues bumped from 3 to 5 (Day 73)
  • Tool recovery with concrete alternative suggestions — retry prompts now suggest specific alternative tools when one fails (e.g. edit_file failing → suggests write_file), improving agent self-recovery (Day 70)
  • Banner shows project context at startup📁 Rust project (yoyo-evolve) on main with auto-detected project type, name, and branch (Day 64)
  • /evolution command — shows CI run status, session stats, and recent evolution history (Day 68)
  • Competitive gap analysis refreshed — updated scorecard against Claude Code, Cursor, Gemini CLI, Codex, and Aider; identified phase transition from missing features to architectural divergences (Day 67)

Fixed

  • Silent .ok() error swallowing in piped mode and retry path — errors now properly propagated instead of silently discarded (Day 68)
  • Silent data loss in save_messages — messages no longer silently dropped across provider/model/thinking switches (Day 70)

Changed (Internal / Architecture)

  • Test coverage expansion — new tests for prompt.rs (stream JSON, PromptOutcome), prompt_retry.rs (diagnose_api_error, build_retry_prompt), tools.rs (TodoTool, RenameSymbolTool, build_tools), commands_bg.rs, main.rs (build_json_output, apply_config_flags), and health check coverage (Days 73–74)
  • Command routing extraction — pure route_command() function extracted from dispatch_command with full test coverage, enabling deterministic testing of command routing (Day 72)
  • accumulate_usage helper — deduplicated 13-way token-accumulation arithmetic across prompt.rs into a single function (Day 66)
  • finish_prompt_epilogue helper — collapsed duplicated 15-line post-prompt epilogue (cost display, bell, context bar) into one call (Day 66)
  • PostPromptContext / ConfigDisplay structs — replaced 13- and 14-parameter functions with named structs (Day 66)
  • 6 module extractions continuing the consolidation arc:
    • conversations.rs from repl.rs — side, quick, and extended conversation handlers (Day 64)
    • prompt_retry.rs from prompt.rs — retry logic, error classification, backoff (Day 64)
    • prompt_utils.rs from prompt.rs — search, highlighting, summarization utilities (Day 64)
    • commands_update.rs from commands_dev.rs/update command (Day 65)
    • commands_tree.rs from commands_dev.rs/tree command (Day 65)
    • Watch-mode auto-detection moved to watch.rs where it belongs (Day 65)
  • prompt.rs reduced from ~2,425 to ~1,300 lines — retry, utility, and re-export middleman cleanup (Days 64, 66–67)
  • commands_dev.rs reduced from ~1,693 to ~714 lines — three command extractions (Day 65)
  • Re-export cleanup — removed pub use middlemen from prompt.rs; all dependents now import directly from source modules (Days 66–67)
  • run_repl readability — architect mode and post-prompt handling extracted into named functions; startup banner pulled into its own function (Days 65–66)
  • Test race condition fixset_current_dir race in parallel tests replaced with parameter-passing approach (Day 64)
  • tool_wrappers.rs extraction — tool decorator types pulled out of tools.rs (Day 64)

Don't miss a new yoyo-evolve release

NewReleases is sending notifications on new releases.