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 `link` Test Plan Index
## Case Files
| Case Slug | File | Coverage Note |
| --- | --- | --- |
| `link-creates-relation-between-entries` | [link-creates-relation-between-entries.md](./link-creates-relation-between-entries.md) | persists one directed relation between two existing entries |
| `link-rejects-missing-relation` | [link-rejects-missing-relation.md](./link-rejects-missing-relation.md) | rejects empty relation input before write |
| `link-rejects-when-entry-id-missing` | [link-rejects-when-entry-id-missing.md](./link-rejects-when-entry-id-missing.md) | rejects link requests that omit either `--from-id` or `--to-id` |
@@ -0,0 +1,28 @@
# Case: `link-creates-relation-between-entries`
## 用例意义
验证 `link` 可以在两条已存在 entry 之间建立一条可持久化的关系记录。
## 前置条件
- 空数据库已完成 `init`
- 已存在两条 entry`#1 term:AITask``#2 chain:ai-insight.get`
## 输入
```bash
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --to-id 2 --relation related_to
sqlite3 TMPDIR/repo-memory.db "SELECT relation FROM knowledge_links WHERE from_entry_id = 1 AND to_entry_id = 2;"
```
## 预期输出
- `link` 命令退出码为 `0`
- `link` 输出 `linked #1 -[related_to]-> #2`
- SQL 查询返回一行 `related_to`
## 断言结论
- `link` 的副作用已落库,而不是只打印成功提示
- 关系是定向的,方向由 `from-id``to-id` 决定
@@ -0,0 +1,26 @@
# Case: `link-rejects-missing-relation`
## 用例意义
验证 `link` 对空 relation 输入给出稳定错误,而不是写入无意义关系。
## 前置条件
- 空数据库已完成 `init`
- 已存在两条 entry`#1``#2`
## 输入
```bash
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --to-id 2
```
## 预期输出
- 命令退出码为 `1`
- stderr 包含 `relation is required`
## 断言结论
- `relation` 是必填输入
- 错误发生在写库前,不会产生半有效的 link 记录
@@ -0,0 +1,26 @@
# Case: `link-rejects-when-entry-id-missing`
## 用例意义
验证 `link` 在缺少 `--from-id``--to-id` 时,会在写库前拒绝请求。
## 前置条件
- 空数据库已完成 `init`
- 已存在一条 entry`#1 term:AITask`
## 输入
```bash
repo-memory link --db TMPDIR/repo-memory.db --from-id 1 --relation related_to
```
## 预期输出
- 命令退出码为 `1`
- stderr 包含 `both entry ids are required`
## 断言结论
- `link` 需要完整的双端 entry id,不能只靠单端 id 建立半关系
- 缺失 id 的错误发生在写库前,不会生成不完整 link 记录