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
940 B
Markdown
8 lines
940 B
Markdown
# dry-run 零持久化副作用契约
|
||
|
||
原 `--dry-run` 只拦截链接创建,缓存照写、日志照写——跑一次 dry-run 会悄悄填充缓存。决定:dry-run = 本次调用不产生任何持久化副作用——不建链接、不写缓存、不写日志;TMDB 网络请求照常执行但结果不落盘,AI 批处理照常运行(费用视为运行成本而非持久化副作用)。
|
||
|
||
由此派生的合法性边界:`dry-run` × `cache-only`(1 目录)报错——dry-run 拦掉了 cache-only 的全部意义,且无链接可预览;`dry-run` × `update+organize`(2 目录)合法——强制重取照跑、缓存不写。这是行为变更:dry-run 不再暖缓存,可反复执行且零残留。
|
||
|
||
**Considered Options**: 只拦链接(原状)——预览最接近真实运行但产生隐藏副作用;全只读连网络都不调——最纯净但预览残缺,"待定"条目无法给出整理结果。
|