Demo LOOK — UI works, nothing talks to a live stack. Saves last about 4 hours, then this layout returns. Back to Boxarr

Boxarr — Fetcharr

Fetcharr

Gets new media playable first, then cleans up, hunts missing, and enriches what you already have.

Fetcharr

#01 Process the Grabarr Queue
Fetcharr What this step does

Find out what is supposed to be here (Grabarr queue) and what actually landed (Complete disk). That pair is this run’s work item.

Happens

  • Connect to Grabarr. Keep the queued item, magnet, direct-download URL, and downloader save path / category / tags.
  • Downloader category / tag / label is the working media type and forma. Filename guessing does not override a downloader tag.
  • Scout Complete drop folders. Loose files at the Complete root count. Pure […] folders are buckets, never titles.
  • Skip dotfiles, skip names, and Flagged exact versions (Do Not Download Again).

Does not

  • Rename, place to library, or hunt Servarr.
  • Treat encryption as a Daily step.
Servarr
Sonarr
Sonarr
QueueRead when scout-queue is on. Logged, then unused. Scout uses the Complete disk.
Radarr
Radarr
QueueRead when scout-queue is on. Logged, then unused. Scout uses the Complete disk.
Sportarr
Sportarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Youtubarr
Youtubarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Lidarr
Lidarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Soularr
Soularr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Readarr
Readarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Listenarr
Listenarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Kapowarr
Kapowarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Cardarr
Cardarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Questarr
Questarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Romarr
Romarr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
Whisparr
Whisparr
QueueNot read. keep-tags is stored only. Scout uses the Complete disk.
#02 Stop the Downloader
Fetcharr What this step does

Freeze the related downloader jobs so the file is not still writing while Boxarr moves it. Confirm type / forma against the catalog.

Happens

  • Stop/pause related jobs for this run’s work items. Seed/upload may already be settled; pause active downloads.
  • Assume the downloader was right (Step 1), then confirm against the catalog. Catalog agrees → keep. Catalog disagrees → catalog wins.
  • A dead downloader is reported. It does not abort the rest of the run.

Does not

  • Pause every client.
  • Remove the job — that is Step 8.
Servarr
Sonarr
Sonarr
QueueA matching row is pulled. The file stays on the downloader. Unrelated jobs stay up.
Radarr
Radarr
QueueA matching row is pulled. The file stays on the downloader. Unrelated jobs stay up.
Sportarr
Sportarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Youtubarr
Youtubarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Lidarr
Lidarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Soularr
Soularr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Readarr
Readarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Listenarr
Listenarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Kapowarr
Kapowarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Cardarr
Cardarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Questarr
Questarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Romarr
Romarr
QueueNot called. Only Sonarr and Radarr queues are pulled.
Whisparr
Whisparr
QueueNot called. Only Sonarr and Radarr queues are pulled.
#03 Move Media to [Staging]
Fetcharr What this step does

Claim the work item into untyped [Staging]. That is the holding land — not the grabber path, not the downloader path, not the library home.

Happens

  • Ensure each library’s [Staging] folder exists before claiming into it.
  • Cross-lane live dumps are refused.
  • A leftover already in [Staging] can be claimed.

Does not

  • Verify the file yet — that is Step 4.
  • Place into the live library home — that is Step 7.
Servarr
Sonarr
Sonarr
StagingTagged files move into untyped [Staging]. Sonarr is not called.
Radarr
Radarr
StagingTagged files move into untyped [Staging]. Radarr is not called.
Sportarr
Sportarr
StagingTagged files move into untyped [Staging]. Sportarr is not called.
Youtubarr
Youtubarr
StagingTagged files move into untyped [Staging]. Youtubarr is not called.
Lidarr
Lidarr
StagingTagged files move into untyped [Staging]. Lidarr is not called.
Soularr
Soularr
StagingTagged files move into untyped [Staging]. Soularr is not called.
Readarr
Readarr
StagingTagged files move into untyped [Staging]. Readarr is not called.
Listenarr
Listenarr
StagingTagged files move into untyped [Staging]. Listenarr is not called.
Kapowarr
Kapowarr
StagingTagged files move into untyped [Staging]. Kapowarr is not called.
Cardarr
Cardarr
StagingTagged files move into untyped [Staging]. Cardarr is not called.
Questarr
Questarr
StagingTagged files move into untyped [Staging]. Questarr is not called.
Romarr
Romarr
StagingTagged files move into untyped [Staging]. Romarr is not called.
Whisparr
Whisparr
StagingTagged files move into untyped [Staging]. Whisparr is not called.
#04 Verify the Media (in [Staging])
Fetcharr What this step does

Prove that what landed is what the acquisition claimed, and that it is acceptable to keep. First verify gate.

Happens

  • MediaInfo and the health probe: video/audio characteristics, language, region, tracks; the file actually opens (known video types).
  • Unknown / unsupported types park in Review and drop out of this run.
  • A known type that will not open is Do Not Download Again for that exact version and drops out.
  • Books, comics, manga, magazines, ROMs skip the video probe; they still need a known type.

Does not

  • Place a bad copy into the library.
  • Queue the replacement — that is Step 5.
Servarr
Sonarr
Sonarr
VerifyTagged files are probed. A bad copy can be flagged. Sonarr is not called.
Radarr
Radarr
VerifyTagged files are probed. A bad copy can be flagged. Radarr is not called.
Sportarr
Sportarr
VerifyTagged files are probed. A bad copy can be flagged. Sportarr is not called.
Youtubarr
Youtubarr
VerifyTagged files are probed. A bad copy can be flagged. Youtubarr is not called.
Lidarr
Lidarr
VerifyTagged files are probed. A bad copy can be flagged. Lidarr is not called.
Soularr
Soularr
VerifyTagged files are probed. A bad copy can be flagged. Soularr is not called.
Readarr
Readarr
VerifyTagged files are probed. A bad copy can be flagged. Readarr is not called.
Listenarr
Listenarr
VerifyTagged files are probed. A bad copy can be flagged. Listenarr is not called.
Kapowarr
Kapowarr
VerifyTagged files are probed. A bad copy can be flagged. Kapowarr is not called.
Cardarr
Cardarr
VerifyTagged files are probed. A bad copy can be flagged. Cardarr is not called.
Questarr
Questarr
VerifyTagged files are probed. A bad copy can be flagged. Questarr is not called.
Romarr
Romarr
VerifyTagged files are probed. A bad copy can be flagged. Romarr is not called.
Whisparr
Whisparr
VerifyTagged files are probed. A bad copy can be flagged. Whisparr is not called.
#05 Check Media
Fetcharr What this step does

If verification failed: throw the copy away and ask for another. It must not become canonical library content. (Was Reject / Re-queue Failed Media.)

Happens

  • Reject the copy.
  • Queue a replacement through the server-app stack / Flag refetch.
  • This is a decision/action, not a complicated branch.

Does not

  • Grab a future release — that is a History action, not this step.
  • Keep a failed file “just in case.”
Servarr
Sonarr
Sonarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Sonarr is not called.
Radarr
Radarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Radarr is not called.
Sportarr
Sportarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Sportarr is not called.
Youtubarr
Youtubarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Youtubarr is not called.
Lidarr
Lidarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Lidarr is not called.
Soularr
Soularr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Soularr is not called.
Readarr
Readarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Readarr is not called.
Listenarr
Listenarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Listenarr is not called.
Kapowarr
Kapowarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Kapowarr is not called.
Cardarr
Cardarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Cardarr is not called.
Questarr
Questarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Questarr is not called.
Romarr
Romarr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Romarr is not called.
Whisparr
Whisparr
CheckA failed copy is dropped when reject-copy is on. Re-queue only arms Flag. No Missing search. Whisparr is not called.
#06 Rename Media
Fetcharr What this step does

Apply the catalog / conventional name while the file is still in [Staging]. Record original name, new name, history.

Happens

  • Inbound naming stays conventional. Broken extensions (video mkv → .mkv) are fixed.
  • Fetcharr must not guess a previous name later — the record is the memory.
  • Rename happens before the library place (Step 7).

