Release Notes
Features
- Side-effect-gated recovery: blocks automatic retry/failover after any non‑NONE side effect; halts with a resumable checkpoint and surfaces a structured
InteractionRequestto the user. - Uncertain‑effect reporting: failed outbound/one‑shot calls now carry
side_effect_uncertain+retry_guidanceso the model can verify before resending. - LeapBoard session binding:
/boardcorrectly analyzes the calling TUI session (fixes empty board).
Fixes
- Empty LLM response hardening: one bounded retry, then a transparent degraded message instead of fake success.
- leapd RPC stall fixes: control‑plane‑first deferred init, non‑blocking
status(), and RPC‑probing recovery with force restart. - Gateway hygiene: vendor credential validators moved to
validators/; unregistered validators rejected; vendor errors redacted. - Logging duplicates: fixed duplicate handler registration and
runtime.log_levelidempotency. - Flaky TUI paste tests: de‑flaked.
Enhancements
- Centralized logging: single idempotent owner, consistent redaction, and added
daemon.log_level. - Quality gate: lint backlog cleared (162 → 0), CI restored.
- Architecture contract tests: added end‑to‑end tests to enforce recovery and side‑effect contracts.
- AGENTS.md: codified side‑effect gating and
InteractionRequestcontracts.
Documentation
- README updated (PR #25).
What's Changed
- [Refactor & Feature] Harden runtime reliability and recovery safety: side-effect-gated recovery, centralized logging, and architecture contract tests by @wangxingjun778 in #24
- [Docs] Update readme by @wangxingjun778 in #25
Full Changelog: v0.0.5...v0.0.6