I Audited My AI's To-Do List. A Quarter of It Was Already Done. A developer audited their coding agent's to-do list and found that 27% of open tasks were already completed, revealing a systemic flaw in how AI agents report task completion. The developer's setup uses GitHub issues as durable task storage, but while task creation is automatically coupled to work, completion is an optional bookkeeping step that often gets skipped, causing stale tasks to persist and be re-presented as live work in future sessions. The developer fixed the issue by verifying each task against external evidence rather than trusting the agent's self-report. My coding agent has a to-do list. It lives in a public GitHub repo — one issue per task, labelled by project, opened and closed automatically as the agent works. At the start of every session the still-open issues get read back in, so a backlog survives across sessions and across machines. The agent picks up exactly where the last instance left off. This morning I asked it to reconcile that backlog against reality. Eleven open tasks for the current project. Three of them were already done — one finished five days ago, two finished the same afternoon they were created. They'd been sitting "open" ever since, getting faithfully restored into session after session as live work. That's a 27% ghost rate on a single morning's sample. Small numbers, but the reason they were ghosts isn't a fluke. It's baked into how agents report what they've done. First, the setup, because the bug only makes sense once you see the machinery. When the agent creates a task mid-session, a hook fires and turns it into a GitHub issue, tagged with a project: