docs: archive M11 completion (drag-out) to COMPLETED; reconcile CLAUDE.md

Native OS drag-out landed (copy-only, prune stays sole deleter).
Milestone 11 complete; M9 slots is the last M-numbered milestone.
This commit is contained in:
2026-07-26 20:11:51 -04:00
parent 1b9e65d583
commit ec05af35ef
3 changed files with 29 additions and 13 deletions
+24 -1
View File
@@ -1196,7 +1196,30 @@ invariants.
mute-after-capture workflow; a mute action would be redundant with the dual-canvas
architecture. Mirror of the null-test cut precedent ("Cut (fixed by Daniel)").
**Remaining in M11:** Native OS drag-out (not built in wave 1 — still in PLAN.md).
## Milestone 11 — polish (wave 2 / completion)
**Goal:** Native OS drag-out — the final M11 polish item. CONTEXT.md Build order 11,
§Non-goals (drag-out deferred to last).
**Verify (gates 24/24 both configs):** Drag-out places a valid file in the OS target
without regressing the precision invariants; copy-only semantics throughout (no source
deletion on drop); internal move/copy drag unchanged.
- [x] **`drag_out` pure module** (gesture-boundary decision): internal drag becomes
OS-bound when the pointer leaves the panel client rect; path-list assembly with
dedupe and missing-file skip. No REAPER types at the boundary. New CTest target
`drag_out_tests`.
- [x] **`drag_out_win` shell** (Windows): OLE `DoDragDrop` / `CF_HDROP`. Copy-only
structurally — `DROPEFFECT_MOVE` is not offered and no source-deletion path exists;
prune remains the sole file-deleter. macOS/Linux via `SWELL_InitiateDragDropOfFileList`
with a documented copy-semantics caveat (SWELL does not expose a drop-effect query).
- [x] `bank_panel` additive hook only — internal move/copy drag unchanged.
**Notes/decisions:**
- Copy-only is structural, not a policy flag: `DROPEFFECT_MOVE` is never offered on
Windows, so the OS never signals a move. The SWELL path cannot query drop-effect;
copy semantics are documented as a known caveat for macOS/Linux.
- Prune remains the sole authority for deleting files off disk; drag-out does not
remove the source file or any bank index entry.
- This wave completes **Milestone 11** in full.
## Phase R forks — settled 2026-07-24
- **Fork R-C — deletion mechanism.** Settled: **trash-preferred, unlink fallback.**