Does not

  • Dump unclear forma into Live Action.
  • Place the file — that is Step 7.
Servarr
Sonarr
Sonarr
RenameTagged files are renamed in [Staging]. Sonarr is not called.
Radarr
Radarr
RenameTagged files are renamed in [Staging]. Radarr is not called.
Sportarr
Sportarr
RenameTagged files are renamed in [Staging]. Sportarr is not called.
Youtubarr
Youtubarr
RenameTagged files are renamed in [Staging]. Youtubarr is not called.
Lidarr
Lidarr
RenameTagged files are renamed in [Staging]. Lidarr is not called.
Soularr
Soularr
RenameTagged files are renamed in [Staging]. Soularr is not called.
Readarr
Readarr
RenameTagged files are renamed in [Staging]. Readarr is not called.
Listenarr
Listenarr
RenameTagged files are renamed in [Staging]. Listenarr is not called.
Kapowarr
Kapowarr
RenameTagged files are renamed in [Staging]. Kapowarr is not called.
Cardarr
Cardarr
RenameTagged files are renamed in [Staging]. Cardarr is not called.
Questarr
Questarr
RenameTagged files are renamed in [Staging]. Questarr is not called.
Romarr
Romarr
RenameTagged files are renamed in [Staging]. Romarr is not called.
Whisparr
Whisparr
RenameTagged files are renamed in [Staging]. Whisparr is not called.
#07 Move Media to Library
Fetcharr What this step does

Keepers leave [Staging] for the live library home. This is the place after verify / check / rename. Rejected copies never take this step.

Happens

  • Only files that passed Step 4 and were not rejected in Step 5.
  • Destination is the library home for this work (lane / type from Steps 1–2).
  • Record the placement (from [Staging], to library home) so History / Stepback can follow.

Does not

  • Place a rejected or unverified copy.
  • Wipe Complete leftovers — that is Step 9.
Servarr
Sonarr
Sonarr
LibraryTagged keepers move to the library home. Rejects do not. Sonarr is not called.
Radarr
Radarr
LibraryTagged keepers move to the library home. Rejects do not. Radarr is not called.
Sportarr
Sportarr
LibraryTagged keepers move to the library home. Rejects do not. Sportarr is not called.
Youtubarr
Youtubarr
LibraryTagged keepers move to the library home. Rejects do not. Youtubarr is not called.
Lidarr
Lidarr
LibraryTagged keepers move to the library home. Rejects do not. Lidarr is not called.
Soularr
Soularr
LibraryTagged keepers move to the library home. Rejects do not. Soularr is not called.
Readarr
Readarr
LibraryTagged keepers move to the library home. Rejects do not. Readarr is not called.
Listenarr
Listenarr
LibraryTagged keepers move to the library home. Rejects do not. Listenarr is not called.
Kapowarr
Kapowarr
LibraryTagged keepers move to the library home. Rejects do not. Kapowarr is not called.
Cardarr
Cardarr
LibraryTagged keepers move to the library home. Rejects do not. Cardarr is not called.
Questarr
Questarr
LibraryTagged keepers move to the library home. Rejects do not. Questarr is not called.
Romarr
Romarr
LibraryTagged keepers move to the library home. Rejects do not. Romarr is not called.
Whisparr
Whisparr
LibraryTagged keepers move to the library home. Rejects do not. Whisparr is not called.
#08 Remove from Downloader, Grabber, and Jellyseerr
Fetcharr What this step does

Once keepers are in the library (or rejects are gone), take the work off the rest of the stack so nothing keeps hunting a file Boxarr already holds.

Happens

  • Remove the matching downloader job.
  • Remove matching grabber queue rows (strict title / SxxEyy).
  • Unmonitor the grabbed episode/movie on the grabber (History / Stepback can restore).
  • Clear matching Jellyseerr (and equivalent request) junk.

Does not

  • Pause unrelated downloads.
  • Wipe disk leftovers — that is Step 9.
Servarr
Sonarr
Sonarr
QueueCompleted rows are cleared, plus a title match from this run. The file stays. Jellyseerr deletes a matching request.
Radarr
Radarr
QueueCompleted rows are cleared, plus a title match from this run. The file stays. Jellyseerr deletes a matching request.
Sportarr
Sportarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Youtubarr
Youtubarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Lidarr
Lidarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Soularr
Soularr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Readarr
Readarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Listenarr
Listenarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Kapowarr
Kapowarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Cardarr
Cardarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Questarr
Questarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Romarr
Romarr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
Whisparr
Whisparr
QueueNot called. Clears are Sonarr, Radarr, and a matching Jellyseerr request.
#09 Comprehensive Cleanup
Fetcharr What this step does

Leave nothing from this acquisition except what is still a live downloader job. Complete for this work should be empty. Active should be queue-only.

Happens

  • Active: keep a file only if a downloader job still owns it. No job = remove.
  • If every downloader client is down, do not wipe packages.
  • Complete after a successful move + verify: empty. Lane buckets stay.
  • Encoder junk (nfo/txt/samples) unless the operator opted to preserve auxiliary media.

Does not

  • Delete the lane buckets themselves.
  • Wipe Active when every downloader is down.
Servarr
Sonarr
Sonarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Sonarr is not called.
Radarr
Radarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Radarr is not called.
Sportarr
Sportarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Sportarr is not called.
Youtubarr
Youtubarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Youtubarr is not called.
Lidarr
Lidarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Lidarr is not called.
Soularr
Soularr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Soularr is not called.
Readarr
Readarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Readarr is not called.
Listenarr
Listenarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Listenarr is not called.
Kapowarr
Kapowarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Kapowarr is not called.
Cardarr
Cardarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Cardarr is not called.
Questarr
Questarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Questarr is not called.
Romarr
Romarr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Romarr is not called.
Whisparr
Whisparr
CleanupComplete and Active leftovers go unless this run claimed them or qBittorrent still owns them. Whisparr is not called.
#10 Check Against Catalog
Fetcharr What this step does

Ask the catalog what this file is called and where it should live now that it is in the library home (not [Staging]).

Happens

  • Canonical series name comes from the catalog.
  • If the live home moved since last place, note it so History / Stepback can follow.

Does not

  • Rename — that already happened in Step 6.
  • Invent a name from the filename when the catalog already has one.
Servarr
Sonarr
Sonarr
CatalogTagged files are looked up in the local catalog. No disk walk. Sonarr is not called.
Radarr
Radarr
CatalogTagged files are looked up in the local catalog. No disk walk. Radarr is not called.
Sportarr
Sportarr
CatalogTagged files are looked up in the local catalog. No disk walk. Sportarr is not called.
Youtubarr
Youtubarr
CatalogTagged files are looked up in the local catalog. No disk walk. Youtubarr is not called.
Lidarr
Lidarr
CatalogTagged files are looked up in the local catalog. No disk walk. Lidarr is not called.
Soularr
Soularr
CatalogTagged files are looked up in the local catalog. No disk walk. Soularr is not called.
Readarr
Readarr
CatalogTagged files are looked up in the local catalog. No disk walk. Readarr is not called.
Listenarr
Listenarr
CatalogTagged files are looked up in the local catalog. No disk walk. Listenarr is not called.
Kapowarr
Kapowarr
CatalogTagged files are looked up in the local catalog. No disk walk. Kapowarr is not called.
Cardarr
Cardarr
CatalogTagged files are looked up in the local catalog. No disk walk. Cardarr is not called.
Questarr
Questarr
CatalogTagged files are looked up in the local catalog. No disk walk. Questarr is not called.
Romarr
Romarr
CatalogTagged files are looked up in the local catalog. No disk walk. Romarr is not called.
Whisparr
Whisparr
CatalogTagged files are looked up in the local catalog. No disk walk. Whisparr is not called.
#11 Update / Complete Metadata
Fetcharr What this step does

Fill empty catalog fields for this work. Do not thrash records that are already complete.

Happens

  • Complete current metadata in the catalog → use it. Do not refetch.
  • Incomplete → use what exists; queue missing metadata work to the end of this run’s queue; fetch only the affected episode/item.

