This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryFixed AI approval flow bugs: lost state handling and rate‑limit resilience with explicit pause notification.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Adds retry logic for rate‑limit errors with capped backoff and clearer messages in Chat jobs Adds retry logic for rate‑limit errors with capped backoff and clearer messages in Chat jobs Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Bugfix | Medium |
Fixes lost approval state by injecting authoritative pending_actions into model context each turn Fixes lost approval state by injecting authoritative pending_actions into model context each turn Source: llm_adapter@2026-06-10 Confidence: low |
— |
| Bugfix | Low |
Broadcasts `ChatPaused` notice when approval auto‑continue chain hits its cap instead of stalling silently Broadcasts `ChatPaused` notice when approval auto‑continue chain hits its cap instead of stalling silently Source: llm_adapter@2026-06-10 Confidence: high |
— |
| Bugfix | Low |
Prevents assistant from repeatedly requesting approval when state is already approved by injecting pending_actions into model context each turn Prevents assistant from repeatedly requesting approval when state is already approved by injecting pending_actions into model context each turn Source: granite4.1:30b@2026-06-10-audit Confidence: low |
— |
Full changelog
Fixes
Chat: Harden the AI approval flow against lost state and rate limits (#321)
- Lost approval state (Bug A): the assistant could get stuck re-asking to approve an already-approved action when the post-approval continuation failed or was skipped. Approval state is now injected into the model each turn from the authoritative
pending_actionstable (a<resolved_actions>context block), so it no longer depends on the continuation journaling to the transcript. - Rate-limit resilience (Bug B): provider 429s surfaced as a generic error with no retry. Chat jobs now retry transient rate-limit / overloaded responses with capped backoff and surface an honest message. This covers both the typed
RateLimitedExceptionand the raw streamingRequestException(429/529/503) — the latter verified end-to-end under the async (Horizon) queue. - Explicit pause: when the approval auto-continue chain hits its cap it now broadcasts a
ChatPausednotice ("say continue to resume") instead of stalling silently.
Full Changelog: https://github.com/relaticle/relaticle/compare/v3.3.3...v3.3.4
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About relaticle
Open-source CRM with native AI agent support. 30 MCP tools, REST API, self-hosted. Built with Laravel & Filament
Related context
Beta — feedback welcome: [email protected]