daimon

daimon

@daimon-ai.bsky.social

Local-first memory for coding agents that shows its receipts. Verbatim vs inferred, every item. Apache-2.0. github.com/Daily-Nerd/daimon

43 followers118 following63 posts

307 checks of Claude Code handoff notes against GitHub, Aug 2 to Oct 8, and 49 were already wrong. About 1 in 6. Typical case: the note says a PR is awaiting review, it got merged between sessions. A stale note sounds exactly as sure of itself as a fresh one.

That's my August question answered with data, for PRs and issues anyway. Limits: counted per check, so one stale note carried across sessions counts each time. 528 more checks were skipped and aren't in the 307. One machine, my projects. #AIAgents

Most agent memory work is about recall: finding the old context. The harder problem is currency: knowing whether what you found is still true. A stale decision read back with full confidence is worse than no memory, because it looks exactly like a fresh one. #AIAgents #OpenSource

View full thread

Curious how other people handle the is-this-still-true problem: contradiction detection, TTLs, explicit supersession, something else?

Most agent memory work is about recall: finding the old context. The harder problem is currency: knowing whether what you found is still true. A stale decision read back with full confidence is worse than no memory, because it looks exactly like a fresh one. #AIAgents #OpenSource

View full thread

inferred: the model's own conclusion. Allowed to evolve, expected to be checked before you build on it. Corroboration is a separate axis: how many independent sessions witnessed the same claim. It never promotes the trust class, and daimon's own output is excluded. An echo is not a witness.

forget is a real delete, not a status flag. Every file shape the tool writes is declared with its deletion strategy, and the shapes deletion cannot reach yet are declared as gaps, each naming an open issue. Visible holes beat implied coverage.

Most agent memory work is about recall: finding the old context. The harder problem is currency: knowing whether what you found is still true. A stale decision read back with full confidence is worse than no memory, because it looks exactly like a fresh one. #AIAgents #OpenSource

So daimon stamps every carried claim with how it was obtained, not just what it says. verbatim: an exact quote, checked against the transcript by a plain string verifier at write time. No LLM. A quote that fails to verify is downgraded on the spot, so a hallucinated one cannot wear the badge.

Five sessions remember the same fact. More trustworthy? Only if they saw it independently. Our system was quoting itself into new sessions, and echoes are not witnesses. Corroboration without that trap: https://daily-nerd.github.io/daimon/blog/origin-bound-corroboration #AIAgents #OpenSource

Tu agente te cuenta qué decidiste la vez pasada. Una parte es cita textual. Otra es un resumen del modelo. Otra es una conclusión de las 2am. Las tres llegan con el mismo tono. Ese es el problema real de la memoria de agentes. https://daily-nerd.github.io/daimon/es/blog/verbatim-vs-inferred/

View full thread

Por eso en 0.20 las afirmaciones de resultado necesitan un testigo, no una cita. Mergeado, deployado, tests en verde: o citás un resultado de herramienta real de esa sesión, o el ítem baja a inferido. Un resultado sin testigo es un reporte, no un hecho.

Lo que esto no arregla: la procedencia no es actualidad. Una cita completamente atestiguada queda vieja apenas alguien mergea el PR que describe. Por eso cada briefing abre con VERIFY BEFORE TRUSTING y no con un resumen. uv tool install 'daimon-briefing[pretty]'

Tu agente te cuenta qué decidiste la vez pasada. Una parte es cita textual. Otra es un resumen del modelo. Otra es una conclusión de las 2am. Las tres llegan con el mismo tono. Ese es el problema real de la memoria de agentes. https://daily-nerd.github.io/daimon/es/blog/verbatim-vs-inferred/

View full thread

El modelo no vota su propia etiqueta. Cada cita candidata se compara contra el transcript con un verificador determinista. Strings puros, sin LLM. Si no coincide, el ítem se conserva y baja a inferido. Sobrevive la afirmación, no la certificación.

Lo que tuvimos mal durante meses: verbatim certifica transcripción, no verdad. Un agente escribió "serialización exitosa" en su memoria. No lo había sido. El modelo lo dijo, el transcript lo registró exacto, el verificador coincidió. Sello correcto, memoria falsa.

Tu agente te cuenta qué decidiste la vez pasada. Una parte es cita textual. Otra es un resumen del modelo. Otra es una conclusión de las 2am. Las tres llegan con el mismo tono. Ese es el problema real de la memoria de agentes. https://daily-nerd.github.io/daimon/es/blog/verbatim-vs-inferred/

daimon etiqueta cada ítem que arrastra con su origen. [✓ verbatim] es cita exacta del transcript, verificada carácter por carácter. [~ inferred] es una conclusión del modelo. Un verbatim puede quedar viejo. No puede estar mal recordado. Un inferido puede ser las dos cosas.

Your agent tells you what you decided last time. Some is an exact quote. Some is the model's summary of it. Some is a 2am conclusion. All three arrive in the same confident tone. That is the real problem with agent memory. https://daily-nerd.github.io/daimon/blog/verbatim-vs-inferred/

View full thread

So in 0.20, claims that assert a finished outcome need a witness, not a quote. Merged, deployed, tests green: cite a real tool result or exit status from that session, or the item drops to inferred. An unwitnessed outcome is a report, not a fact.

What none of it fixes: provenance is not currency. A fully attested quote goes stale the second someone merges the PR it describes. That is why briefings open with VERIFY BEFORE TRUSTING instead of a summary. uv tool install 'daimon-briefing[pretty]'

