Your AI coding agent forgets everything every session. You re-explain the same architecture, conventions & decisions on repeat.
Palace 🏛️ fixes that — persistent, searchable memory for your agents, recalled with provenance.
And it's live → https://t.co/vpI1J9thUY
palace v0.19.0 is out 🏛️
Local memory for AI agents, now at 0.987 Recall@5 on LongMemEval (s_cleaned, 470 questions, ~50 sessions per haystack).
📈 R@1 0.906 → 0.915
📈 R@5 0.985 → 0.987
📈 R@10 0.994 → 0.996
For 468 of 470 questions the right session is in the top 10. No LLM call to write or to search, and a 2 ms query p95 on CPU.
What’s new:
🕐 Search understands time. “What did I buy 10 days ago?”, “last Tuesday” and “in March” now favour memories from that window, counted back from when you ask.
🧩 Sources that match in several places rank higher. A conversation with three relevant chunks beats one with a single lucky hit.
🤏 New palaces start on int8 MiniLM. It’s a 23 MB download instead of 90 MB, indexes faster and has the same recall.
🎯 “Should I…?” is no longer read as a convention question. Advice questions stop pulling up drawers that just say “always” or “never”.
🔁 palace mine-convos --force re-mines old chats with the newer chunking.
Nothing was tuned on s_cleaned. The one weight picked on LongMemEval data was chosen on a different split and frozen before this run. The runner is in the repo, so you can reproduce it.
It’s one Rust binary plus a SQLite file and runs on your machine. It works with Claude Code, Codex, Cursor and Claude Desktop over MCP.
https://t.co/hH3mxPvU7S
#RustLang #AIAgents #LLM #MCP #OpenSource #ClaudeCode #RAG #LocalFirst
I kept missing permission prompts from my coding agents. Claude would sit there for 20 minutes waiting on a "yes" in a background window while I thought it was working.
So I built a tiny desk light that tells me what my agents are doing, at a glance.
Lilac: asleep, no sessions running
Blue: working, leave it alone
Amber: needs you, a permission prompt is waiting
Green: your turn, it finished its reply
It runs on a LilyGO T-Display S3 AMOLED (ESP32-S3) and gets its state from Claude Code hooks over your local network. Cursor and Codex sessions show up too, labelled by agent.
Open source, MIT. Flash it, set an IP, done.
https://t.co/36rHplF2nD
#ClaudeCode #AIagents #ESP32 #buildinpublic #opensource
It does animate so it's noticeable, plus the shift of shade.
Blinking produces more immediate cognitive distraction, which is not an accepted solution at this time. It's open source so this can change when there's demand.
It tracks all agents that have hooks for that IP in the same network.
@trymorewz Yes, it's a documented limitation: Cursor has no hook that fires while it waits on you, so Cursor sessions only show working and your turn. I've added my support for one on the Cursor forum: https://t.co/dKv8eILFyI
Wrote up how it works: the hooks for Claude Code, Codex and Cursor, the one-line installer, and how a $35 ESP32 survives 400 KB of JSON per tool call.
https://t.co/WuRXyIGmk9
@authority_joel Not yet! It's open source, so you can build one with a ~$30ish LilyGO board and the repo. But I'm thinking about selling ready-to-go ones: flashed, in a case, USB just for power, it talks to your agents over Wi-Fi. Would you buy one? Reply or like if you would.
We forgot how to review code the moment AI wrote the PR.
Read the problem. Read the test. Does the fix make sense?
A junior's hand-written PR gets your time. Why doesn't the AI-assisted one?
#CodeReview#AI#programming
How it’s measured: LongMemEval s_cleaned, 470 questions, ~50 sessions each. Retrieval only (is the right session in the top K?), chats stored the way Palace mines them, one chunk per exchange.
R@1 0.906 · R@5 0.985 · R@10 0.994
Honest caveats: R@5 on the s split is near its ceiling, and Mem0/Zep-style numbers are end-to-end QA accuracy, a different metric. Next up: the M split, ~10x bigger haystacks. Method and per-type results in the README.
Palace hits 0.985 Recall@5 on LongMemEval with zero LLM calls.
Local memory for AI agents: one Rust binary + SQLite, int8 MiniLM on CPU. Nothing tuned on the benchmark, and the runner is public.
https://t.co/w3oLVmFA64
#AIAgents#MCP#RustLang#ClaudeCode
@gmathis The agent writes them: a stop hook won’t let a session end until it’s saved what it tried and decided, and the next session gets those notes injected automatically, any account. Weak spot: a hard cut-off mid-turn loses whatever wasn’t saved yet.
I compared 12 memory setups for AI coding agents: CLAUDE.md, Cline memory bank, Mem0, Zep, Letta, claude-mem, Copilot Memory, palace-rs and more.
Most of them remember the final fix. Almost none remember the dead ends, or why the obvious fix was wrong.
Which one would have stopped your agent from "fixing" the same bug twice?
#AIagents #ClaudeCode #MCP
Palace doesn’t care which account you’re on: it’s a local SQLite file every agent on the machine reads over MCP, so a fresh session on another account sees the same memory and gets relevant notes injected on its first prompt.
Dead ends carry over when the agent writes them down: the stop hook makes it save what it learned before ending. If a session gets cut off mid-turn, anything since its last save is lost, so it’s worth asking the agent to note ruled-out fixes as it goes.