Plugin: preserve permanent skips during sync #38

Merged
hermes merged 1 commit from issue-37-preserve-skips into main 2026-09-05 21:44:18 +00:00
Owner

Summary

  • read persisted resolution state before automatic matching
  • exclude permanently skipped tracks from automatic association and playlist contents
  • preserve skipped state while refreshing current memberships and Apple metadata
  • close beets test libraries so the suite passes with warnings promoted to errors

Closes #37

TDD evidence

The new regression test failed against merged main: the skipped track was automatically matched (matched_tracks == 1). It passes after this change and verifies the skip remains persisted, the candidate beets item is untouched, and the playlistmanager target omits the track.

Validation

  • pytest -q -W error: 97 passed
  • focused Ruff 0.16.4 lint/format checks on the changed runtime and regression-test files
  • python -m compileall -q beetsplug tests
  • isolated-BEETSDIR beet -p appleplaylists apple --help
  • source distribution and wheel build
  • git diff --check
## Summary - read persisted resolution state before automatic matching - exclude permanently skipped tracks from automatic association and playlist contents - preserve skipped state while refreshing current memberships and Apple metadata - close beets test libraries so the suite passes with warnings promoted to errors Closes #37 ## TDD evidence The new regression test failed against merged `main`: the skipped track was automatically matched (`matched_tracks == 1`). It passes after this change and verifies the skip remains persisted, the candidate beets item is untouched, and the playlistmanager target omits the track. ## Validation - `pytest -q -W error`: 97 passed - focused Ruff 0.16.4 lint/format checks on the changed runtime and regression-test files - `python -m compileall -q beetsplug tests` - isolated-`BEETSDIR` `beet -p appleplaylists apple --help` - source distribution and wheel build - `git diff --check`
hermes force-pushed issue-37-preserve-skips from 1013d1149a to 20c72a5a93 2026-09-05 20:43:07 +00:00 Compare
hermes merged commit ec5da9ee62 into main 2026-09-05 21:44:18 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coop/beets-appleplaylists!38
No description provided.