Does not

  • Write sidecars — that is Step 12.
  • Refetch a complete catalog record for sport.
Servarr
Sonarr
Sonarr
MetadataEmpty fields come from Metarr, then the catalog. Sonarr is not called.
Radarr
Radarr
MetadataEmpty fields come from Metarr, then the catalog. Radarr is not called.
Sportarr
Sportarr
MetadataEmpty fields come from Metarr, then the catalog. Sportarr is not called.
Youtubarr
Youtubarr
MetadataEmpty fields come from Metarr, then the catalog. Youtubarr is not called.
Lidarr
Lidarr
MetadataEmpty fields come from Metarr, then the catalog. Lidarr is not called.
Soularr
Soularr
MetadataEmpty fields come from Metarr, then the catalog. Soularr is not called.
Readarr
Readarr
MetadataEmpty fields come from Metarr, then the catalog. Readarr is not called.
Listenarr
Listenarr
MetadataEmpty fields come from Metarr, then the catalog. Listenarr is not called.
Kapowarr
Kapowarr
MetadataEmpty fields come from Metarr, then the catalog. Kapowarr is not called.
Cardarr
Cardarr
MetadataEmpty fields come from Metarr, then the catalog. Cardarr is not called.
Questarr
Questarr
MetadataEmpty fields come from Metarr, then the catalog. Questarr is not called.
Romarr
Romarr
MetadataEmpty fields come from Metarr, then the catalog. Romarr is not called.
Whisparr
Whisparr
MetadataEmpty fields come from Metarr, then the catalog. Whisparr is not called.
#12 Build Sidecars
Fetcharr What this step does

Write the configured metadata files beside the media. That is the external representation Kaizen will check.

Happens

  • Sidecars live next to the file, not inside it.

Does not

  • Lock / hide sidecars — that is Step 13.
  • Refresh the media server — that is Step 14.
Servarr
Sonarr
Sonarr
SidecarsWrites the sidecar if step 11 has not already. Sonarr is not called.
Radarr
Radarr
SidecarsWrites the sidecar if step 11 has not already. Radarr is not called.
Sportarr
Sportarr
SidecarsWrites the sidecar if step 11 has not already. Sportarr is not called.
Youtubarr
Youtubarr
SidecarsWrites the sidecar if step 11 has not already. Youtubarr is not called.
Lidarr
Lidarr
SidecarsWrites the sidecar if step 11 has not already. Lidarr is not called.
Soularr
Soularr
SidecarsWrites the sidecar if step 11 has not already. Soularr is not called.
Readarr
Readarr
SidecarsWrites the sidecar if step 11 has not already. Readarr is not called.
Listenarr
Listenarr
SidecarsWrites the sidecar if step 11 has not already. Listenarr is not called.
Kapowarr
Kapowarr
SidecarsWrites the sidecar if step 11 has not already. Kapowarr is not called.
Cardarr
Cardarr
SidecarsWrites the sidecar if step 11 has not already. Cardarr is not called.
Questarr
Questarr
SidecarsWrites the sidecar if step 11 has not already. Questarr is not called.
Romarr
Romarr
SidecarsWrites the sidecar if step 11 has not already. Romarr is not called.
Whisparr
Whisparr
SidecarsWrites the sidecar if step 11 has not already. Whisparr is not called.
#13 Lock / Hide Sidecars
Fetcharr What this step does

Hide, archive, and optionally lock the sidecars this run just wrote so they are managed, not casual litter next to the media.

Happens

  • Valid managed sidecars are hidden / archived and may be set read-only.
  • Do not lock third-party or user-managed sidecar files.

Does not

  • Rewrite the sidecar contents — that was Step 12.
  • Refresh the media server — that is Step 14.
Servarr
Sonarr
Sonarr
LockThe sidecar beside a keeper is hidden and set read-only. Sonarr is not called.
Radarr
Radarr
LockThe sidecar beside a keeper is hidden and set read-only. Radarr is not called.
Sportarr
Sportarr
LockThe sidecar beside a keeper is hidden and set read-only. Sportarr is not called.
Youtubarr
Youtubarr
LockThe sidecar beside a keeper is hidden and set read-only. Youtubarr is not called.
Lidarr
Lidarr
LockThe sidecar beside a keeper is hidden and set read-only. Lidarr is not called.
Soularr
Soularr
LockThe sidecar beside a keeper is hidden and set read-only. Soularr is not called.
Readarr
Readarr
LockThe sidecar beside a keeper is hidden and set read-only. Readarr is not called.
Listenarr
Listenarr
LockThe sidecar beside a keeper is hidden and set read-only. Listenarr is not called.
Kapowarr
Kapowarr
LockThe sidecar beside a keeper is hidden and set read-only. Kapowarr is not called.
Cardarr
Cardarr
LockThe sidecar beside a keeper is hidden and set read-only. Cardarr is not called.
Questarr
Questarr
LockThe sidecar beside a keeper is hidden and set read-only. Questarr is not called.
Romarr
Romarr
LockThe sidecar beside a keeper is hidden and set read-only. Romarr is not called.
Whisparr
Whisparr
LockThe sidecar beside a keeper is hidden and set read-only. Whisparr is not called.
#14 Refresh Media Server
Fetcharr What this step does

Tell the media server the file is here, named, and has sidecars — so it is readable.

Happens

  • Configurable grabbers / priorities.
  • Smallest useful scope first (current season / current work). Whole-library rescan only when that is the smallest practical operation (movies).

Does not

  • Scan the whole library as a habit.
Servarr
Sonarr
Sonarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Sonarr is not called.
Radarr
Radarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Radarr is not called.
Sportarr
Sportarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Sportarr is not called.
Youtubarr
Youtubarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Youtubarr is not called.
Lidarr
Lidarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Lidarr is not called.
Soularr
Soularr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Soularr is not called.
Readarr
Readarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Readarr is not called.
Listenarr
Listenarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Listenarr is not called.
Kapowarr
Kapowarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Kapowarr is not called.
Cardarr
Cardarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Cardarr is not called.
Questarr
Questarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Questarr is not called.
Romarr
Romarr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Romarr is not called.
Whisparr
Whisparr
RefreshA tagged keeper path can be posted to Emby. Jellyfin is skipped. Whisparr is not called.
#15 Review Flagged Media
Fetcharr What this step does

Tick Flag and open reports after the package is readable — not at the head of Daily, so ingest is not blocked on report chrome.

Happens

  • Replay retryable actions from the last run (stale “running” → failed).
  • Load the Flag list (Do Not Download Again for exact versions — already honored at Step 1).
  • Tick open reports without a Servarr search.

Does not

  • Hunt Servarr.
  • Start new grabs.
Servarr
Sonarr
Sonarr
FlagLocal Flag and reports are ticked. No Servarr search. Sonarr is not called.
Radarr
Radarr
FlagLocal Flag and reports are ticked. No Servarr search. Radarr is not called.
Sportarr
Sportarr
FlagLocal Flag and reports are ticked. No Servarr search. Sportarr is not called.
Youtubarr
Youtubarr
FlagLocal Flag and reports are ticked. No Servarr search. Youtubarr is not called.
Lidarr
Lidarr
FlagLocal Flag and reports are ticked. No Servarr search. Lidarr is not called.
Soularr
Soularr
FlagLocal Flag and reports are ticked. No Servarr search. Soularr is not called.
Readarr
Readarr
FlagLocal Flag and reports are ticked. No Servarr search. Readarr is not called.
Listenarr
Listenarr
FlagLocal Flag and reports are ticked. No Servarr search. Listenarr is not called.
Kapowarr
Kapowarr
FlagLocal Flag and reports are ticked. No Servarr search. Kapowarr is not called.
Cardarr
Cardarr
FlagLocal Flag and reports are ticked. No Servarr search. Cardarr is not called.
Questarr
Questarr
FlagLocal Flag and reports are ticked. No Servarr search. Questarr is not called.
Romarr
Romarr
FlagLocal Flag and reports are ticked. No Servarr search. Romarr is not called.
Whisparr
Whisparr
FlagLocal Flag and reports are ticked. No Servarr search. Whisparr is not called.
#16 Rotate Media
Fetcharr What this step does

