19ff8e66f3
The migration, its commit marker, and the rollback around it are all still live in data.ts, but the suite covering them went out with the vm/regex harness and was never ported — leaving only the happy-path commit ordering asserted incidentally by bot-delete. Nine cases: the sole-local topology gate (and the two refusals — multi-source, and a batch where any one profile has no local route), the marker rule that makes v2 authoritative (committed, markerless, crash-window), and the three failed-commit paths (roll back to the last committed generation, clear both keys when there is none, survive a failed cleanup). migratedLocalRoutes is module-private, so where the old suite asserted the map's size this one asserts what the map is for: no route adopted, nothing written. Mutation-checked — dropping the marker rule fails three of them.