v0.5.0
[0.5.0] - 2026-06-02
Added
-
Automatic memory hooks (all clients) —
palace installnow registers
user-scopesession start,post tool use, andstophooks for every client
that supports them, enforcing memory use in every project without per-project
rules.post tool useauto-recalls relevant memory while the agent
investigates;stopnudges the agent to record its work when it engaged Palace
but saved nothing. Coverage:- Cursor —
~/.cursor/hooks.json(recall matched toGrep/Read). - Claude Code —
~/.claude/settings.jsonnested hooks (recall matched to
Grep/Read/Glob). - Codex —
~/.codex/hooks.jsonnested hooks (recall matched toBash,
since Codex investigates through the shell; run/hooksonce to trust them). - Claude Desktop — no hook system, so it remains rules-only (
CLAUDE.md).
Claude Code and Codex share a "Claude-style" output dialect
(hookSpecificOutput.additionalContext;decision: "block"+reasonon
stop), selected viapalace hook <event> --client <cursor|claude|codex>. The
palace::hooksmodule exposes the pure, client-aware response builders. - Cursor —
-
Cross-agent recall —
palace_diary_searchacceptsall_agentsand
project_pathto surface investigations recorded by any agent, and
palace_session_contextfalls back to another agent's recent project work when
the caller has none, so a different agent the next day still benefits from
prior work.
Changed
- Write-path dedup —
palace_diary_write(scoped per agent) and
palace_remembernow skip near-duplicate content, preventing diary/fact bloat
from repeated similar writes. Durable decisions still belong in the
deduplicated knowledge graph.
Fixed
- Resilient model download — the embedding model fetch now retries with
exponential backoff, so transient HuggingFace failures (notably HTTP 429 rate
limiting) no longer fail the first embedding call or CI. CI also caches the
downloaded model (~/.cache/huggingface) across runs to avoid repeated
downloads.