Skip to content

v0.4.1 — P0-P2 Reliability Audit

Choose a tag to compare

@Alex663028 Alex663028 released this 15 Jul 10:21

P0 — Destructive fixes

  • Version sync: __init__.py 0.3.1 → 0.4.1 (was showing wrong version to MCP servers)
  • Thread-safe Storage: per-thread SQLite connections + WAL mode; all reads now under lock (was crashing on concurrent TUI + Telegram access)
  • Windows compat: signal.pause() replaced with threading.Event().wait() (was exiting immediately on Windows)
  • Cron stop: stop_event promoted to instance attribute for immediate scheduler shutdown

P1 — Important fixes

  • Router now catches AnthropicError (Anthropic provider fallback was broken)
  • 7 modules now catch LLMError+AnthropicError (was only RuntimeError/OSError)
  • Context compaction uses Router.chat() with fallback chain + rate limiter
  • Skill evolution: dedup check prevents overwriting promoted skills; now passes LLM for prose refinement
  • Health endpoint: caches Runtime across requests (was rebuilding everything on every probe)
  • Sub-agents now execute tool calls in a loop (up to 3 rounds) instead of single-shot

P2 — Quality improvements

  • Token estimation consistent at ~3.2 chars/token everywhere
  • pulse init now lists Anthropic as a provider option
  • MemoryStore file appends guarded by threading.Lock
  • Observability.events capped at 5000 (prevents memory leak in long-running services)
  • Cron */N step syntax now actually matches (was parsed but never evaluated)
  • decompose heuristic handles numbered lists + comma-separated items

138/138 tests pass · Ruff lint clean