Zikra v1.0.14 — statusline & hook reliability
Fixes the intermittent statusline (0 runs / 0 memories) and session-hook stalls.
Fixed
- Atomic statusline cache writes — per-process temp file (
.tmp.<pid>) +fsync+os.replace. The reader can never see a half-written cache, even if the Stop hook is killed mid-write, and concurrent Stop hooks no longer collide. - Bounded hook network calls — every stats-updater curl uses
--max-time 3 / --connect-timeout 2(GitHub check 3s); the autolog diary POST gains--max-time 20. A slow/unreachable server can no longer hang a hook. - Statusline self-heal — keeps a last-good
.baksnapshot and falls back to it instead of rendering zeros on a corrupt or mid-write cache. - Duplicate Stop hook removed — the autolog diary no longer runs twice per session.
Changed
- installer.py installs
zikra-stats-update.shand normalizes thestatusLine+Stop+PreCompactwiring (idempotent, de-duplicating) — full-statusline parity with the GitHub setup prompt.
Upgrade
Existing users: re-run the Claude Code setup prompt. New users: automatic. No data migration.