Week 9 · Build the Clone

Planning & Memory

Think before you act, never lose your place

⏱ ~8 hours, hands-on🐍 Python / 🔷 TypeScript🛠 You ship: An agent that plans, executes, and remembers across days
What this week is

Give a capable model a vague task — "add user authentication" — and watch it either overreach (twelve files, eight hundred lines, nothing works end to end) or under-finish (it declares victory when the code "looks done"). Both come from the same gap: no externalized plan and no honest definition of done.

The first half of the week is about restraint: a read-only plan mode, a todo list with one task in progress, feature lists the harness verifies, and a maker/checker loop where the worker never grades its own homework.

The second half is about memory. Real work spans days, and the agent needs three kinds, each with its own lifetime: the session you can resume tomorrow, durable facts about you that follow it across projects, and a handoff that says where the work stands in this repo.

All of it uses the same trick you have used since Week 6: the conversation is just data, so plans and memory are just files. No database, no service — inspectable, portable, and crash-proof.

The walkthrough

Each part adds one capability to the same growing codebase, and each is a runnable checkpoint.

  1. 01The todo listOne task in progress, always — externalized so it cannot drift.
  2. 02Plan modeRead-only exploration that proposes but cannot touch your code until you approve.
  3. 03Feature lists & loop engineeringThe harness, not the model, owns what "done" means, and decides when to keep going and when to stop.
  4. 04Maker/checkerThe worker never grades its own homework.
  5. 05Sessions & resumeA durable transcript, one line per message, saved live — picked back up days later with full fidelity.
  6. 06User memoryDurable facts about you, scoped across projects.
  7. 07The handoffA PROGRESS.md that lets a fresh session continue without a re-brief.

After this week you can

  • Separate planning from execution with an approval gate
  • Define "done" in the harness rather than trusting the model
  • Make sessions durable and memory scoped to the right lifetime