Steps to reproduce
Call add_todo with project: "faros" alongside a description for the AI guardrails work. The API response reports success (see todo id dd241fed-f799-48c5-8512-75d2a22fe713).
Call update_todo on the returned id with a notes metadata payload describing the action plan; the service again reports success.
Fetch the todo via get_todo.
Expected behavior
The todo remains associated with project: "faros".
The metadata contains the notes payload we just wrote.
Actual behavior
get_todo shows project: "doh" despite never passing that value.
metadata is {}, so the notes we attempted to persist are lost.
Impact
Todos cannot be organized under the intended project and we lose action-plan context, which blocks planning. This appears to affect all four new todos we just created.