1. [correctness] `apps/zig/static/app.js:24–25`: Every response replaces the entire list, including any open editor. With a request pending, double-click another todo and start editing; when the earlier response arrives, the editor disappears and its unsaved text is lost. Preserve pending edits when applying responses.
2
3
2. [spec] `apps/zig/src/app.zig:172` and `:185`: Adding and editing trim only ASCII whitespace. Unicode whitespace such as U+00A0 or U+2003 remains, so whitespace-only titles create items, and editing an item to whitespace does not delete it. Both handlers need Unicode whitespace trimming.