Setting up an LLM-maintained wiki takes an afternoon, and there are already a dozen guides showing you how. Running one for a month is a different story, and I haven't seen anyone write that one down.
The pattern is Andrej Karpathy's LLM wiki, published in April. Raw sources go in one folder and are never edited. An LLM writes and maintains a second folder of pages on top of them (summaries, people, organisations, projects), plus an index and a running log. A schema file holds the rules. Three operations: ingest a source, query it, and lint it for drift.
Before building this, I looked at a few existing frameworks: LifeOS,
OpenClaw and SecondBrain. All fairly abstract for what I wanted. A few lean
on files like soul.md, taking a simple concept and dressing
it up as something more than it is, which I'm not a fan of. They also do
a lot out of the box. I wanted to build from scratch instead, so I'd know
exactly what it does and how it works end to end. Call me old-fashioned.
Mine's been running for just over a month. It holds eighty-five pages over fifty raw sources, and it does real work: triaging my inbox, tracking renewals, planning meals, remembering birthdays. It's genuinely useful.
It also started drifting almost immediately, in ways I didn't predict, and every one of those failures taught me more than the setup did.
The pattern includes an append-only log, so I appended to it. Every operation got an entry describing what happened. The project pages, meanwhile, described what was currently true. Both were doing their job.
The problem is that they were doing the same job. Each event got written twice, at full length, in near-identical prose: once as history, once as state. In nineteen days the log reached 128KB, four times larger than anything else, and every operation cost twice the writing it needed to.
The fix looked simple: a single rule. The log records what happened and links out; pages record what's true now. Write each fact once, on the page that owns it. The test is simple: if a fact would need editing in two places when it changes, it's in the wrong shape.
But it had a hole in it, which took about an hour to find: "write it once on the page that owns it" fails silently when nothing owns it. Then "write it once" quietly becomes "write it nowhere."
Which is exactly what had been happening. I swept for names mentioned repeatedly with no page of their own and found eight: six people and two organisations.
They included someone from a significant professional conversation the day before, a former team member who credited me by name in a published research paper, and the consultancy where I spent six years. All of them had been narrated in log entries and filed nowhere. If I'd tidied the log first, like I'd planned to that morning, I'd have deleted the only record of them.
The capture side is easy and satisfying to build. The side that stops it drifting is neither, which is why almost nobody builds it.
One page carried a heading called "open questions". Under it sat twelve items, every one of which had been resolved, including one labelled, in bold, "live". The heading had been accurate when written and nobody had revisited it since.
This is the failure mode that worries me most, because it's invisible. A broken link announces itself. A heading that quietly stops being true doesn't, and anyone reading that page to find outstanding work would've been misled by it, including, eventually, me.
The fix is treating a heading as a claim, not just a label. It's the same discipline as everything else on this page. Now, whenever I touch a page, I check what's actually still true under each heading, not just whether the content underneath it reads well.
Decide where each fact lives before you write anything into it. Almost every problem above traces back to the same root: no rule about what belongs on a page versus in the log, so everything went in both, and anything without an obvious home went in neither.
And put it in git on day one. Not for collaboration. For the ability to rewrite aggressively later without ever risking the loss of something you didn't realise was only recorded in one place.