- Incremental now does smart early-stopping like music: skips already-known items and stops after 25 consecutive known (server lists recent first), instead of a blind fixed cap. Falls back to a full pass when the library is near-empty (<50), matching music's small-DB behavior. - Deep scan gains music's 50% safety threshold: if removal would wipe >50% of a >100-row library, it skips (assumes a partial server response, not a real emptying) — prevents catastrophic deletion. - Full Refresh already matched (re-read all, upsert, no removal). Added DB helpers (server_ids, table_count). Tests: early-stop skips known, small-lib fallback, 50% prune safety. 122 tests green. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| music_database.py | ||
| personalized_schema.py | ||
| video_database.py | ||
| video_schema.sql | ||