v0.22.0
What's Changed
- chore(lint): sort imports in the streaming BEFORE_BROADCAST test
- fix(store): persist blocked_by on update_event
- feat(streaming): run BEFORE_BROADCAST hooks on each streamed text segment
- feat(anthropic): add Claude Sonnet 5 to the model catalog
- chore(tests): hygiene bundle for the loop-rules regression tests
- docs(ai): timeless docstrings for the shared loop-rules module
- refactor(ai): single-definition tool-loop rules shared by both loops
- fix(tests): unblock the make-all gate — repeat-guard fallout + ruff
- fix(tools): honor anti-loop force_stop in the STREAMING loop too
- feat(tools): anti-loop guard hard-stop + skill/tool confusion redirect + tool_search miss hint
- fix(ci): green ruff + ty after the 0.20.0 merge
- Begin 0.21.0.dev0 development
Full Changelog: v0.20.0...v0.22.0