CI / lint + test + build (push) Canceled after 0s
- README 现代化重写:徽章区、特性一览、统一 GitHub 提示块格式、修正版本号与 AI 默认值 - 新增 docs/PROJECT_REPORT.md 学术项目报告(含许可证合规分析与死链修复记录) - 收录 23 份 ADR 架构决策记录与 CONTEXT.md 领域术语表 - 新增开发配置:.editorconfig / .shellcheckrc / .markdownlint-cli2.jsonc - .gitignore 补充 mo_map/、检查报告、编辑器临时文件 - 新增 config.example.json 配置模板(不含真实密钥)
8 lines
1.4 KiB
Markdown
8 lines
1.4 KiB
Markdown
# 同集冲突检测:仅检测 + 报告,不自动处理
|
|
|
|
多个来源文件识别到同一 (剧集, 季, 集) 时(如 1080p 与 720p 双版本、不同字幕组同集),链接阶段按官方多版本格式 `- 2` 去重静默完成——正确但不透明:用户无法知道哪些集存在多版本、无法指定保留版本。决定:新增 `detect_conflicts()`,识别成功的剧集条目按 `剧集目录||SxxExx`(含多集区间 `E01-E02`)聚合,同一 key 出现多个不同源 → 登记 `CONFLICT_MAP`,对照表新增「同集冲突」小节并列展示全部来源与目标,运行汇总打印冲突组数。
|
|
|
|
**边界语义**:① 仅检测 + 报告,**不自动删任何链接**(区别于 AB 的 revision 替换 Saga——硬链接库场景下自动替换风险大于收益);② Season 00 特典不参与(同名特典属正常多版本);③ 电影/音乐不参与(同标题多版本是 Jellyfin 官方支持的正常形态);④ 冲突条目在账本中同样可见——用户可用 `--rerun` 手动指定保留版本;⑤ 幂等:每次调用重建内存账本,不落盘。
|
|
|
|
**Considered Options**: 策略化 hold/replace(AB 式自动替换旧版本)——破坏性操作,且硬链接场景"旧版本"判定依赖下载器信息(本项目无下载器);仅靠 `- 2` 静默去重(原状)——正确但不可见,无法满足"指定保留版本"。
|