drift is the sixth wing of fable and the deepest cut yet at "a game born on a different planet." The earlier wings vary topology, law, physics. drift swaps the substrate itself for meaning: the board is a k-nearest-neighbour graph over 7,000 word embeddings (MiniLM, the same model family the rest of this repo uses for its embedding work). Cells are words. Adjacency is semantic proximity. The 2D map you play on is the embedding flattened by PCA — geography that no one drew.
What carries over unchanged from the other wings is the rule that made them rigorous: every puzzle ships with a verifiable answer.
The embedding graph is built offline (scripts/build-drift-graph.mjs: vocabulary → MiniLM →
kNN → PCA) and committed to the repo, exactly like the Rust-verified flux catalog and the cult basis before
it. Frozen data is what makes /drift/?n=42 a permalink — the same puzzle on every machine, for
ever — and it keeps the site static: no model in the browser, no backend, just a 1MB graph.
This substrate has more games in it than two: analogy walks (king − man + woman, verified by nearest neighbour), semantic taboo paths (cross the gulf while avoiding a forbidden region of the map), embedding charades. And the morph thesis says the move after that: fold the semantic substrate INTO morph's genome, so "new game" can land you on a board made of meaning as easily as on a Klein bottle.