Add repo-memory CLI test docs
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# Repo Memory `search` Test Plan Index
|
||||
|
||||
## Case Files
|
||||
|
||||
| Case Slug | File | Coverage Note |
|
||||
| --- | --- | --- |
|
||||
| `search-returns-matching-entry-snippet` | [search-returns-matching-entry-snippet.md](./search-returns-matching-entry-snippet.md) | returns a ranked text result with status and snippet lines |
|
||||
| `search-matches-alias-with-repo-filter` | [search-matches-alias-with-repo-filter.md](./search-matches-alias-with-repo-filter.md) | matches alias terms while narrowing by repo substring |
|
||||
| `search-returns-no-results-when-empty` | [search-returns-no-results-when-empty.md](./search-returns-no-results-when-empty.md) | prints `no results` for an empty search result set |
|
||||
| `search-rejects-missing-query` | [search-rejects-missing-query.md](./search-rejects-missing-query.md) | rejects invocations that omit the required `--query` flag |
|
||||
@@ -0,0 +1,34 @@
|
||||
# Case: `search-matches-alias-with-repo-filter`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `search` 会命中 alias,同时 `--repo` 作为路径子串过滤器只返回目标仓库的结果。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
- 已存在两个 Git 仓库:`TMPDIR/cupid-service` 与 `TMPDIR/mars-service`
|
||||
- 已分别执行:
|
||||
|
||||
```bash
|
||||
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/cupid-service --kind term --key AITask --summary "Plan 内嵌任务结构" --status confirmed --alias "plan task"
|
||||
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/mars-service --kind term --key DeployPlan --summary "发布计划" --status confirmed --alias "release plan"
|
||||
```
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory search --db TMPDIR/repo-memory.db --repo cupid --query "plan task"
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `0`
|
||||
- 输出包含 `[cupid-service] term:AITask [confirmed]`
|
||||
- 输出不包含 `[mars-service]`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- alias 会进入搜索面
|
||||
- `--repo` 是 repo path substring filter,而不是必须传完整绝对路径
|
||||
- 过滤发生在结果集层面,不影响 alias 命中能力
|
||||
@@ -0,0 +1,25 @@
|
||||
# Case: `search-rejects-missing-query`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `search` 对缺失 `--query` 的调用给出稳定失败契约。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory search --db TMPDIR/repo-memory.db
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `1`
|
||||
- stderr 包含 `--query is required`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `search` 不支持“列出全部”式空查询
|
||||
- 缺失查询词属于输入错误,而不是空结果
|
||||
@@ -0,0 +1,31 @@
|
||||
# Case: `search-returns-matching-entry-snippet`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `search` 返回的文本结果既包含 entry 身份信息,也包含便于人工判断的 snippet。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
- `TMPDIR/repo` 下已有一条 `confirmed` entry:
|
||||
|
||||
```bash
|
||||
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind chain --key ai-insight.get --summary "gateway -> app service -> cache/db" --detail "The AI insight read path goes through gateway before app service reaches cache and database." --status confirmed
|
||||
```
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory search --db TMPDIR/repo-memory.db --repo repo --query "insight gateway"
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `0`
|
||||
- 第一行包含 `1. [repo] chain:ai-insight.get [confirmed]`
|
||||
- 后续文本包含 `gateway` 的 snippet 片段
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `search` 的核心输出不是纯 id 列表,而是可直接消费的人工排查文本
|
||||
- 查询会同时命中 `key`、`summary`、`detail`
|
||||
@@ -0,0 +1,25 @@
|
||||
# Case: `search-returns-no-results-when-empty`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `search` 在没有命中项时返回稳定空结果文本,而不是异常退出。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 空数据库已完成 `init`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
repo-memory search --db TMPDIR/repo-memory.db --query "missing term"
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- 命令退出码为 `0`
|
||||
- stdout 等于 `no results`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- 空搜索结果被视为正常控制流
|
||||
- 调用方可以用退出码 `0` + 文本 `no results` 区分“没命中”和“命令失败”
|
||||
Reference in New Issue
Block a user