Your AI agent has amnesia. Your logs are the cure.

Your AI agent has amnesia. Your logs are the cure.

# ai# webdev# programming# opensource
Your AI agent has amnesia. Your logs are the cure.Ohad Krispin

I'm going to show you what's hiding in your AI coding logs, and how I turned nine months of mine into...

I'm going to show you what's hiding in your AI coding logs, and how I turned nine months of mine into a file my agent reads before every task.

Every agent starts cold

Every Claude Code or Codex session you run gets written to disk. Full transcripts. Nobody ever opens them.

And every new session, the agent meets you for the first time again. You re-explain how you work, what you want, what you never want. Every single time.

Your logs already know you

I had nine months of those logs. 1,870 sessions, just sitting in a folder doing nothing.

At some point it clicked that they were the most honest record of how I actually work. More honest than my rules file, my docs, anything I wrote down on purpose.

Rules files are aspirational. Logs are behavioral.

Your CLAUDE.md is who you think you are on a good day.

Your logs are who you actually are. Every time you stopped the agent. Every "no, just fix the one thing." Every time you refused to accept "done" without proof. You never wrote those rules down. You enforced them, hundreds of times, without noticing.

What's actually in there

Raw logs are mostly noise: tool output, file dumps, pasted errors. Nine months of mine boiled down to about 3M tokens of just my own typed words.

That corpus knows things like:

  • what "done" means to you
  • what you reject on sight
  • when you demand proof instead of trusting the agent
  • how you actually talk when you're working
  • the behaviors that make you kill a task

The mine

So I built Ditto. Open source. It reads the local logs, keeps only your words, redacts secrets, splits your history into slices, and has agents read each slice for repeated patterns. A rule only survives if it shows up across multiple distinct sessions, and every rule keeps dated quotes as receipts.

Then it installs the result as a skill your agent loads before every task.

What changed

Same model. It just stopped guessing.

It quit suggesting the rewrites I always reject. It shows me proof before it says done, because my own history told it I never accept done without one.

Not a smarter agent. The same agent, finally briefed on who it's working for.

The red part

When the mine finishes it renders a card: your archetype, your top laws ranked by how many real sessions back them, and one line it calls the uncomfortable truth. The thing your history proves that you'd never say about yourself out loud.

Run it and read your own.

The card

  • your logs are the most honest record of how you work
  • rules files are aspirational, logs are behavioral
  • a rule only counts with receipts from multiple real sessions
  • everything stays on your machine
  • your agent reads it before every task

One command:

npx skills add ohad6k/ditto

GitHub logo ohad6k / ditto

Mine your Claude Code and Codex logs into a local you.md agent profile.

Ditto

Ditto

Your AI agents act like they just met you. Ditto fixes that.

stars discord MIT Python, zero dependencies works with claude, codex, cursor, copilot

Your real coding-agent sessions already contain the rules you never wrote down: what “done” means, what you reject on sight, how you debug, how you design UI, and how you write when you are actually working.

Ditto mines selected evidence from those sessions — Claude Code, Codex, Copilot CLI, and OpenCode logs out of the box — into a private working profile your agent reads before every task. Separate layers for work, design, and writing mean the right part of you loads for the right task.

Not memory

Memory is what you explicitly told the model.

Ditto mines what your work already proved about you: what you reject, what "done" means, when you ask for proof, how you talk when you're actually working, and the agent behaviors that make you stop the task.

That's why it reads…