Files
MediaOrganizer/docs/adr/0014-correction-learning.md
Shuery c1ed1795c2
CI / lint + test + build (push) Canceled after 0s
docs: 重写 README、新增项目报告与开发工具配置
- README 现代化重写:徽章区、特性一览、统一 GitHub 提示块格式、修正版本号与 AI 默认值
- 新增 docs/PROJECT_REPORT.md 学术项目报告(含许可证合规分析与死链修复记录)
- 收录 23 份 ADR 架构决策记录与 CONTEXT.md 领域术语表
- 新增开发配置:.editorconfig / .shellcheckrc / .markdownlint-cli2.jsonc
- .gitignore 补充 mo_map/、检查报告、编辑器临时文件
- 新增 config.example.json 配置模板(不含真实密钥)
2026-08-14 22:41:40 +08:00

8 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 纠错学习(corrections.json):手动修正的持久化与前置命中
`--rerun` 让用户能手动纠错,但修正是一次性的——同命名系列文件(同一压制组规范命名的整季)下次运行仍会重新识别错。决定:引入 `$CACHE_DIR/media_organizer/corrections.json`(`{clean_name(源文件名)小写: {dest, learned_at}}`)——`--rerun` 链接成功后学习(用户显式修正的目标即权威,立即原子写盘);识别池入口前置命中(key 一致且 dest 位于当前 DESTINATION_DIR 下)→ 直接产出 DEST,跳过 parse/识别/AI/冷却。
**边界语义**:① 学习源**只有 --rerun**(用户显式确认),organize 自动识别成功不学习——避免把脚本自身可能的错误固化;② 消费优先级:已链接 > 纠错命中 > 失败冷却——用户修正过的文件不受冷却退避阻塞(纠错是强信号,无需再等重试);③ dest 必须位于当前 `DESTINATION_DIR` 下(用户改到别的库则本次不适用,防跨库误放);④ 目录参数归一化为绝对路径(`normalize_abs`)——账本存绝对路径,相对目录参数下前缀比较才成立;⑤ key 算法 = 去扩展名 + `clean_name` 小写(与 `--rerun` 学习写入严格一致),与特典 keymap 的"学习写回 + 键小写化"同构;⑥ 目标被删不失效(纠错映射是"该放哪"的权威,重新链接即可),源文件消失自然无影响。
**Considered Options**: 只改账本不做学习(原状)——同类文件每季重错一遍;学习 AI 识别结果(自动纠错)——无用户确认,错误会被固化;按绝对路径学习——同一文件换目录/移动后失效,按 clean_name 才能覆盖同命名系列。