diff --git a/TODO.md b/TODO.md index 9b6d970..a452fe0 100644 --- a/TODO.md +++ b/TODO.md @@ -6,11 +6,14 @@ - save and reopen reviews using local files that coding agents can read; no server or client/server protocol. - anchor comments to immutable revision IDs, paths, sides, and source line ranges, never screen coordinates or mutable file indices. - preserve original anchors and mark comments stale when the reviewed snapshot no longer matches; defer automatic reanchoring. -- [ ] persist local reviews automatically. - - default to $XDG_DATA_HOME/vamp/reviews/, falling back to ~/.local/share/vamp/reviews/; allow a configurable review_directory. - - key files by repository identity and review ID, preserving reviews and stale comments across revision changes. - - autosave committed comment edits, summaries, verdicts, and deletions; retain explicit save-as for sharing with agents. - - surface write failures without discarding drafts. +- [ ] persist local reviews automatically in a local SQLite database using rusqlite; no server, hosted storage, or synchronization. + - keep one database under $XDG_DATA_HOME/vamp/reviews/, falling back to ~/.local/share/vamp/reviews/; allow a configurable review_directory. + - key reviews by repository identity and persistent review ID, preserving reviews and stale comments across revision changes. + - autosave committed comment edits and summaries when dismissing or switching review editors; save verdicts and deletions immediately, using transactions rather than per-keystroke writes. + - automatically reopen the repository's sole review; offer a selector when several exist. + - retain explicit JSON export/import for sharing with coding agents; export must not redirect subsequent autosaves away from the database. + - version the database schema and migrate it safely; use review-version checks to reject conflicting edits from multiple editor instances. + - surface write failures and conflicts without discarding drafts or marking unsuccessful saves as persisted. - [ ] diff view: GitHub code review integration after the local review UX is usable. - publish local reviews explicitly: general PR comments, inline line/range comments, review summaries, approval, and requests for changes. - preserve explicit PR identity and reviewed commit IDs; validate anchors against GitHub's PR diff and recheck the PR head before submission.