Merge #179: size bands are per episode

Closes #179
This commit is contained in:
Miguel Palhas
2026-08-24 19:52:40 +01:00
+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