Reclassify skips titles with no stored original language #248

Open
opened 2026-08-25 12:04:37 +01:00 by naps62-yolo · 0 comments
Owner

reclassify.rs:50-53 and :94-97 return early when a title has no stored
original_language:

let Some(language) = movie_language(state, movie_id).await? else {
    return Ok(());
};

The skip is right for the language rule — without the language the required-audio
rule has nothing to compare, and guessing would move verdicts on worse evidence
than the ones already there. But it drops the title from re-derivation of the
size bands, resolution and source rules too, none of which need a language.

movies.original_language is documented as "Nullable until the first metadata
refresh" (0001_movies.sql:47-48), so this is reachable — a title added and then
had its root's policy changed before the metadata tick ran.

Low impact: the metadata lane fills it within 24 hours and such titles usually
have no stored releases yet. But §5.1 now states the guarantee without exception,
so either narrow the skip to the language rule alone, or state the exception in
§5.1. Do not leave the document claiming something the code does not do.

`reclassify.rs:50-53` and `:94-97` return early when a title has no stored `original_language`: ```rust let Some(language) = movie_language(state, movie_id).await? else { return Ok(()); }; ``` The skip is right for the language rule — without the language the required-audio rule has nothing to compare, and guessing would move verdicts on worse evidence than the ones already there. But it drops the title from re-derivation of the size bands, resolution and source rules too, none of which need a language. `movies.original_language` is documented as "Nullable until the first metadata refresh" (`0001_movies.sql:47-48`), so this is reachable — a title added and then had its root's policy changed before the metadata tick ran. Low impact: the metadata lane fills it within 24 hours and such titles usually have no stored releases yet. But §5.1 now states the guarantee without exception, so either narrow the skip to the language rule alone, or state the exception in §5.1. Do not leave the document claiming something the code does not do.
naps62-yolo added this to the Feedback pass 2 milestone 2026-08-25 12:04:37 +01:00
naps62-yolo added the difficulty/easyarea/apitype/bug labels 2026-08-25 12:04:37 +01:00
naps62-yolo modified the milestone from Feedback pass 2 to Feedback pass 2 follow-ups 2026-08-25 12:16:49 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#248