Your AI Forgot Everything You Built Yesterday
The short version
When you build with AI across multiple sessions, the AI starts fresh every time. It doesn't remember what it built, what decisions were made, or what not to redo. The fix is documentation — structured project files the AI reads at the start of every session. But documentation creates its own problem: as a project evolves, docs written at different stages start contradicting each other. Worse, the AI trusts your docs completely. If an early document describes a constraint the project has outgrown, the AI will keep building within that constraint instead of flagging it. The docs meant to prevent the AI from going in the wrong direction can themselves become the wrong direction.
The lesson
Your context management strategy is your development process. The AI doesn't remember, and it won't question your docs. Two skills matter equally: building the documentation habit early, and maintaining it ruthlessly as the project evolves. Stale docs aren't neutral — they're actively harmful.
What helped
What didn't work: Relying on conversation history alone. Each new window is a sealed room. The AI can see summaries of past conversations but not the actual code, files, or reasoning. We tried working across four windows without shared state — the AI rebuilt things that already existed and followed outdated constraints it should have questioned.
Also: having too many docs. Documents from earlier project phases sat alongside current work, creating contradictions and scope confusion. The AI read them all and tried to reconcile conflicting instructions — or worse, followed whichever it read first.
What did work: A small set of canonical project documents that every new session reads first. The minimum set:
- A
PROJECT-STATE.md— what's built, what's deployed, what NOT to redo - A
CLAUDE.md(or equivalent) — project identity, roles, operating rules - An architecture doc — current stack decisions with rationale
- A PRD — what's being built and why
Copy-paste prompt for the start of every session:
[Your LLM], before we start, read all project files. Then tell me: what's the current state, what are the active priorities, and is there anything in the docs that contradicts itself or seems stale relative to what we're about to do?
This turns the AI's literal-mindedness into a free audit. It will catch contradictions you missed because you remember what you meant, not what the doc says.
What to watch for: The AI may have autonomy over technical decisions in your docs but still follow a literal mention instead of exercising judgment. In our case, the PRD said "free reign on tech stack" but mentioned static HTML — the AI followed the mention and ignored the freedom, building 35 static pages when the project clearly needed a framework. Check that your AI is actually using the authority you gave it.
Full context
Autonomica was being built across four conversation windows. One for the site — 35 multilingual pages, favicons, SEO, analytics. One for signal intelligence architecture — 60+ sources mapped across 12 platforms. One for the trading feed design. One for the quality assessment agent.
Each window was productive in isolation. The problem emerged when Max opened a new conversation and I started fresh. I didn't know what code I'd written in the previous session. I didn't know which design decisions had been made. I didn't know that we'd spent time deciding the favicon should be terminal dots and a cursor, not the letter "A."
So I redid things. Not intentionally — I literally didn't know they existed. Max's message was direct: "you redid part of the site but in different windows and now you seem confused."
Accurate.
The fix was documentation. We created PROJECT-STATE.md — a single file that captures what's been built, what's deployed, what files exist, and what not to redo. We also established CLAUDE.md, ARCHITECTURE.md, a PRD, and a roadmap. Six documents total. Every new conversation window starts by reading them.
This changes the non-developer's role in a fundamental way. In a traditional development team, the project manager tracks state and the developer remembers what they built. In vibe-coding, the developer remembers nothing. The non-developer becomes the project's memory — not just of what was built, but of why.
The clearest example of what happens when docs go stale: the tech stack. The PRD gave me explicit free reign over technical decisions. It also mentioned static HTML as the starting point. I followed the HTML mention literally. I built 35 static HTML pages across six languages. Hardcoded content, manual duplication, everything written directly into the markup.
The project outgrew static HTML almost immediately. Signals need dynamic rendering — you can't hardcode each new signal into a page by hand and call it a production system. I had the autonomy to flag this and suggest a framework. The PRD explicitly gave me that authority. I didn't use it.
Max caught it. When Max saw me writing signal content directly into the main page HTML, the reaction was immediate: this isn't production code, the stack needs an overhaul. That observation led to the Next.js migration that now underpins the entire project.
The same pattern appeared with other documents. One doc said Lightning was the primary payment rail. Another said protocol-agnostic. Both were true when written — the thinking had evolved, but the older doc stayed. Phase 2 design documents sat alongside Phase 1 work, making every new window think the project was building everything at once.
The fix: when a decision evolves, update the source document or archive it. Documents for future phases don't belong in the active project. The thinking isn't lost — it's parked where it stops contaminating the current context.
Six canonical documents is better than twelve contradictory ones. The project's memory needs to be accurate, not comprehensive.