Add repo-memory CLI test docs

This commit is contained in:
2026-03-20 15:42:35 +08:00
parent e32c81db12
commit a6ffc376e3
43 changed files with 1583 additions and 17 deletions
+9
View File
@@ -0,0 +1,9 @@
# Repo Memory `events` Test Plan Index
## Case Files
| Case Slug | File | Coverage Note |
| --- | --- | --- |
| `events-reads-history-by-id` | [events-reads-history-by-id.md](./events-reads-history-by-id.md) | prints newest-first history for one entry id |
| `events-resolves-entry-by-repo-kind-key` | [events-resolves-entry-by-repo-kind-key.md](./events-resolves-entry-by-repo-kind-key.md) | resolves an entry without `--id` when repo, kind, and key are provided |
| `events-rejects-missing-entry-selector` | [events-rejects-missing-entry-selector.md](./events-rejects-missing-entry-selector.md) | rejects calls that provide neither `--id` nor `--repo + --kind + --key` |
@@ -0,0 +1,28 @@
# Case: `events-reads-history-by-id`
## 用例意义
验证 `events --id` 会返回某个 entry 的历史记录,并按新到旧排序。
## 前置条件
- 空数据库已完成 `init`
- `TMPDIR/repo` 下已经执行过两次同 key 的 `add`,第二次把状态从 `draft` 更新为 `confirmed`
## 输入
```bash
repo-memory events --db TMPDIR/repo-memory.db --id 1
```
## 预期输出
- 命令退出码为 `0`
- 第一行包含 `term:AITask [confirmed] #1`
- 事件列表包含 `updated (draft -> confirmed)`
- 较早事件包含 `created (- -> draft)`
## 断言结论
- `events` 不只显示当前状态,也保留状态演进轨迹
- 输出顺序是最新事件优先,便于人工快速读到最近变化
@@ -0,0 +1,25 @@
# Case: `events-rejects-missing-entry-selector`
## 用例意义
验证 `events` 在既没有 `--id`,也没有完整 `--repo + --kind + --key` 选择器时,会返回稳定错误。
## 前置条件
- 空数据库已完成 `init`
## 输入
```bash
repo-memory events --db TMPDIR/repo-memory.db
```
## 预期输出
- 命令退出码为 `1`
- stderr 包含 `either --id or --repo+--kind+--key is required`
## 断言结论
- `events` 必须先能唯一定位 entry,才会进入历史读取路径
- 两种定位方式是互补关系,但至少要提供其中一种
@@ -0,0 +1,27 @@
# Case: `events-resolves-entry-by-repo-kind-key`
## 用例意义
验证 `events` 在没有 `--id` 时,仍可通过 `repo + kind + key` 解析目标 entry。
## 前置条件
- 空数据库已完成 `init`
- `TMPDIR/repo` 下已存在 `term:AITask` 一条 entry
## 输入
```bash
repo-memory events --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind term --key AITask
```
## 预期输出
- 命令退出码为 `0`
- 第一行包含 `term:AITask`
- 事件列表至少包含一条 `created`
## 断言结论
- `events` 支持两种定位方式:`--id``--repo + --kind + --key`
- 对调用方来说,repo-scoped natural key 足以定位单条 durable knowledge