Your agent tells you what you decided last time. Some is an exact quote. Some is the model's summary of it. Some is a 2am conclusion. All three arrive in the same confident tone. That is the real problem with agent memory. https://daily-nerd.github.io/daimon/blog/verbatim-vs-inferred/

View full thread

The model never gets a vote on its own tag. Every candidate quote is matched against the transcript by a deterministic checker. Pure string operations, no LLM. No match means the item is kept and downgraded to inferred. The claim survives. The certification does not.

The part we had wrong for months: verbatim certifies transcription, not truth. An agent once wrote "serialization succeeded" into its own memory. It had not. The model did say it, the transcript recorded it exactly, the checker matched it. Correct stamp, false memory.

Your agent tells you what you decided last time. Some is an exact quote. Some is the model's summary of it. Some is a 2am conclusion. All three arrive in the same confident tone. That is the real problem with agent memory. https://daily-nerd.github.io/daimon/blog/verbatim-vs-inferred/

So daimon tags every carried item with where it came from. [✓ verbatim] is an exact transcript quote, checked character for character. [~ inferred] is a conclusion the model drew. A verbatim item can go stale. It cannot be misremembered. An inferred one can be both.

daimon 0.19.0 ya está fuera, tres días después de la 0.18. Lo principal: sitio de documentación completo en español e inglés, y un servidor MCP para que cualquier host compatible lea la memoria de tu agente. #IA #OpenSource #DevsHispanos

View full thread

También en 0.19: daimon forget, borrado con una lápida verificable, y una caché de fragmentos que evita que un serialize fallido vuelva a pagar trabajo ya hecho.

daimon 0.19.0 ya está fuera, tres días después de la 0.18. Lo principal: sitio de documentación completo en español e inglés, y un servidor MCP para que cualquier host compatible lea la memoria de tu agente. #IA #OpenSource #DevsHispanos

La documentación cubre lo que hace distinto a daimon: clases de confianza (cita exacta vs conclusión del modelo), carry con avisos de obsolescencia, recibos firmados y borrado demostrable. Cada página en ambos idiomas desde el primer día.

El servidor MCP es de solo lectura por diseño: cuatro herramientas, recall con procedencia completa, briefings que nunca filtran contenido de otro proyecto. Biblioteca estándar pura, cero dependencias nuevas.

daimon 0.19.0 is out, three days after 0.18. The headline: a full docs site, in English and Spanish, and an MCP server so any MCP-capable host can read your agent's memory. #BuildInPublic #AIAgents #OpenSource

View full thread

Also in 0.19: daimon forget, deletion with a tombstone you can verify, and a chunk cache that stops failed serializes from re-buying work they already paid for.

daimon 0.19.0 is out, three days after 0.18. The headline: a full docs site, in English and Spanish, and an MCP server so any MCP-capable host can read your agent's memory. #BuildInPublic #AIAgents #OpenSource

The docs cover the parts that make daimon different: trust classes (exact quote vs model conclusion), carry with staleness warnings, signed receipts, provable deletion. Every page in both languages from day one.

The MCP server is read-only by design: four tools, recall with full provenance, briefings that never leak another project's content. Pure standard library, zero new dependencies, same as everything else.

One false line in session memory sent our agent confidently building on state that didn't exist. The line said "serialization succeeded". It hadn't. Tracing that single lie surfaced eight real bugs, from a cache replaying a bad response forever to a deadline three calls had to share.

The lesson that stuck: agent memory doesn't fail loudly, it fails fluently. Which is why every daimon briefing item carries a trust class and quotes get re-checked mechanically against the transcript. The quiet failure case is the one you can't catch by reading the output.

Tu agente de IA olvida todo entre sesiones. La mayoría de las herramientas de memoria lo "arreglan" con texto que un modelo escribió sobre lo que pasó — sin forma de saber qué es cita y qué es conjetura. daimon toma el otro camino: memoria que puedes verificar. #IA #OpenSource #DevsHispanos

View full thread

Terminas una sesión → checkpoint firmado. Inicias la siguiente → un briefing: en qué estabas, qué se decidió, qué sigue abierto. Local, offline, solo stdlib de Python. Apache-2.0. Y docs en español de primera, no traducción de relleno.

Tu agente de IA olvida todo entre sesiones. La mayoría de las herramientas de memoria lo "arreglan" con texto que un modelo escribió sobre lo que pasó — sin forma de saber qué es cita y qué es conjetura. daimon toma el otro camino: memoria que puedes verificar. #IA #OpenSource #DevsHispanos

Cada ítem recordado lleva clase de confianza. ✓ verbatim = cita exacta, verificada mecánicamente contra el transcript por un verificador determinista — ningún LLM calificando su propia tarea. ~ inferido = una conclusión, puede evolucionar, se señala para verificar.

Your AI coding agent forgets everything between sessions. Most memory tools fix that with text a model wrote about what happened — with no way to tell which parts are quotes and which are guesses. daimon takes the other road: memory you can verify. #AIAgents #OpenSource #BuildInPublic

View full thread

End a session → a signed checkpoint. Start the next → a briefing: what you were doing, what was decided, what's still open — ordered by what to verify first. Local, offline, Python stdlib only. Apache-2.0.

Your AI coding agent forgets everything between sessions. Most memory tools fix that with text a model wrote about what happened — with no way to tell which parts are quotes and which are guesses. daimon takes the other road: memory you can verify. #AIAgents #OpenSource #BuildInPublic

Every remembered item carries a trust class. ✓ verbatim = an exact quote, mechanically checked against the transcript by a deterministic verifier — no LLM grading its own homework. ~ inferred = a conclusion, allowed to evolve, flagged for verification.

You are up to date.