这一轮做的是交付一致性检查:把这一路改掉/移走/删掉的每个符号在全仓(含文档)扫一遍。42 处命中里 38 处是正当的 —— CHANGELOG 与 ADR 里讲“原来是什么”属于历史叙述,test 里的 Assert-FileExists 是因为我只抑制了误判而没有改名。剩下的 4 处是真陈旧: * README 还在配置表里写着 CatalogMaxDepth,而那个配置项上一轮已经整条移除; * Get-BakNRetItemArchiveName 的 param 里还留着一个内联的 [int]$MaxDepth = 5(上一轮的删除按行匹配,没覆盖到这种写在同一行的参数),它已经没有任何调用方传值; * tools\lab\README.md 与 docs\agents\domain.md 还写着模块叫 Common.psm1。 这正是这次改造从头到尾在抓的毛病:文档承诺的东西,代码已经不做了。区别是多了一个可执行的检查 —— 符号改名/删除之后,全仓扫一遍旧名字。 验收:test.ps1 9/9 全绿(7 与 5.1)、真实清单只读冒烟 4/4。
47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
# 领域文档
|
||
|
||
探索代码之前,工程技能应当怎么消费本仓库的领域文档。
|
||
|
||
## 探索之前先读
|
||
|
||
- 根目录的 **`CONTEXT.md`**;或者
|
||
- 根目录的 **`CONTEXT-MAP.md`**(若存在):它指向每个上下文各一份 `CONTEXT.md`,只读与当前主题相关的那几份。
|
||
- **`docs/adr/`**:读与你要动的区域相关的 ADR。
|
||
|
||
这些文件不存在就**静默继续**:不要提示缺失,也不要提议先建它们。
|
||
`/domain-modeling`(经 `/grill-with-docs`、`/improve-codebase-architecture` 抵达)
|
||
会在术语或决策真正落地时按需创建。
|
||
|
||
## 文件结构
|
||
|
||
本仓库是**单上下文**:
|
||
|
||
```text
|
||
/
|
||
├── CONTEXT.md ← 术语表 / 领域模型(尚不存在,懒创建)
|
||
├── docs/adr/ ← 决策记录(尚不存在,懒创建)
|
||
│ └── 0001-....md
|
||
├── BakNRet\BakNRet.psd1 ← 公共模块:日志、清单解析、名录、归档布局、安全描述符
|
||
├── Backup.ps1 ← 备份入口
|
||
├── Restore.ps1 ← 恢复入口
|
||
├── BackupList.txt ← 唯一「要处理什么」的来源
|
||
├── SoftwareCatalog.psd1 ← 软件名 → Slot 组
|
||
├── BackupConfig.psd1 ← 目录、空间阈值、加密、安全描述符
|
||
├── tests/ ← Pester、零依赖、端到端、真实归档恢复演练
|
||
└── tools/ ← 计划任务注册、归档改名、tools\lab 的 Hyper-V 测试环境
|
||
```
|
||
|
||
## 用词表里的词
|
||
|
||
输出里一旦出现领域概念(issue 标题、重构提案、假设、测试名),就用 `CONTEXT.md`
|
||
里定义的那个词,不要漂到它明确避开的同义词。
|
||
|
||
需要用的概念不在词表里,本身就是一个信号:要么你在发明项目不用的语言(重新想),
|
||
要么真的缺一条(记下来交给 `/domain-modeling`)。
|
||
|
||
## ADR 冲突要点名
|
||
|
||
如果你的输出与某条 ADR 矛盾,明确说出来,而不是悄悄覆盖:
|
||
|
||
> 与 ADR-0007(事件溯源订单)冲突,但值得重开,因为……
|