Skip to content

v0.3.77

Choose a tag to compare

@adolfousier adolfousier released this 27 Jul 17:27

62 commits since v0.3.75. 105 files changed, +7320 / -341 lines.

✨ Features

  • 7dc9f376 Telegram /usage cache breakdown: per-model cache breakdown in /usage (#815)
  • 1eda8e1e RSI /evolve proposal: surface an available release as an /evolve proposal (#821)
  • 8683d7bd Brain proactive memory: surface relevant memory without waiting to be asked (#799)
  • 70f6a14d Brain query loading: let load_brain_file return only the sections that match (#800)
  • d1521ce2 RSI config-example tracking: track the config examples so pricing fixes reach users (#819)
  • 78ddf975 Brain template-sync merge: additive key-level TOML merge for template sync (#819)
  • 785b6bed TUI finished checklist: keep the finished checklist on screen after a plan completes (#810)
  • 0dc08c2e Models natural naming: accept a model named the way people say it (#801)
  • c852daae /execute provider routing: route /execute onto its own provider and model (#793)
  • d37f1308 /plan provider routing: route /plan onto its own provider and model (#792)
  • 34558b5d Telegram /new gating: gate /new to the owner and scope the menu to its audience
  • d82629c7 Brain clarify-before-build: instruct the agent to clarify before implementing

🔧 Fixes

  • 51d3f6af Plan-card lock deadlock: stop the plan-card lock deadlocking every chat (#831)
  • 31544ba4 Plan prose duplication: stop plan prose duplicating across card and flow block (#824)
  • e1d24cf8 Telegram HTML conversion: apply HTML conversion to all telegram_send actions (#835)
  • b35c2710 TUI bg-task position: move bg-task feedback from left to right on input border (#836)
  • 59b40556 Memory UTC timestamps: store timestamps in UTC with the zone stated (#826)
  • 3632f741 Phantom file-delivery detection: detect a claimed file delivery when nothing sent one (#825)
  • 58a28b81 Telegram /start closed-group: /start recognises an existing member of a closed group (#776)
  • 9ad09c13 RSI finding hash: hash the finding, not the events that illustrate it (#804)
  • 3ecc8c2a Telegram substance check: stop defining substance as "contains a pipe table" (#824)
  • c3e238ae Phantom null-effect calls: null-effect tool calls no longer buy immunity (#825)
  • a1cf081c Brain no-announce rule: restore the rule against announcing a call instead of making one
  • 700fcc49 RSI content-gated sync: gate template sync on content, not on the version number (#820)
  • c6a817dd Telegram plan-card serialisation: serialise plan-card writes so concurrent refreshes stop duplicating (#822)
  • 439ed829 Usage Opus 5 pricing: price Claude Opus 5 on /usage (#817)
  • 1ff869de Usage qwen3.8 pricing: price qwen3.8-max-preview on /usage (#816)
  • 7df4d617 Plan completed-card revert: stop resurrecting completed plans everywhere (#813, #809)
  • 8c93bc71 Telegram plan-card flood: stop the plan card flooding itself into duplicates (#814)
  • 3b99c835 Telegram plan-card persistence: persist plan-card tracking so a restart stops duplicating it (#809 defect 1)
  • dc072018 Discord typing indicator: add the sustained typing indicator it never had (#812)
  • f26ac0ee Channels typing persistence: keep the typing indicator alive through background tasks (#812)
  • 5d1a4e9f Plan completed-card render: let the completed card render its final state (#809 defect 2)
  • 3a390bed RSI capability-gap routing: route capability gaps to a proposal instead of discarding them (#811)
  • b314020f RSI dead-cycle guard: stop cycles that can never execute a tool (#805)
  • f0bfe3b4 Usage cost attribution: attribute cost to the provider that served it (#807)
  • a9898159 TUI duplicate-submit guard: drop a re-submitted message the running turn is already answering (#798)
  • 83704dd9 Brain unrun-command quote: quote the command a turn never ran back at it (#797)
  • 04ebc6e6 Brain phantom-belief correction: correct the belief behind a phantom turn, not the format (#796)
  • 424e4f98 Brain reasoning-cannot-tools: state that reasoning cannot execute tools (#795)
  • 822d2092 TUI command labelling: label commands by what they run, not the directory (#790, #791)
  • 14bb031f Phantom command verification: verify claimed commands against what the turn actually ran
  • a56f6bed Repetition fenced-code exclusion: exclude fenced code from streaming loop detection
  • 65255c9e Telegram follow-up tools turn: run a real tools turn when a follow-up is tapped
  • 8b29df55 TUI harness-status handling: stop counting harness status as work, and stop burying it
  • a57c1241 Phantom evidence check: check quoted evidence against what the tools returned
  • 9eea2a86 Phantom investigation claim: count claimed investigation as a completion claim
  • 198c6999 Phantom both-ends check: examine both ends of a turn, not just the lead
  • a2c285f6 TUI steps-and-tools display: show steps AND tool calls, drop the either/or fallback
  • 7f645896 Phantom self-update claim: count self-update claims as completion claims

📖 Documentation

  • 0b44e266 docs(readme): document the spaced /models form (#803)
  • 09ec1783 docs(readme): document plan/execute provider and model routing (#794)

🧹 Miscellaneous

  • b49419b3 chore(provider): log the reasoning_content decision (#830 step 1)
  • 7df4d617 revert(plan): stop resurrecting completed plans everywhere (#813, #809)
  • cead5014 test(rsi): assert what the sync tracks and how each entry routes (#823)
  • 7ecadacf refactor(brain): cut the domain sections to reference size
  • 64edc85d revert(telegram): stop delivering the agent's working-out to chat
  • 135b9015 fix(phantom): catch a claim of having played or launched something
  • 5db83f3f fix(telegram): stop the flow block posting a new message every tick
  • 10d6ac51 fix(telegram): drop an echoed plan title from the response (#837)
  • 1bc58dbf fix(telegram): gate flush_intermediates like the streaming path (#838)

📊 Stats

  • 62 commits since v0.3.75
  • 105 files changed, +7320 / -341 lines
  • 5,656 tests (5,631 passed, 0 failed, 25 ignored)

Full Changelog: v0.3.75...v0.3.77