Fix sync reliability and local workflows for #44–#50 #51
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/issues-44-50"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sync now retries transient database contention at recoverable operation boundaries and uses one pure plan for dry-run reporting and execution. Each playlist's memberships and unique resolution decisions commit together, while failures in independent stores still prevent global pruning.
Validation: 149 tests pass, including the real playlistmanager integration suite;
uv run python -m compileall -q beetsplug tests,git diff --check, and an isolatedBEETSDIRcommand-help smoke test pass. New behavioral regressions were run failing before implementation. Gateway data is network-free and no global beets library was used.The beets retry adapter necessarily accounts for its internal dirty-field and transaction-lock behavior; regression coverage exercises real beets 2.13.1 writes and commit failures. Playlistmanager is tested at revision
4726c63306d9da23bcc0ce0e6aada0629ba2ba97; installation instructions are in README and requirements-integration.txt. Cross-store updates remain intentionally non-atomic per SPEC.md.Closes #44
Closes #45
Closes #46
Closes #47
Closes #48
Closes #49
Closes #50
#34 remains outside this PR's scope.