diff --git a/TASKS.md b/TASKS.md index abe4b77..c32da64 100644 --- a/TASKS.md +++ b/TASKS.md @@ -8,7 +8,7 @@ Progress truth. Top to bottom, one at a time. A task is ticked only after its co ## 3. Settings model and storage -- [ ] T02 `Settings` with defaults and ranges; load (missing file, missing field, bad file, bad value) and atomic save; tests. +- [x] T02 `Settings` with defaults and ranges; load (missing file, missing field, bad file, bad value) and atomic save; tests. ## 4. Themes diff --git a/tasks/reviews.md b/tasks/reviews.md index c9580b8..68e6c08 100644 --- a/tasks/reviews.md +++ b/tasks/reviews.md @@ -6,3 +6,8 @@ Each task gets at most three codex rounds. Each round: the commit, the verdict, - Round 1, 4e2f3c9: FAIL. Linux had no X11 or Wayland backend and would start headless; macOS CI linked no binary; `Cargo.lock` passed the 500-line rule unstated. Fixed in 9c0c067 and f8857fe: `wayland` and `x11` on, Linux starts with `WAYLAND | X11` and no headless; `cargo build --locked` in macOS CI; the lockfile named as exempt. - Round 2, f8857fe: PASS. The Windows runner's missing `rustc` goes to T23. + +## T02 + +- Round 1, e1770ba: FAIL. One shared temp name let overlapping saves corrupt the file; parse errors lost the field name. Fixed in 83ec4b1: a temp per save (pid, counter, create_new), cleaned on failure; serde_path_to_error names the field; a four-writer test, red on the old save. +- Round 2, 83ec4b1: PASS.