37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# Case: `verify-downgrades-changed-file-dependency`
|
|
|
|
## 用例意义
|
|
|
|
验证 `verify` 在硬依赖文件内容发生变更时,会把 `confirmed` entry 降级为 `needs_review`。
|
|
|
|
## 前置条件
|
|
|
|
- 空数据库已完成 `init`
|
|
- `TMPDIR/repo` 是一个已提交初始 commit 的 Git 仓库
|
|
- 已执行:
|
|
|
|
```bash
|
|
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind term --key AITask --summary "Plan 内嵌任务结构" --status confirmed --dep file:TMPDIR/repo/foo.txt:hard
|
|
```
|
|
|
|
- 在执行 `verify` 前,`TMPDIR/repo/foo.txt` 已被修改但尚未重新验证
|
|
|
|
## 输入
|
|
|
|
```bash
|
|
repo-memory verify --db TMPDIR/repo-memory.db --repo TMPDIR/repo
|
|
repo-memory list --db TMPDIR/repo-memory.db --repo repo --status needs_review
|
|
repo-memory events --db TMPDIR/repo-memory.db --id 1
|
|
```
|
|
|
|
## 预期输出
|
|
|
|
- `verify` 输出包含 `verified 1 entries, 1 downgraded, 0 stale`
|
|
- `list` 输出包含 `term:AITask [needs_review]`
|
|
- `events` 输出包含 `downgraded (confirmed -> needs_review)`
|
|
|
|
## 断言结论
|
|
|
|
- 文件变更不会直接删除知识,而是先降级为 `needs_review`
|
|
- `verify` 会同时更新当前状态与历史事件
|