docs(design): size bands are per episode

A release covering several episodes is measured by size divided by the
episode count, for the target penalty and the floor alike. An unknown
count divides by one, which fails toward rejecting rather than grabbing.

Refs #179
This commit is contained in:
Miguel Palhas
2026-08-24 19:42:04 +01:00
parent a3897df0ab
commit 0c2ba6ff15
+24 -1
View File
@@ -77,7 +77,8 @@ Policy
required_audio rule set, see §5.2
dub_blacklist [pt-BR]
hdr_rules see §5.3
size_bands per resolution: floor, target, penalty curve
size_bands per resolution: floor, target, penalty curve,
all per episode (§5.5)
resolution_pref [2160p, 1080p]
source_weights small tiebreaker
@@ -284,6 +285,28 @@ remux scores badly but stays eligible, so it is picked when it is the only
option. The floor matters — unbounded "smaller is better" selects a 3 GB 4K
encode that looks like mud.
**A band describes one episode.** For a movie the question never arises — one
release is one film. For TV a release may carry a single episode, several, or a
whole season, and the shipped TV numbers are episode numbers: a 1080p target of
2 GiB is what one episode should weigh, not a ten-episode pack. So a release is
measured by its size divided by the number of episodes it covers, and that
per-episode figure is what both the target penalty and the floor are compared
against. A 20 GiB pack of ten episodes is scored as 2 GiB and sits at target,
not ten times above it.
The floor takes the same figure. It is a hard reject rather than a penalty, so
comparing a pack's total against an episode-sized floor lets every pack through
untested — wrong in the opposite direction from the target penalty. The floor
exists to keep a 3 GB 4K encode out, and a pack of ten such encodes has to fail
it just as plainly.
**An unknown episode count is one episode.** A release matched before its
season's episodes have been revealed by a metadata refresh has nothing to divide
by, and the rule does not guess a number: the divisor is 1 and the release is
measured by its full size. That is the behaviour today, and it makes a pack look
oversized rather than undersized — it fails toward rejecting a good pack rather
than grabbing a bad one, and the next search after a refresh has the real count.
Source tier (`Remux > BluRay > WEB-DL > WEBRip > HDTV`) survives as a small
tiebreaker. Seeders are log-scaled and small: enough to complete, past that it
does not matter. Telesync, CAM and screener are **hard filters**, not low