38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
# Case: `verify-downgrades-entry-missing-verified-on-commit`
|
|
|
|
## 用例意义
|
|
|
|
验证 entry 一旦缺少 `verified_on_commit`,在 repo 变得可验证后会被 `verify` 降级到 `needs_review`。
|
|
|
|
## 前置条件
|
|
|
|
- `TMPDIR/repo` 目录最开始不是 Git repo,但包含证据文件 `foo.txt`
|
|
- 已执行:
|
|
|
|
```bash
|
|
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind term --key AITask --summary "Recorded before git init" --status confirmed --dep file:TMPDIR/repo/foo.txt:hard
|
|
```
|
|
|
|
- 之后才把 `TMPDIR/repo` 初始化为 Git repo,并完成第一次 commit
|
|
|
|
## 输入
|
|
|
|
```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` 退出码为 `0`
|
|
- `verify` 输出包含 `verified 1 entries, 1 downgraded, 0 stale`
|
|
- `list` 输出包含 `term:AITask [needs_review]`
|
|
- `events` 输出包含 `downgraded (confirmed -> needs_review)`
|
|
- `events` 输出包含原因 `missing verified_on_commit`
|
|
|
|
## 断言结论
|
|
|
|
- 只要 entry 缺少 `verified_on_commit`,即使依赖文件当前存在,也不能继续保持 `confirmed`
|
|
- 这个边界主要出现在“先写 repo-memory,后补 Git 历史”的仓库演进阶段
|