The shape worth internalizing is that the schema is a statement of the present, not a history.
store/src/schema/navigator.surql is one file of DEFINE statements describing the tables that should exist, applied
whole on every boot. You change it by editing the file, not by appending a step to a chain — and because applying a file
converges definitions but cannot perform a data change, you bump SCHEMA_VERSION in the same commit so a database
prepared by a different build reports as drifted instead of silently disagreeing. The local engine is memory-backed, so
its rows reset when the pod restarts and the schema re-applies at boot. That is deliberate, not a rough edge.
Tests need no database at all. store::test_support::mem_surreal() starts an engine inside the test process with the
schema applied, so there is no container, no port, and nothing to reclaim afterwards. Reach for
store::surreal::record_id whenever you turn a Uuid into a record id — SurrealDB will accept a string that merely
looks like a UUID, and a link written that way resolves to nothing without ever raising an error.