/** * A checked-in record of every store's migrations, in order, with a checksum * for each `sql` migration. A database records a migration by name once and * never runs it again, so editing, renaming, reordering or deleting one never * reaches databases that already applied it. Comparing this file against the * base branch makes that a CI failure instead of silent drift. */ import type { Store } from "../db/store-registry.js"; import type { GuardFinding } from "./types.js"; export declare const STORE_MIGRATIONS_LOCK_FILE = "src/db/store-migrations.lock.json"; export type StoreMigrationsLock = Record>; export declare function buildStoreMigrationsLock(stores: readonly Store[]): StoreMigrationsLock; export declare function renderStoreMigrationsLock(lock: StoreMigrationsLock): string; /** Findings for every way `head` stops being an append-only extension of `base`. */ export declare function compareStoreMigrationsLocks(base: StoreMigrationsLock, head: StoreMigrationsLock): GuardFinding[];