feat(metadata): overview falls back to Chinese variants only (MD-2)

- adapters: overviewLanguages() limits overview/tagline chain to Chinese
  variants (zh-CN→zh-SG→zh-TW→zh-HK); titles keep full chain; season
  supplement fetch skips languages useless for overview
- setting metadata.overviewNonChineseFallback (default off) + UI switch
- media detail shows "暂无简介" for empty entity/episode overview
- scripts/overview-recompute.ts: recompute stored non-Chinese overviews
  from kv_cache only (no TMDB requests), dry-run by default, --apply
- tests: chain unit tests, Heart Signal (103147) fixture, server
  recompute test, MP differential for episode overview
- runbook + CHANGELOG

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-30 18:04:23 +08:00
1 parent 081db4651c
commit f9901b514b
22 files changed
+887 -38

No files matched your search

+6
View File
@@ -4,6 +4,12 @@
## [Unreleased]
### 变更(MD-2 简介不回退英文)
- 作品、季、集的简介(以及作品标语)只回退到中文变体(缺省链 zh-CN → zh-SG → zh-TW → zh-HK),不再回退到 en-US;都没有就留空。标题、别名仍按完整回退链(可到 en-US)。排在第一个中文之前的语言照常用,链里没有中文时按原链。对照 MP:每集信息只按配置语言取,简介为空就为空。
- 设置 → 元数据 → TMDB 新增「简介回退到非中文」(`metadata.overviewNonChineseFallback`,缺省关),打开后恢复旧行为。
- 媒体详情:作品和每集没有简介时显示一行小字「暂无简介」。已有的英文简介在下次刷新时按新规则清掉。
- 存量重算脚本 `scripts/overview-recompute.ts`:找出语言不在简介链里的作品 / 季 / 集简介,不请求 TMDB,只用 `kv_cache` 里缓存的 TMDB 响应按新规则重算(缓存已淘汰的直接清空);缺省 dry-run,`--apply` 写库。见 `docs/runbook/metadata.md`「存量简介重算(MD-2)」。
## [0.3.2] - 2026-09-30
### 新增(BR-4 浏览器 UA 与指纹统一)