Default: keep all media. When Autorun turns this on, free space by removing the oldest eligible owned titles — never Kaizen, Review, or Flag.

Happens

  • Space-limited policy: type, capacity, max GB, FIFO, age, watched, recency, minimum preserve. Oldest eligible first.
  • Holds: unwatched, in-progress, current season, specials, locked titles, Review-parked, protect list.
  • After a remove: unmonitor so it is not immediately re-grabbed.

Does not

  • Run unless Autorun turns it on. Skipped is honest, not a fake OK.
  • Act as Kaizen, Review, or Flag.
Servarr
Sonarr
Sonarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Sonarr is not called.
Radarr
Radarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Radarr is not called.
Sportarr
Sportarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Sportarr is not called.
Youtubarr
Youtubarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Youtubarr is not called.
Lidarr
Lidarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Lidarr is not called.
Soularr
Soularr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Soularr is not called.
Readarr
Readarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Readarr is not called.
Listenarr
Listenarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Listenarr is not called.
Kapowarr
Kapowarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Kapowarr is not called.
Cardarr
Cardarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Cardarr is not called.
Questarr
Questarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Questarr is not called.
Romarr
Romarr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Romarr is not called.
Whisparr
Whisparr
RotateOff until Autorun. Then it only plans. Nothing is deleted until watched truth exists. Whisparr is not called.
#17 Re-mux Media
Fetcharr What this step does

Reorganize the container without re-encoding (tracks, language, chapters, attachments). Off until Autorun. Re-mux ≠ transcode.

Happens

  • Choose which streams stay.
  • Quality check is Step 18 (Check Remux). Failed output parks in Review.

Does not

  • Change the codec / resolution / bitrate — that is transcode (Step 19).
  • Promote a rewrite that fails the probe.
Servarr
Sonarr
Sonarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Sonarr is not called.
Radarr
Radarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Radarr is not called.
Sportarr
Sportarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Sportarr is not called.
Youtubarr
Youtubarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Youtubarr is not called.
Lidarr
Lidarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Lidarr is not called.
Soularr
Soularr
RemuxOff until Autorun. Then a container copy only. No re-encode. Soularr is not called.
Readarr
Readarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Readarr is not called.
Listenarr
Listenarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Listenarr is not called.
Kapowarr
Kapowarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Kapowarr is not called.
Cardarr
Cardarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Cardarr is not called.
Questarr
Questarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Questarr is not called.
Romarr
Romarr
RemuxOff until Autorun. Then a container copy only. No re-encode. Romarr is not called.
Whisparr
Whisparr
RemuxOff until Autorun. Then a container copy only. No re-encode. Whisparr is not called.
#18 Check Remux
Fetcharr What this step does

After re-mux, prove the new file. Do not promote a rewrite that fails. If remux was skipped, this step skips (honest).

Happens

  • ffprobe must open the file; streams and format must be readable.
  • Failed output parks in Review; the bad rewrite is not canonical.

Does not

  • Re-encode or re-mux.
  • Replace Step 4 (inbound MediaInfo) or Kaizen’s later verify.
Servarr
Sonarr
Sonarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Sonarr is not called.
Radarr
Radarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Radarr is not called.
Sportarr
Sportarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Sportarr is not called.
Youtubarr
Youtubarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Youtubarr is not called.
Lidarr
Lidarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Lidarr is not called.
Soularr
Soularr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Soularr is not called.
Readarr
Readarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Readarr is not called.
Listenarr
Listenarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Listenarr is not called.
Kapowarr
Kapowarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Kapowarr is not called.
Cardarr
Cardarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Cardarr is not called.
Questarr
Questarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Questarr is not called.
Romarr
Romarr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Romarr is not called.
Whisparr
Whisparr
ProbeOff until Autorun. Skips unless a remux file was written. A file that opens is promoted. Whisparr is not called.
#19 Transcode Media
Fetcharr What this step does

Change encoded media (codec, resolution, bitrate, hardware/software). Off until Autorun.

Happens

  • Quality check is Step 20 (Check Transcode). Failed output parks in Review; do not promote.
  • If ingest priority puts transcode ahead of viewable, files may stay in [Staging] until this pass succeeds.

Does not

  • Only reshuffle streams — that is re-mux (Step 17).
  • Promote a rewrite that fails the probe.
Servarr
Sonarr
Sonarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Sonarr is not called.
Radarr
Radarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Radarr is not called.
Sportarr
Sportarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Sportarr is not called.
Youtubarr
Youtubarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Youtubarr is not called.
Lidarr
Lidarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Lidarr is not called.
Soularr
Soularr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Soularr is not called.
Readarr
Readarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Readarr is not called.
Listenarr
Listenarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Listenarr is not called.
Kapowarr
Kapowarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Kapowarr is not called.
Cardarr
Cardarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Cardarr is not called.
Questarr
Questarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Questarr is not called.
Romarr
Romarr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Romarr is not called.
Whisparr
Whisparr
TranscodeOff until Autorun, and still skipped. No codec, resolution, or bitrate profile is stored. Whisparr is not called.
#20 Check Transcode
Fetcharr What this step does

After transcode, prove the new file. Do not promote a rewrite that fails. If transcode was skipped, this step skips (honest).

Happens

  • ffprobe must open the file; streams and format must be readable.
  • Failed output parks in Review; the bad rewrite is not canonical.

Does not

  • Re-encode or re-mux.
  • Replace Step 4 (inbound MediaInfo).
Servarr
Sonarr
Sonarr
ProbeOff until Autorun. Skips, because no transcode file is written. Sonarr is not called.
Radarr
Radarr
ProbeOff until Autorun. Skips, because no transcode file is written. Radarr is not called.
Sportarr
Sportarr
ProbeOff until Autorun. Skips, because no transcode file is written. Sportarr is not called.
Youtubarr
Youtubarr
ProbeOff until Autorun. Skips, because no transcode file is written. Youtubarr is not called.
Lidarr
Lidarr
ProbeOff until Autorun. Skips, because no transcode file is written. Lidarr is not called.
Soularr
Soularr
ProbeOff until Autorun. Skips, because no transcode file is written. Soularr is not called.
Readarr
Readarr
ProbeOff until Autorun. Skips, because no transcode file is written. Readarr is not called.
Listenarr
Listenarr
ProbeOff until Autorun. Skips, because no transcode file is written. Listenarr is not called.
Kapowarr
Kapowarr
ProbeOff until Autorun. Skips, because no transcode file is written. Kapowarr is not called.
Cardarr
Cardarr
ProbeOff until Autorun. Skips, because no transcode file is written. Cardarr is not called.
Questarr
Questarr
ProbeOff until Autorun. Skips, because no transcode file is written. Questarr is not called.
Romarr
Romarr
ProbeOff until Autorun. Skips, because no transcode file is written. Romarr is not called.
Whisparr
Whisparr
ProbeOff until Autorun. Skips, because no transcode file is written. Whisparr is not called.
#21 Check Library for Missing Content
Fetcharr What this step does

Against the catalog, note what this run’s parent is still missing — only media this run touched.

Happens

  • Example: catalog E1–E10, library has 1, 2, 10 → 3–9 missing → queue acquisition.

Does not

  • Sweep the whole library.
  • Fire global MissingEpisodeSearch.
Servarr
Sonarr
Sonarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Sonarr is not called.
Radarr
Radarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Radarr is not called.
Sportarr
Sportarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Sportarr is not called.
Youtubarr
Youtubarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Youtubarr is not called.
Lidarr
Lidarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Lidarr is not called.
Soularr
Soularr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Soularr is not called.
Readarr
Readarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Readarr is not called.
Listenarr
Listenarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Listenarr is not called.
Kapowarr
Kapowarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Kapowarr is not called.
Cardarr
Cardarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Cardarr is not called.
Questarr
Questarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Questarr is not called.
Romarr
Romarr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Romarr is not called.
Whisparr
Whisparr
MissingNotes episode gaps in series this run touched. Those rows have no id. No Missing search. Whisparr is not called.
#22 Remove Stall Downloads
Fetcharr What this step does

