mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-16 13:23:29 -05:00
Replace the regex-based additive-migrations test with the semantic schema-snapshot guard (covers type/constraint changes, JS migrations, and table-recreate patterns), regenerate the snapshot to include messages_pending, and add a guard rule that synced tables must not have NOT NULL columns without a default — CRDT row creation inserts one column at a time, so such columns break sync (cleanup_groups.name is grandfathered). The guard's hardcoded lists are self-cleaning: stale entries are reported as violations. Also document the cross-version sync behavior in the migrations guide and make the migrations CI job use a blobless clone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>