Read loop/plan.md and work through the tasks in order. For each task: 1. Mark it as in-progress by updating plan.md 2. Complete the work 3. Mark it as done (`- [x]`) in plan.md 4. Add any relevant notes to the Notes section 5. Move to the next unchecked task Follow CLAUDE.md conventions. Run `pnpm test`, `pnpm lint`, and `pnpm typecheck` after changes to verify nothing is broken. If a task is blocked, document why in the Notes section and move on.