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:
@@ -271,7 +271,7 @@ struct EchoLedgerWriterTests {
|
||||
let from = fixture.url("\(lane1)/\(card1)")
|
||||
|
||||
try EchoLedger.$current.withValue(ledger) {
|
||||
_ = try BoardWriter.deleteCardToTrash(at: from, inBoard: fixture.root, order: 1024)
|
||||
_ = try BoardWriter.deleteCardToTrash(at: from, inBoard: fixture.root)
|
||||
}
|
||||
|
||||
let to = fixture.url(".trash/\(card1)")
|
||||
@@ -594,13 +594,11 @@ struct EchoLedgerHealMarkTests {
|
||||
try EchoLedger.$current.withValue(ledger) {
|
||||
_ = try BoardWriter.migrateTombstonedCard(
|
||||
at: fixture.url("\(lane1)/\(Ident.card3)"),
|
||||
inBoard: fixture.root,
|
||||
order: 1024
|
||||
inBoard: fixture.root
|
||||
)
|
||||
_ = try BoardWriter.deleteCardToTrash(
|
||||
at: fixture.url("\(lane1)/\(card1)"),
|
||||
inBoard: fixture.root,
|
||||
order: 2048
|
||||
inBoard: fixture.root
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user