"Ten ways to move a file is ten ways to lose one. Waygate has exactly one."
The Sprawl You Have to Refuse
Picture the natural way an app grows. The toolbar's Move button calls moveItem. Drag-and-drop calls it too, slightly differently. Batch Rename has its own loop. The Selection Basket does its own copy. Each was written by a different person on a different day, and each is almost right. That sprawl is how file managers lose data: not through one dramatic bug, but through five subtly different mutation paths where only four handle the SMB-timeout case.
The One Door
Waygate refuses the sprawl. Every create-folder, create-file, rename, batch-rename, duplicate, copy, move, replace, Trash, and tag change becomes an OperationPlan and passes through a single FileOperationEngine. The engine alone may turn a plan into filesystem changes. Nothing else in the codebase calls a mutating FileManager method — not the toolbar, not drag/drop, not any of the six 1.x features.
What the One Door Buys
Because there's one door, the hard parts are written exactly once. Journaling: once. Apply-time revalidation: once. Cross-volume staging and verification: once. Crash recovery: once. Collision handling: once. When a bug is found in any of those, it's fixed in one place for every operation simultaneously. And crucially, there is no trusted bypass — no "this one's simple, we'll just call moveItem directly." The simple-looking shortcut is precisely where the unhandled failure hides.