Files
MediaOrganizer/docs/adr/0008-manual-correction-ledger-rerun.md
T
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.5 KiB
Markdown
Raw 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.
# 手动纠错账本(.ledger.json)与 --rerun 重跑
无 WebUI 的 CLI 工具缺少"识别错了怎么办"的通道:改配置后全量重跑是唯一的纠错方式,且无法指定"这个文件要放到那里"。决定:`--export-map` 生成对照表 md 时**伴生同名 `.ledger.json`**(JSON 数组:`{src, dest, outcome, status, action}`,dest 为绝对路径),用户编辑账本(改 dest 为期望目标、把 action 置 `"rerun"`)后运行 `--rerun <文件>`:只执行标记条目,**不重新识别**,直接 mkdir + 硬链接(目标已存在且非同一 inode → 替换,即"手动纠错替换"语义)。
**职责边界**:账本导出与重跑都只处理"链接"这一层——识别/命名始终是脚本的确定性职责,账本只是把链接目标暴露给用户编辑。`--rerun` 是独立形状:不接受目录参数(账本内为绝对路径)、不加载 TMDB 认证、不跑 scan/识别/AI,可叠加 `--dry-run` 预览;`status` 字段由导出时现场校验(目标存在且同 inode → `linked`)给出,用户据此识别需要重跑的条目。
**Considered Options**: 引入 Python WebUI(FastAPI)——增加运行时依赖与部署复杂度,与纯 bash 单文件分发定位冲突;`--rerun` 重新识别目标(改标题重搜)——语义复杂且与 AI 流程重叠,纠错场景主要是"换目录/换名",链接层重跑已覆盖;不提供纠错(原状)——识别错误只能靠删库全量重跑。