Codex delta gate: same-named messages/sessions tables with foreign columns exited 0 with every index 'skipped', and a same-named incompatible index on the legacy gap was skipped past its validation. Now: validate every keyed column before creating anything; only sessions.last_activity_at may be absent (reported 'skipped'); a same-named index on that gap is 'Incompatible index'. Regressions for both shapes.