Amend DESIGN.md for TV tracking decisions #117
Notifications
Due Date
No due date set.
Blocks
Reference: yolo/arr#117
Reference in New Issue
Block a user
Three TV tracking decisions extend or contradict the current text. The document
is the contract, so it changes before the code that assumes it. Every other
issue in this batch depends on this one.
§4.1 —
Season.trackedis a rule, not decoration. The section describesSeries.auto_trackand leavesSeason.trackedunexplained, and nothing in thecodebase reads it. Give it a meaning: a tracked season marks newly revealed
episodes wanted, and turning it on marks every already-revealed episode in that
season wanted. Turning it off withdraws nothing — leaf intent is never removed
implicitly.
auto_trackkeeps its own meaning one level up: when metadatareveals a new season, that season becomes tracked.
§4.1 and §4.2 — season 0 is excluded. Specials are dozens of undated shorts
and recaps that indexers do not carry.
auto_trackmust never mark season 0tracked, and derived status must ignore season 0 episodes entirely, so a
manually wanted special cannot pin a series at
incompleteor hold backended. The accepted consequence: specials are visible and grabbable in theseries detail view, and invisible to status.
§6.2 and §14 — RSS skips packs for a started season. §6.2 says every wanted
item is matched against every RSS result forever, which taken literally lets a
season pack satisfy one missing episode of a season already half on disk. §14
already refuses to re-grab a pack over episodes on disk; state that the RSS lane
obeys the same guard, so both lanes agree and a season does not behave
differently depending on which lane sees a release first. A pack for a season
with nothing on disk stays eligible. The manual escape hatch when a single
episode cannot be found is the season release deck, not a lane exception.
Documentation only. No code changes.