Realign code with the 2026-07-31 rulings
The trash sorts by modified descending — the arrival rank mint retires (Ranks.isOrderedForTrash one comparator, loader + merged order agree; the legacy deleted: migration stamps modified from the tombstone timestamp where parseable; delete undo steps validate existence-only; agent guide v8). Trash selection goes kind-blind — ranges, marquee, Select All, and the successor walk sweep both kinds; the guard moves to the exits (mixed-payload drop refusal, copy/cut validation). The copy stamping preflight widens back to comment depth (load-scoped posture — the board always loads, the gesture refuses whole). Fixes a latent no-op: trashed-lane drag restore never fired (DragSession.beginLanes hard-coded the board container). 2403 tests in 413 suites green. Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
This commit is contained in:
@@ -498,13 +498,10 @@ enum UITestLaunch {
|
||||
|
||||
// The delete goes last so the trashed card's identity is one the lanes above have already
|
||||
// finished with — and through the ordinary delete door, so `.trash/` ends up holding exactly
|
||||
// what a user's ⌘⌫ would have put there, stamps and `order` included.
|
||||
// what a user's ⌘⌫ would have put there: the `modified` stamp that positions it, its `order`
|
||||
// riding along untouched.
|
||||
let doomed = cardURLs[trashedCardIndex.lane][trashedCardIndex.card]
|
||||
try BoardWriter.deleteCardToTrash(
|
||||
at: doomed,
|
||||
inBoard: root,
|
||||
order: Ranks.append(toVisible: [] as [Double])
|
||||
)
|
||||
try BoardWriter.deleteCardToTrash(at: doomed, inBoard: root)
|
||||
|
||||
return root
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user