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:
@@ -687,6 +687,24 @@ struct AgentGuideContentTests {
|
||||
#expect(content.contains("the trash is the recoverable path for both"))
|
||||
}
|
||||
|
||||
/// **v8: the arrival rank is retired** (08-agent-integration.md's own line, re-ruled 2026-07-31:
|
||||
/// "move the card **or lane** folder into `<root>/.trash/` and restamp `modified` (the trash
|
||||
/// sorts newest-first by that stamp … no rank to mint)"). The guide has to teach the *stamp* as
|
||||
/// the position and to leave `order` alone — and, just as load-bearing, it must no longer teach
|
||||
/// the rank formula: an agent still computing "smallest `order` minus 1024" would be writing a
|
||||
/// key the app now deliberately preserves for the restore.
|
||||
@Test("v8 teaches the stamp as the trash's order, and the rank formula is gone")
|
||||
func v8TrashOrderingVocabularyIsPresent() {
|
||||
let content = AgentGuide.content
|
||||
#expect(content.contains("sorts by `modified`, newest first**"))
|
||||
#expect(content.contains("the stamp is also the position"))
|
||||
#expect(content.contains("there is no rank to mint"))
|
||||
#expect(content.contains("leave `order` exactly as it is"))
|
||||
// The retired formula, in the two spellings the v7 literal used.
|
||||
#expect(!content.contains("smallest `order` already in `.trash/`"))
|
||||
#expect(!content.contains("Arrivals go on top"))
|
||||
}
|
||||
|
||||
/// The pathfinder's guide taught `media/` and tombstone deletes; both are retired
|
||||
/// (01-storage-format.md ▸ Changes from the pathfinder schema; ▸ Deletion). The one legitimate
|
||||
/// mention of `deleted:` is the warning never to write it.
|
||||
|
||||
Reference in New Issue
Block a user