GitHub

Sonarr Library Reconciliation

How policy turns releases into canonical library state

12 chapters89 min total
Keywords
SonarrEpisodesMetadataParsingIndexersMonitoringQualityImportingDownloadsBlocklists
Overview

Sonarr maintains an episodic library by comparing metadata-backed intent with release reports, downloader items, and local files. Across the series, it separates identity parsing, discovery, policy, external execution, import, and failure memory. That separation explains when automation should act, wait, reject, or ask for help. The repository establishes these mechanisms and boundaries, but not provider completeness, universal parser coverage, performance, or deployment reliability.

Learning outcomes
  • Sonarr keeps an episodic library aligned by comparing desired state with external release, downloader, and filesystem observations.
  • Parsing turns varied names into identity and media evidence, but does not confirm a canonical episode on its own.
  • Indexer discovery supplies candidates; monitoring, quality, history, timing, and resource rules determine whether Sonarr acts.
  • A client acceptance or completion is not an import, and the repository does not establish universal provider coverage, performance, or deployment reliability.
Keywords
SonarrEpisodesMetadataParsingIndexersMonitoringQualityImportingDownloadsBlocklists

Chapters

1
8 min
2
7 min
3
7 min
8 min
7 min
7 min
7 min
7 min
7 min
8 min
8 min
8 min

Preview every chapter · Unlock full text, audio, and video from chapter 4

Plans
Ch.1-3 FreeCh.4-12 Premium

FAQ

What is Sonarr actually responsible for?

Sonarr coordinates the reconciliation of a desired episodic library with release feeds, download clients, and local files. It selects and tracks work, verifies imports, and records outcomes, but it does not control provider completeness or every external failure.

Why does a Sonarr download not become a library file when it completes?

A discovered release is only an external candidate, and a client-completed item is only an observation. Sonarr still must map identity, apply policy, validate the path and files, and verify the episode-file relationship before import.

How does Sonarr decide whether to download a release?

Sonarr parses and maps the release, then checks monitoring, quality, upgrades, history, delays, protocol, restrictions, and resource conditions before prioritizing eligible candidates. It may accept, delay, or reject the report.

What can Sonarr's source code establish about reliability?

The repository establishes explicit state, policy, coordination, import, and failure-memory mechanisms. It does not establish provider completeness, universal parser coverage, performance, or identical behavior across every deployment.