goon/app/resolve
jtrzupek fad72e9cd6 fix(tags): merge <base>2 numbered-duplicate tags + prevent regeneration
TPDB taxonomy emits numbered-duplicate tags (name "Bubble Butt2"); slugify
yields "bubble-butt2" (no separator before digit), so resolve_tag created a
separate tag alongside "bubble-butt". Tube scenes inherited the dup via
scene-merge → 75 pairs, ~10k scene_tags on the wrong tag.

- resolve_tag: canonicalize "<base>2" -> "<base>" when base exists (handles
  current + future; trailing-"2"+alpha guard leaves milf-30/teen18 intact)
- scripts/merge_dup2_tags.py: one-off bulk merge (scene_tags + movie_tags +
  blacklist) and taxonomy-count refresh

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 23:18:44 +02:00
..
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
movie_match.py Initial commit 2026-05-20 10:10:22 +02:00
movie_resolver.py Initial commit 2026-05-20 10:10:22 +02:00
movie_score.py Initial commit 2026-05-20 10:10:22 +02:00
performer_resolver.py Initial commit 2026-05-20 10:10:22 +02:00
scene_match.py feat(ingest): SQL phash match, tag inference + backfill, clip-store skip, browse tubes, watchdog 2026-06-01 15:07:35 +02:00
scene_merge.py Initial commit 2026-05-20 10:10:22 +02:00
scene_resolver.py fix(scenes): propagate playback duration to Scene + duration-consistent counts 2026-06-01 21:31:01 +02:00
scene_score.py Mobile 0.1.9: OTA enable, WebView cookie-dismiss fix, porndoe connector 2026-05-22 11:20:57 +02:00
scoring.py Mobile 0.1.9: OTA enable, WebView cookie-dismiss fix, porndoe connector 2026-05-22 11:20:57 +02:00
studio_resolver.py Initial commit 2026-05-20 10:10:22 +02:00
studio_title_parser.py Initial commit 2026-05-20 10:10:22 +02:00
tag_resolver.py fix(tags): merge <base>2 numbered-duplicate tags + prevent regeneration 2026-06-06 23:18:44 +02:00