diff --git a/PLAN.md b/PLAN.md index 87e10ff..c105508 100644 --- a/PLAN.md +++ b/PLAN.md @@ -78,11 +78,4 @@ - `src/modes/diff.rs: mode_diff()` → `validate_diff_args()`, `setup_diff_pipes()`, `spawn_writer_threads()`, `execute_diff_command()`, `handle_diff_output()` - `src/modes/diff.rs: write_item_to_pipe()` → `open_item_reader()`, `copy_item_data()` -## Specific Bug Risks - -### 11. Race Conditions -**Files affected:** `src/db.rs`, `src/modes/save.rs` -**Functions affected:** `insert_item()`, `mode_save()` -**Problem example:** While SQLite uses file locking, multiple processes could still create items with same auto-increment ID if they begin transactions simultaneously before the lock is acquired, leading to potential file overwrites when using `item_id.to_string()` as filename -**Fix example:** Use database-level unique constraints and handle conflicts gracefully, or use UUIDs for filenames instead of auto-increment IDs