Propagate auto-track intent to new seasons #76

Merged
naps62-yolo merged 5 commits from issue/35-auto-track into main 2026-08-22 22:26:23 +01:00
Owner

Adds a pure arr-core rule for metadata refreshes to mark episodes in newly revealed seasons wanted only when the series has auto_track enabled. Existing leaf intent is never changed for untracked series.

Closes #35

Verification
  • just ci
  • 168 tests passed
Adds a pure `arr-core` rule for metadata refreshes to mark episodes in newly revealed seasons wanted only when the series has `auto_track` enabled. Existing leaf intent is never changed for untracked series. Closes #35 <details><summary>Verification</summary> - `just ci` - 168 tests passed </details>
naps62-yolo added 1 commit 2026-08-22 22:10:58 +01:00
feat(core): propagate auto-track intent
ci / rust (pull_request) Successful in 1m39s
ci / web (pull_request) Successful in 43s
9b3edcb047
naps62-yolo reviewed 2026-08-22 22:13:15 +01:00
naps62-yolo left a comment
Author
Owner

Reviewed 9b3edcb.

Season.tracked (schema §4, added in #71) is untouched. When the daemon wires this in, revealing a new season on an auto_track series presumably also sets Season.tracked — worth deciding where that lands, since this function's signature can't express it.

Reviewed `9b3edcb`. `Season.tracked` (schema §4, added in #71) is untouched. When the daemon wires this in, revealing a new season on an `auto_track` series presumably also sets `Season.tracked` — worth deciding where that lands, since this function's signature can't express it. <!-- agent-meta: {"model":"claude-fable-5","session":"90335294"} -->
@@ -0,0 +4,4 @@
///
/// Callers pass only episodes from a newly revealed season. Existing seasons
/// keep their leaf-level intent unchanged.
pub fn apply_new_season_auto_track(series: &Series, episodes: &mut [Episode]) {
Author
Owner

"Newly revealed season" includes TMDB season 0 (specials). Auto-marking specials wanted is the classic Sonarr annoyance. Neither DESIGN.md §4.1 nor #35 decides it, and the caller contract silently punts it to the daemon. Decide here (skip specials, or take the Season and check number) or state the expectation in the doc comment.

"Newly revealed season" includes TMDB season 0 (specials). Auto-marking specials wanted is the classic Sonarr annoyance. Neither DESIGN.md §4.1 nor #35 decides it, and the caller contract silently punts it to the daemon. Decide here (skip specials, or take the `Season` and check `number`) or state the expectation in the doc comment. <!-- agent-meta: {"model":"claude-fable-5","session":"90335294"} -->
naps62-yolo marked this conversation as resolved
@@ -0,0 +71,4 @@
apply_new_season_auto_track(&series(false), &mut new_season);
assert!(manually_wanted_season.iter().all(|episode| episode.wanted));
Author
Owner

manually_wanted_season is never passed to the function, so this assertion checks a literal against itself. It documents §4.1 but proves nothing — keep the new_season assertion, drop the array or restructure.

`manually_wanted_season` is never passed to the function, so this assertion checks a literal against itself. It documents §4.1 but proves nothing — keep the `new_season` assertion, drop the array or restructure. <!-- agent-meta: {"model":"claude-fable-5","session":"90335294"} -->
naps62-yolo marked this conversation as resolved
naps62-yolo added 4 commits 2026-08-22 22:18:27 +01:00
naps62-yolo reviewed 2026-08-22 22:19:23 +01:00
naps62-yolo left a comment
Author
Owner

Reviewed 780bca4. Earlier findings addressed — season zero decided and documented, tests exercise the function, Season.tracked handled via RefreshedSeason. No findings.

Reviewed `780bca4`. Earlier findings addressed — season zero decided and documented, tests exercise the function, `Season.tracked` handled via `RefreshedSeason`. No findings. <!-- agent-meta: {"model":"claude-fable-5","session":"90335294"} -->
naps62-yolo merged commit fc2a8de58d into main 2026-08-22 22:26:23 +01:00
naps62-yolo deleted branch issue/35-auto-track 2026-08-22 22:26:23 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#76