Clear stalled / dead downloader jobs that are not actually progressing so they do not sit forever in Active.

Happens

  • Identify stalled or timed-out downloads for this run’s work (and obvious dead jobs).
  • Remove those jobs from the downloader. Do not wipe a live download.

Does not

  • Pause healthy downloads.
  • Wipe Complete leftovers — that is Step 9.
Servarr
Sonarr
Sonarr
StallA stuck row is removed from the downloader and blocklisted, then passed again. A row still downloading stays. No Missing search.
Radarr
Radarr
StallA stuck row is removed from the downloader and blocklisted, then passed again. A row still downloading stays. No Missing search.
Sportarr
Sportarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Youtubarr
Youtubarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Lidarr
Lidarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Soularr
Soularr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Readarr
Readarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Listenarr
Listenarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Kapowarr
Kapowarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Cardarr
Cardarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Questarr
Questarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Romarr
Romarr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
Whisparr
Whisparr
StallNot called. Stalls are qBittorrent, then Sonarr and Radarr.
#23 Check Flagged Items
Fetcharr What this step does

Re-check Flag after follow-up work. Honor Do Not Download Again and tick anything this run newly earned.

Happens

  • Reload Flag. Exact versions marked Do Not Download Again stay skipped.
  • Tick reports opened by later steps (rotate / remux / transcode / missing).

Does not

  • Start new grabs from Flag chrome.
  • Replace Step 15 (first Flag tick).
Servarr
Sonarr
Sonarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Sonarr is not called.
Radarr
Radarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Radarr is not called.
Sportarr
Sportarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Sportarr is not called.
Youtubarr
Youtubarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Youtubarr is not called.
Lidarr
Lidarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Lidarr is not called.
Soularr
Soularr
FlagKeepers from this run are checked against the local Do Not Download Again list. Soularr is not called.
Readarr
Readarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Readarr is not called.
Listenarr
Listenarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Listenarr is not called.
Kapowarr
Kapowarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Kapowarr is not called.
Cardarr
Cardarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Cardarr is not called.
Questarr
Questarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Questarr is not called.
Romarr
Romarr
FlagKeepers from this run are checked against the local Do Not Download Again list. Romarr is not called.
Whisparr
Whisparr
FlagKeepers from this run are checked against the local Do Not Download Again list. Whisparr is not called.
#24 Add Missing / Failed Items
Fetcharr What this step does

Queue acquisition for missing members and failed replacements this run already identified. Do not invent a global hunt.

Happens

  • Push the missing / failed list from Steps 5, 21, and 23 onto the grabber / request stack.
  • Due / in-window work is strong priority.

Does not

  • Sweep titles this run never touched.
  • Take over a high-priority grab the operator wants outside Fetcharr’s window.
Servarr
Sonarr
Sonarr
GapsHammers a sitting Sonarr row only when a gap has an id. These gap rows have no id, so nothing is sent. Not a Missing search.
Radarr
Radarr
GapsNot called. Gaps go to Sonarr only, and only when a row has an id.
Sportarr
Sportarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Youtubarr
Youtubarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Lidarr
Lidarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Soularr
Soularr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Readarr
Readarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Listenarr
Listenarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Kapowarr
Kapowarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Cardarr
Cardarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Questarr
Questarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Romarr
Romarr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
Whisparr
Whisparr
GapsNot called. Not a hunt. Rejected copies stay on Flag refetch.
#25 Push Scheduled Items
Fetcharr What this step does

Push what is already on the acquisition list and due inside Fetcharr’s window. Not a new hunt outside that window.

Happens

  • Items already on the list, paused in grabbers, missing from the server-app stack, inside the current acquisition window, or scheduled / currently due.
  • Due / in-window = strong priority. Outside the core/time frame = massively deprioritized or paused.
  • Sitting Activity (queued / delay / warning / dead client) is not HAVE. Downloading is left alone.

Does not

  • Take over a high-priority grab the operator wants outside Fetcharr’s window — they use another client.
Servarr
Sonarr
Sonarr
WindowMonitored episodes with no file, today through 14 days, get EpisodeSearch. Already downloading stays. Not a whole-library Missing search.
Radarr
Radarr
WindowMonitored movies with no file, today through 14 days, get MoviesSearch. Already downloading stays. Not a whole-library Missing search.
Sportarr
Sportarr
WindowNot called. The window is Sonarr and Radarr only.
Youtubarr
Youtubarr
WindowNot called. The window is Sonarr and Radarr only.
Lidarr
Lidarr
WindowNot called. The window is Sonarr and Radarr only.
Soularr
Soularr
WindowNot called. The window is Sonarr and Radarr only.
Readarr
Readarr
WindowNot called. The window is Sonarr and Radarr only.
Listenarr
Listenarr
WindowNot called. The window is Sonarr and Radarr only.
Kapowarr
Kapowarr
WindowNot called. The window is Sonarr and Radarr only.
Cardarr
Cardarr
WindowNot called. The window is Sonarr and Radarr only.
Questarr
Questarr
WindowNot called. The window is Sonarr and Radarr only.
Romarr
Romarr
WindowNot called. The window is Sonarr and Radarr only.
Whisparr
Whisparr
WindowNot called. The window is Sonarr and Radarr only.
#26 Kaizen
Fetcharr What this step does

Final cleanup and normalization of anything this run touched. Target: catalog → media → sidecars, relationships clean. Scope is the branch being processed, not sibling shows.

Happens

  • Catalog: names and paths match; have vs expected; missing members of the parent this run touched.
  • Quality (owned files only): language, quality, bitrate, container.
  • Sidecars: metadata fleshed out; orphan/mismatched sidecars cleaned.
  • Verify touched media (same probe as Step 4).

Does not

  • Touch sibling shows.
  • Delete third-party or user-managed files. Unknown handling goes to Review.
Servarr
Sonarr
Sonarr
KaizenEpisodeSearch for gaps in series this run touched. Not a whole-library Missing search. Owned files are checked for language, quality, bitrate, and container.
Radarr
Radarr
KaizenNot called. Acquisition is Sonarr only.
Sportarr
Sportarr
KaizenNot called. Acquisition is Sonarr only.
Youtubarr
Youtubarr
KaizenNot called. Acquisition is Sonarr only.
Lidarr
Lidarr
KaizenNot called. Acquisition is Sonarr only.
Soularr
Soularr
KaizenNot called. Acquisition is Sonarr only.
Readarr
Readarr
KaizenNot called. Acquisition is Sonarr only.
Listenarr
Listenarr
KaizenNot called. Acquisition is Sonarr only.
Kapowarr
Kapowarr
KaizenNot called. Acquisition is Sonarr only.
Cardarr
Cardarr
KaizenNot called. Acquisition is Sonarr only.
Questarr
Questarr
KaizenNot called. Acquisition is Sonarr only.
Romarr
Romarr
KaizenNot called. Acquisition is Sonarr only.
Whisparr
Whisparr
KaizenNot called. Acquisition is Sonarr only.

Autorun options

Auto run

Manual — use Run Fetcharr. Keep-mode lives in Settings → Media Management.

After analysis

Off by default. Normalize remuxes toward library form. Validate is Daily Step 18 — ffprobe from components/ffmpeg/bin after re-mux/transcode; do not promote a rewrite that fails. Rotate frees space after media-server watched truth is wired; until then it plans only. Standalone: python boxarr.py --rotate.

Numbering

Same switch as Settings → Media Management. On: a new airing that is not already in this library lands in the newest season folder (or the next folder if it is a premiere). Off: keep the inbound SxxExx. Known episodes stay put.

New packages

