internal/testutil/db.go applies an inline schema copy instead of calling the real migration runner from internal/db. Schema will drift as migrations are added.
Fix: Export the migration function from internal/db if needed, then call it from testutil.NewStateDB so tests always run against the exact production schema.
This is a prerequisite for the reconciler tests (issue #23) to work correctly.