Matcher shared-core migration + rebrand aliases.
Highlights
- Shared vendored matcher core (#25) — EPG-Janitor now subclasses the single shared
FuzzyMatcherCore(matching_core.py), vendored byte-identically across all four matcher plugins. EPG-Janitor keeps its own OTAnormalize_namepipeline, EPG 4-priority callsign ladder, and single-digit token-overlap guard (partial subclass), inheriting only the body-compatible primitives (calculate_similarity,process_string_for_matching, callsign extract/normalize + denylist, length/trailing-number and decorative helpers). Ends the old copy-paste-to-4-copies divergence. - Rebrand bridge aliases (#26) — ported the proven rebrand/abbreviation alias set from Lineuparr: FXM→FX Movie Channel, HBO2→HBO Hits, HBO Zone→HBO Movies, HBO Signature→HBO Drama, EPIX→MGM+, DIY→Magnolia, MoreMax→Cinemax Hits.
Quality gates
- 503 tests pass (incl. golden drift gate + vendored-core parity gate); ruff clean.
- Vendored
matching_core.pybyte-identical to_shared(hash-pinned manifest). - Release zip built bug-087-safe (git archive, forward-slash separators, validated).
Install: download EPG-Janitor.zip and add it via Dispatcharr's plugin installer.