Expand description
One-shot SQLite → file-registry migration. Runs at most once per
<root>/.migrated_from_sqlite marker; idempotent and read-only on
every SQLite it touches. See SPEC §8.
Structs§
- Migrate
Stats - Outcome stats — surfaced in the marker file + the srv log.
- RowSnapshot 🔒
Constants§
- MARKER 🔒
- Marker filename. Lives in the registry root so the registry’s existence implies the migration question has been asked at least once.
Functions§
- empty_
to_ 🔒none - is_
missing_ 🔒column_ or_ table - True iff the error is SQLite reporting “this column/table doesn’t exist in this DB’s schema.” Distinguishes a pre-v8 DB (skip silently — those agents weren’t named, so wouldn’t appear in the dropdown anyway) from corruption (caller logs + continues + defers the marker).
- migrate_
from_ sqlite_ once - Scan every per-version
data/db/objects.dband populate the shared registry. Skipped if the marker file exists. Never overwrites an existing registry record (idempotency + respect for newer-written data). The SQLite files are opened read-only — never modified. - read_
named_ 🔒rows - row_
to_ 🔒record - write_
marker 🔒