记录架构层面的「我们选 X 而不选 Y」的决策与理由。代码会说"是什么",但说不清楚"为什么不那么做"——ADR 填这个空。
| # | 标题 | 状态 | 日期 |
|---|---|---|---|
| 0001 | LoKr 适配器走 lycoris-lora 而不切 sd-scripts | Accepted | 2025 |
| 0002 | Webui 内自更新(flag + shell wrapper loop) | Proposed | 2026-05-12 |
| 0003 | anima_train.py 模块化重构(plugin 边界 + adapter hook protocol) | Proposed | 2026-05-14 |
| 0004 | 预处理状态用单 manifest 替代「双 bucket + per-image sidecar」 | Accepted | 2026-05-15 |
| 0005 | 更新通道作为用户视图偏好,与 git 工作树状态解耦 | Accepted | 2026-05-16 |
| 0006 | Queue 任务暂停 / 恢复 + 队列挂起 / 恢复调度 | Accepted | 2026-05-18 |
# NNNN — 简短标题(动词起头)
**状态**:Proposed | Accepted | Superseded by #N | Deprecated
**日期**:YYYY-MM-DD
**决策者**:@handle / 团队
## 背景
当时面对的问题、约束、外部因素。让未来读者不需要回到当时的语境也能看懂。
## 候选方案
简要列出讨论过的所有方案,包括最后没选的。每个方案给出优缺点。
## 决策
选了哪个、做了什么。
## 理由
为什么这么选。重点写**否决其他方案的具体理由**——这才是 ADR 的核心价值。
## 后果
落地后带来的好处、新增的约束、未来可能要还的债。
## 参考
链接到相关 PR、commit、外部资料。
文件名规则:NNNN-kebab-case-title.md,编号四位数字递增。