Skip to content

v0.5.3

Choose a tag to compare

@tmaiaroto tmaiaroto released this 01 Oct 02:58
· 76 commits to main since this release

Agent Reliability & Qwen/vLLM Hardening

Added

  • Automatic continuation when a response is cut off by the token limit, instead of the turn silently ending. Configurable via max_tokens_continuations in phosphor.json (default: 2).
  • Request-size clamping to prevent hard context-window rejection errors from the provider — applied both before sending a request and re-checked at every step of a multi-step turn.
  • Recovery for a tool-call block that the parser fails to recognize (seen with Qwen's qwen3_xml tool-call format), instead of the turn silently dead-ending.
  • A lightweight "build incrementally" nudge in the coding system prompt, encouraging scaffold-first development on large or open-ended builds instead of fully designing everything before writing any code.

Fixed

  • Turn termination caused by raw ChatML control tokens appearing in model output or reasoning — tokens are now defanged on the way in, and the system prompt no longer requires spelling out the literal token to discuss the issue.
  • A deadlock where the agent's own internal continuation/retry logic was incorrectly treated as a competing request and blocked itself.
  • Duplicate "thinking" output and an infinite loop that could occur while recovering from a cut-off response.
  • Auto-summarization (context compaction) silently failing to run before a request — sessions could exceed their context budget without ever compacting, because the proactive check saw itself as a busy session and gave up.

Changed

  • Updated the fantasy provider library (0.45.0 → 0.45.2), picking up an upstream fix for reasoning/content ordering when a provider batches the end of a reasoning block with the start of the next content in a single stream chunk.

Memory UX

Added

  • /memory slash command family for inspecting and managing the memory vault from the TUI:
    • /memory — status dialog (corpus counts, injected bytes vs. budget, vault path, tamper-seal status, active threads)
    • /memory sources [query] — search the memory corpus, or view this session's provenance
    • /memory review — list pending drafts and queued proposals; confirm/ignore/retire to resolve them
    • /memory fsck — full rescan reconciling the index against the on-disk markdown
    • /memory budget — injected byte usage, corpus and tag counts, breakdown by type
    • /memory policy [rule] — list or add human-asserted policy entries
    • /memory pin / unpin / demote / dispute / retire / cite — per-entry lifecycle management
    • /memory key — tamper-seal key status, show, restore, rotate
  • Memory Review dialog for confirming, ignoring, or retiring pending memory drafts and proposals.
  • Memory entries added to the command menu: Memory Status, Review Memory, Memory Sources, Check Memory (fsck), Memory Budget, Memory Policy.
  • Memory sidebar panel showing injected-byte budget usage and active/pending/recalled entry counts, with warnings surfaced for unsigned entries, a missing integrity key, or quarantined entries.

Fixed

  • Various memory ID and stats accuracy issues; integrity/tamper-seal hardening around hand-edited entries.