Same switch as Settings → Media Management. On: a new Title [Year] [tt#######] folder is looked up, added, tagged Boxarr, and rewritten to the convention. First On only snapshots what is already on disk.

Edge cases

Same as Settings → Media Management. When a list glues a sequel into one show, keep list numbering or split it into its own series. Add a series to override home, numbering, or newest-season flow.

Bleach Season 17 (Thousand-Year Blood War). Some lists file the war arc as Bleach S17. Keep that, or split it into TYBW seasons. E1–20 → S1; E21–30 → S2; E31–40 → S3; E41+ → S4.

No operator series yet. Add a series to override how it flows. Any user modification to the way a series flows automatically removes that series from sharable metadata for that series.

Undo log

Misfiled after Fetcharr? Undo through a run, or return files to [Staging]. Expanding a run lists each domain grabber (0 files if none).

(2026-09-14) 22:52 41 File(s).

LOOK stub — grabber breakdown (0 files if none).

(2026-09-13) 21:55 2 File(s).

LOOK stub — grabber breakdown (0 files if none).

(2026-09-13) 06:00 5 File(s).

LOOK stub — grabber breakdown (0 files if none).

(2026-09-13) 05:58 5 File(s).

LOOK stub — grabber breakdown (0 files if none).

(2026-09-12) 23:00 3 File(s).

LOOK stub — grabber breakdown (0 files if none).

(2026-09-12) 01:13 5 File(s).

LOOK stub — grabber breakdown (0 files if none).

Playlists

Episode slices only — not a full series, collection, or discography. Pushes to Emby / Jellyfin when keyed.

This week

This week

Slice

Theme

Catalogue CSV episode titles. Refuses if the filter would take the whole series.

Queue

Sitting Servarr Activity and downloader traffic for each Domain Grabber. Date bars share one window when linked. Lamps and speeds catch up in the background.

Sonarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Radarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Sportarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Youtubarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Lidarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Soularr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Readarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Listenarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Kapowarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Cardarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Questarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Romarr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Whisparr

↓ 0 B/s · ↑ 0 B/s
Sat26
Sun27
Mon28
Tue29
Wed30
Thu1
Fri2

TODAY 0

  • Nothing dated today.

UPCOMING 0

  • Nothing upcoming.

UNGRABBED 0

  • Nothing ungrabbed in this window.

SERVARR QUEUE 0

  • No sitting Servarr queue.

GRABBED 0

  • No grabs in this window.

DOWNLOADING 0

  • Nothing on the downloader.

COMPLETED 0

  • No completions in this window.

Metadata

Look up, strip embedded tags, sidecar census, and duplicate intelligence. Strip is remux-only. Dupes never delete.

Lookup

LOOK — results paint here when Metadata function is wired.

Flag a problem

You flag a bad copy. Boxarr hunts a replacement at max priority — above Fetcharr, never dropped by --stopallothers. Align/Repair find problems; this flags one.

Flag a copy

Media type
Media Forma
Database
Where to search
What's wrong
How to proceed

Recent media

Recent titles from Fetcharr logs in this window.

No recent rows until Flag is wired.

Align

Light profile rules: SxxExx + bare extensions. No full-name rewrite.

Align / lock

Or batch

Lock sets files read-only and flips Emby/Jellyfin metadata locks. Unlock reverses. Align skips a locked title.

Versions

Upgrade keeps the better copy. Replace takes the new one. Cleanup deletes *.boxarr-N leftovers.

Repair

Look up by title, then path + health probe. No raw paths. Diagnose only — not a remux, not Review.

Check

Review

Current and Past media with issues — flagged releases plus Boxarr/Fetcharr parked items. Range chips match Queue.

Current Media with issues

Loading.

Past Media with issues

Loading.

Logs

Files is the browse home. Open a folder, or search. Purge old logs under Files. Live job output stays in the pane below.

Files

Loading…

Open a folder.

Purge logs

Drops old Boxarr log files under logs/. Does not delete media. Default keep is 14 days.

Help

Supported services, Fetcharr Daily steps, live verbs, and CLI flags.

Supported Services

Every service Boxarr can take, sorted like the Control Panel. Support is a ladder: Unwired (Designed) → Wired (Implemented) → Tested → Verified → Certified. Untested is a flag for services Conner will not test before initial release; community feedback may fill Tested and Verified on those. Certified stays Conner. Empty official links are omitted. This list is the catalog (templates), not your live credentials.

SoT: configuration/supported-services.json5.

Loading catalog…

Fetcharr

Fetcharr is Boxarr’s Daily ingest. It does not replace Sonarr, Radarr, or the downloader. It claims what landed, proves it, names it, places it, and follows up on the parents it touched. Host is site-root Boxarr.exe. The CLI verb is python boxarr.py --fetcharr — that is not the activate path.

Catalog is the source of truth. Downloader tags are the first hypothesis — catalog confirms or corrects. Filename guessing does not override a downloader tag. Face language is downloader. [Staging] spelling is intentional.

Numbers below are run order (1–26). Default = execute. Test Mode (--testfirst / --test / --dryrun) is one global switch — plan only. Rotate, re-mux, and transcode stay off until Autorun; skipped is honest.

Three moves: Claim (1–9) → Place (10–14) → Follow-up (15–26). Queue first, then disk. Rename in [Staging] before the library place. Readable media before Flag. Complete empty after move+verify. Active = live queue jobs only.

  1. #01Queue
  2. #02Stop
  3. #03Stage
  4. #04Verify
  5. #05Check
  6. #06Rename
  7. #07Library
  8. #08Remove
  9. #09Clean
  10. #10Catalog
  11. #11Metadata
  12. #12Sidecars
  13. #13Lock
  14. #14Refresh
  15. #15Flag
  16. #16Rotate
  17. #17Re-mux
  18. #18Check Remux
  19. #19Transcode
  20. #20Check Transcode
  21. #21Missing
  22. #22Stall
  23. #23Flags
  24. #24Add
  25. #25Push
  26. #26Kaizen

Claim — steps 1–9

Know what is supposed to be there, move it into [Staging], prove it, rename it, place keepers in the library, then take it off the rest of the stack so nothing keeps hunting a file Boxarr holds.

#01 Process the Grabarr Queue

Find out what is supposed to be here (Grabarr queue) and what actually landed (Complete disk). That pair is this run’s work item.

How
  • Connect to Grabarr. Keep the queued item, magnet, direct-download URL, and downloader save path / category / tags.
  • Downloader category / tag / label is the working media type and forma. Filename guessing does not override a downloader tag.
  • Scout Complete drop folders. Loose files at the Complete root count. Pure […] folders are buckets, never titles.
  • Skip dotfiles, skip names, and Flagged exact versions (Do Not Download Again).
Does not
  • Rename, place to library, or hunt Servarr.
  • Treat encryption as a Daily step.

#02 Stop the Downloader

Freeze the related downloader jobs so the file is not still writing while Boxarr moves it. Confirm type / forma against the catalog.

How
  • Stop/pause related jobs for this run’s work items. Seed/upload may already be settled; pause active downloads.
  • Assume the downloader was right (Step 1), then confirm against the catalog. Catalog agrees → keep. Catalog disagrees → catalog wins.
  • A dead downloader is reported. It does not abort the rest of the run.
Does not
  • Pause every client.
  • Remove the job — that is Step 8.

#03 Move Media to [Staging]

Claim the work item into untyped [Staging]. That is the holding land — not the grabber path, not the downloader path, not the library home.

How
  • Ensure each library’s [Staging] folder exists before claiming into it.
  • Cross-lane live dumps are refused.
  • A leftover already in [Staging] can be claimed.
Does not
  • Verify the file yet — that is Step 4.
  • Place into the live library home — that is Step 7.

#04 Verify the Media (in [Staging])

Prove that what landed is what the acquisition claimed, and that it is acceptable to keep. First verify gate.

How
  • MediaInfo and the health probe: video/audio characteristics, language, region, tracks; the file actually opens (known video types).
  • Unknown / unsupported types park in Review and drop out of this run.
  • A known type that will not open is Do Not Download Again for that exact version and drops out.
  • Books, comics, manga, magazines, ROMs skip the video probe; they still need a known type.
Does not
  • Place a bad copy into the library.
  • Queue the replacement — that is Step 5.

#05 Check Media

If verification failed: throw the copy away and ask for another. It must not become canonical library content. (Was Reject / Re-queue Failed Media.)

How
  • Reject the copy.
  • Queue a replacement through the server-app stack / Flag refetch.
  • This is a decision/action, not a complicated branch.
Does not
  • Grab a future release — that is a History action, not this step.
  • Keep a failed file “just in case.”

#06 Rename Media

Apply the catalog / conventional name while the file is still in [Staging]. Record original name, new name, history.

How
  • Inbound naming stays conventional. Broken extensions (video mkv → .mkv) are fixed.
  • Fetcharr must not guess a previous name later — the record is the memory.
  • Rename happens before the library place (Step 7).
Does not
  • Dump unclear forma into Live Action.
  • Place the file — that is Step 7.

#07 Move Media to Library

Keepers leave [Staging] for the live library home. This is the place after verify / check / rename. Rejected copies never take this step.

How
  • Only files that passed Step 4 and were not rejected in Step 5.
  • Destination is the library home for this work (lane / type from Steps 1–2).
  • Record the placement (from [Staging], to library home) so History / Stepback can follow.
Does not
  • Place a rejected or unverified copy.
  • Wipe Complete leftovers — that is Step 9.

#08 Remove from Downloader, Grabber, and Jellyseerr

Once keepers are in the library (or rejects are gone), take the work off the rest of the stack so nothing keeps hunting a file Boxarr already holds.

How
  • Remove the matching downloader job.
  • Remove matching grabber queue rows (strict title / SxxEyy).
  • Unmonitor the grabbed episode/movie on the grabber (History / Stepback can restore).
  • Clear matching Jellyseerr (and equivalent request) junk.
Does not
  • Pause unrelated downloads.
  • Wipe disk leftovers — that is Step 9.

#09 Comprehensive Cleanup

Leave nothing from this acquisition except what is still a live downloader job. Complete for this work should be empty. Active should be queue-only.

How
  • Active: keep a file only if a downloader job still owns it. No job = remove.
  • If every downloader client is down, do not wipe packages.
  • Complete after a successful move + verify: empty. Lane buckets stay.
  • Encoder junk (nfo/txt/samples) unless the operator opted to preserve auxiliary media.
Does not
  • Delete the lane buckets themselves.
  • Wipe Active when every downloader is down.

Place — steps 10–14

Ask the catalog what it is, fill metadata, write sidecars, lock/hide them, and refresh the server so the file is readable. Keepers already left [Staging] in Step 7.

#10 Check Against Catalog

Ask the catalog what this file is called and where it should live now that it is in the library home (not [Staging]).

How
  • Canonical series name comes from the catalog.
  • If the live home moved since last place, note it so History / Stepback can follow.
Does not
  • Rename — that already happened in Step 6.
  • Invent a name from the filename when the catalog already has one.

#11 Update / Complete Metadata

Fill empty catalog fields for this work. Do not thrash records that are already complete.

How
  • Complete current metadata in the catalog → use it. Do not refetch.
  • Incomplete → use what exists; queue missing metadata work to the end of this run’s queue; fetch only the affected episode/item.
Does not
  • Write sidecars — that is Step 12.
  • Refetch a complete catalog record for sport.

#12 Build Sidecars

Write the configured metadata files beside the media. That is the external representation Kaizen will check.

How
  • Sidecars live next to the file, not inside it.
Does not
  • Lock / hide sidecars — that is Step 13.
  • Refresh the media server — that is Step 14.

#13 Lock / Hide Sidecars

Hide, archive, and optionally lock the sidecars this run just wrote so they are managed, not casual litter next to the media.

How
  • Valid managed sidecars are hidden / archived and may be set read-only.
  • Do not lock third-party or user-managed sidecar files.
Does not
  • Rewrite the sidecar contents — that was Step 12.
  • Refresh the media server — that is Step 14.

#14 Refresh Media Server

Tell the media server the file is here, named, and has sidecars — so it is readable.

How
  • Configurable grabbers / priorities.
  • Smallest useful scope first (current season / current work). Whole-library rescan only when that is the smallest practical operation (movies).
Does not
  • Scan the whole library as a habit.

Follow-up — steps 15–26

After the file is readable: tick Flag, optionally rotate / re-mux / transcode (each with its own check), note missing members, clear stalls, re-check Flag, add missing/failed, push what is due, then Kaizen the branch this run touched.

#15 Review Flagged Media

Tick Flag and open reports after the package is readable — not at the head of Daily, so ingest is not blocked on report chrome.

How
  • Replay retryable actions from the last run (stale “running” → failed).
  • Load the Flag list (Do Not Download Again for exact versions — already honored at Step 1).
  • Tick open reports without a Servarr search.
Does not
  • Hunt Servarr.
  • Start new grabs.

#16 Rotate Media optional

Default: keep all media. When Autorun turns this on, free space by removing the oldest eligible owned titles — never Kaizen, Review, or Flag.

How
  • Space-limited policy: type, capacity, max GB, FIFO, age, watched, recency, minimum preserve. Oldest eligible first.
  • Holds: unwatched, in-progress, current season, specials, locked titles, Review-parked, protect list.
  • After a remove: unmonitor so it is not immediately re-grabbed.
Does not
  • Run unless Autorun turns it on. Skipped is honest, not a fake OK.
  • Act as Kaizen, Review, or Flag.

#17 Re-mux Media optional

Reorganize the container without re-encoding (tracks, language, chapters, attachments). Off until Autorun. Re-mux ≠ transcode.

How
  • Choose which streams stay.
  • Quality check is Step 18 (Check Remux). Failed output parks in Review.
Does not
  • Change the codec / resolution / bitrate — that is transcode (Step 19).
  • Promote a rewrite that fails the probe.

#18 Check Remux optional

After re-mux, prove the new file. Do not promote a rewrite that fails. If remux was skipped, this step skips (honest).

How
  • ffprobe must open the file; streams and format must be readable.
  • Failed output parks in Review; the bad rewrite is not canonical.
Does not
  • Re-encode or re-mux.
  • Replace Step 4 (inbound MediaInfo) or Kaizen’s later verify.

#19 Transcode Media optional

Change encoded media (codec, resolution, bitrate, hardware/software). Off until Autorun.

How
  • Quality check is Step 20 (Check Transcode). Failed output parks in Review; do not promote.
  • If ingest priority puts transcode ahead of viewable, files may stay in [Staging] until this pass succeeds.
Does not
  • Only reshuffle streams — that is re-mux (Step 17).
  • Promote a rewrite that fails the probe.

#20 Check Transcode optional

After transcode, prove the new file. Do not promote a rewrite that fails. If transcode was skipped, this step skips (honest).

How
  • ffprobe must open the file; streams and format must be readable.
  • Failed output parks in Review; the bad rewrite is not canonical.
Does not
  • Re-encode or re-mux.
  • Replace Step 4 (inbound MediaInfo).

#21 Check Library for Missing Content

Against the catalog, note what this run’s parent is still missing — only media this run touched.

How
  • Example: catalog E1–E10, library has 1, 2, 10 → 3–9 missing → queue acquisition.
Does not
  • Sweep the whole library.
  • Fire global MissingEpisodeSearch.

#22 Remove Stall Downloads

Clear stalled / dead downloader jobs that are not actually progressing so they do not sit forever in Active.

How
  • Identify stalled or timed-out downloads for this run’s work (and obvious dead jobs).
  • Remove those jobs from the downloader. Do not wipe a live download.
Does not
  • Pause healthy downloads.
  • Wipe Complete leftovers — that is Step 9.

#23 Check Flagged Items

Re-check Flag after follow-up work. Honor Do Not Download Again and tick anything this run newly earned.

How
  • Reload Flag. Exact versions marked Do Not Download Again stay skipped.
  • Tick reports opened by later steps (rotate / remux / transcode / missing).
Does not
  • Start new grabs from Flag chrome.
  • Replace Step 15 (first Flag tick).

#24 Add Missing / Failed Items

Queue acquisition for missing members and failed replacements this run already identified. Do not invent a global hunt.

How
  • Push the missing / failed list from Steps 5, 21, and 23 onto the grabber / request stack.
  • Due / in-window work is strong priority.
Does not
  • Sweep titles this run never touched.
  • Take over a high-priority grab the operator wants outside Fetcharr’s window.

#25 Push Scheduled Items

Push what is already on the acquisition list and due inside Fetcharr’s window. Not a new hunt outside that window.

How
  • Items already on the list, paused in grabbers, missing from the server-app stack, inside the current acquisition window, or scheduled / currently due.
  • Due / in-window = strong priority. Outside the core/time frame = massively deprioritized or paused.
  • Sitting Activity (queued / delay / warning / dead client) is not HAVE. Downloading is left alone.
Does not
  • Take over a high-priority grab the operator wants outside Fetcharr’s window — they use another client.

#26 Kaizen

Final cleanup and normalization of anything this run touched. Target: catalog → media → sidecars, relationships clean. Scope is the branch being processed, not sibling shows.

How
  • Catalog: names and paths match; have vs expected; missing members of the parent this run touched.
  • Quality (owned files only): language, quality, bitrate, container.
  • Sidecars: metadata fleshed out; orphan/mismatched sidecars cleaned.
  • Verify touched media (same probe as Step 4).
Does not
  • Touch sibling shows.
  • Delete third-party or user-managed files. Unknown handling goes to Review.

Verbs

Boxarr work lands as verbs under modules/Boxarr/verbs/<name>/. This list matches what is on disk in Boxarr.test (import 2026-09-17). Mesh stays Metarr; face GUI is not a verb.

  • align — forma / kinds / tree alignment (forma, kinds, tree)
  • clients — Servarr, push, Jellyseerr, downloader clients (arr, arr_push, jellyseerr, qbittorrent)
  • core — actions ledger, components, fs, JSON format, lock, region, versions
  • kaizen — own / review-missing / review-pod
  • library — adopt, build, catalogue, edge cases, forma homes, home, lookup, policy
  • metadata — episode workbook, filemeta, IMDb, mediainfo
  • naming — classification, fields, labels, models, numbering, splits
  • net — connect, mediaservers, network profile, downloader paths
  • ops — control (health / diagnose / panic / pause / start), dupes, marks, purge, repair, rotate, staging clean, strays
  • pipeline — daily log / policy, progress, run, stepback
  • report — flags, placements
  • scan — checkpoint, media inventory, series log, truth
  • settings — configref, cred paths, history, services edit
  • steps — Daily step01–step17 implementations (base + step modules)

Skipped on import (not Boxarr-core verbs): mesh (Metarr), gui (face). See modules/Boxarr/verbs/README.md.

CLI

Maxim: default run = execute (real moves / API). Pass --testfirst (aliases --test / --dryrun) to plan only. There is no --execute flag.

LOOK host (live on Boxarr.test)

Site-root Flask shim: python Boxarr.py (also cli/boxarr_host.py).

  • --site-root PATH — override site root
  • --direct — direct serve mode
  • --console — console logging
  • --open-browser / --no-browser — browser open behavior

Default LOOK URL: http://127.0.0.1:8787/.

Verb CLI (donor SoT)

Full verb flags live in legacy D:\Sites\Boxarr\cli\parser.py (entry python boxarr.py). Boxarr.test verbs are landed under modules/Boxarr/verbs/; thin cli/ wrappers were not copied in the 2026-09-17 import (see modules/Boxarr/verbs/README.md). Until wrappers land here, use the donor tree for real flag dispatch — names below match that parser.

Entry + common flags

python boxarr.py --fetcharr
python boxarr.py --fetcharr --testfirst
python boxarr.py --list-steps
python boxarr.py --steps 1-5 --fetcharr
python boxarr.py --config PATH\to\config.json

Flags by verb home

  • pipeline — --fetcharr / --daily, --steps, --stepback, --list-steps, --logs, --search, --resume-state
  • ops — --health / --status, --diagnose / --diag, --panic, --pause, --start, --dupes, --rotate, --repair --check TITLE, --purge, --staging --clean|--ensure
  • net — --connect, --show-network
  • scan — --mediascan (alias --media; deprecated --scan), --fresh, --limit, media-type selectors
  • align — --align [TITLE], --forma, with scan helpers --findhome, --fill
  • library — --map (with --all / --arr / --qb / --library), --build --library, --audit --current|--full
  • metadata — --metadata --strip|--sidecar (and strip-* family)
  • report — --flag / --report (+ scope / reason / quarantine)
  • core — --actions, --region, --lock / --unlock, --version
  • kaizen — --cleanup [TITLE], --upgrade, --replace, playlist helpers
  • clients / settings — --show-creds, --write-example-config, --config
  • steps — selected via --steps / --list-steps while running --fetcharr

Media-type / forma selectors (compose with verbs)

--series --movies --anime --animation --adult-animation --live-action --talk-shows --sports --documentaries --music --books --comics --manga --roms --private --cards --magazines — and --all where the verb accepts it.

Seek (library hunt — not a standalone verb folder)

python boxarr.py --seek --series --core=YYYY-CC
python boxarr.py --seek --movies --year=YYYY --backlog=N

Never fires global MissingEpisodeSearch / MissingMoviesSearch. Mesh (--mesh) is Metarr-lane, not a Boxarr.core verb.

LOOK / GUI aliases (donor)

--gui (aliases --webui / --web / --server), --gui-port, --gui-host, --no-browser, --detach, --gui-stop, --restart.

Bugs

Parked. Use this tab when something in Boxarr is wrong and you want it written down.

Report

Bug report (LOOK).

QA

Alpha. Prefer Copy of /qa/ packs, inlined here.

Overview

Sprite Packs Prefer Copy the /qa/ pack pages (SVG Icon Pack, Fetcharr Mascot, Fetcharr Strips). Artwork stays under assets/.

Sprite Packs

SVG Icon Pack

Icons - assets/svg-libraries/servarr-full-icons-pack.svg

Full pack - live Illustrator layers - Law 8 chevrons - Applications / Vectors default closed

Loading pack.

Fetcharr Mascot

Fetcharr mascot - assets/fetcharr/fetcharr-mascot-strip.svg

Same format as strips: T2 = animation name - T3 = sprites in labeled order - Law 8 chevrons

Mascot art is still WIP. Format is locked - save in Illustrator and refresh. todo / . is the unfinished set. Template layer is skipped.

FPS

Loading mascot.

Fetcharr Strips

Fetcharr strips - assets/fetcharr/fetcharr-strips.svg

T2 = animation name - T3 = sprites in frame order - rows ABC - Law 8 chevrons

Live file (SVG not edited). Frames play in labeled order. Pause a row, or click a thumb to pin a frame.

Search

FPS

Loading strips.

Grabber color tables

LOOK test case — per-Servarr-grabber title / bg / trim. Hex lives in styles/grabbers/*.cs3. Face sample hides when the table is too narrow.

Grabber Title BG Trim Face sample
Sonarr #00cafd #002630 #008cb0
Sonarr
paint stub
Radarr #fec130 #302508 #b18621
Radarr
paint stub
Sportarr #c77575 #300000 #a33a3a
Sportarr
paint stub
Youtubarr #ff0033 #310009 #b20023
Youtubarr
paint stub
Lidarr #009151 #001008 #004426
Lidarr
paint stub
Soularr #009151 #001008 #004426
Soularr
paint stub
Readarr #e45b5d #2e050b #881f21
Readarr
paint stub
Listenarr #e45b5d #2e050b #881f21
Listenarr
paint stub
Kapowarr #e7c400 #191500 #9a8300
Kapowarr
paint stub
Cardarr #e7c400 #191500 #9a8300
Cardarr
paint stub
Questarr #e040fb #240528 #9b2cae
Questarr
paint stub
Romarr #e040fb #240528 #9b2cae
Romarr
paint stub
Whisparr #fe69b2 #301422 #b1497c
Whisparr
paint stub
Prowlarr #e89a6c #2a0e00 #5c2a12
Prowlarr
paint stub
Bazarr #75a0c7 #001a30 #75a0c7
Bazarr
paint stub
Fetcharr #7ec8e3 #002433 #7ec8e3
Fetcharr
paint stub