feat: add dbtool tui live query workspace
- add shared db-app layer for connect/inspect/query/export events - add dbtool-tui workspace with sqlite-local live flow and QA docs - include host-validated acceptance updates for CMP-36 Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
96
TUI_REGRESSION_CHECKLIST.md
Normal file
96
TUI_REGRESSION_CHECKLIST.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# dbtool-tui-v1 回归清单(阶段 2 分层版)
|
||||
|
||||
## 0. 记录前提
|
||||
|
||||
- [ ] 记录验证日期、验证人、issue / heartbeat
|
||||
- [ ] 记录二进制路径:`target/debug/dbtool-tui`、源码构建产物或 packaged binary
|
||||
- [ ] 记录是否为“预构建二进制验证”还是“源码重建验证”
|
||||
- [ ] 记录终端尺寸、输入按键、输出日志路径
|
||||
- [ ] 若 live integration 已接线,记录对应 issue、构建版本、demo 环境与 seed 来源
|
||||
- [ ] 若任一步骤未执行,记录原因:未实现、缺环境、被上游 blocker 卡住,或非当前范围
|
||||
|
||||
## 1. Shell baseline 回归(当前 runner 可执行)
|
||||
|
||||
- [ ] `printf 'q' | script -qec 'stty rows 40 cols 120; ./target/debug/dbtool-tui' /tmp/tui-normal.log`
|
||||
- [ ] 确认退出码为 `0`
|
||||
- [ ] 确认日志包含 `Connections`
|
||||
- [ ] 确认日志包含 `Schema Browser`
|
||||
- [ ] 确认日志包含 `Query Editor`
|
||||
- [ ] 确认日志包含 `Results`
|
||||
- [ ] 确认日志包含 `Inspector`
|
||||
- [ ] 确认日志包含 `Status & Activity`
|
||||
- [ ] 确认日志包含 `Ready`
|
||||
- [ ] 确认日志包含 `Execution Idle`
|
||||
- [ ] 确认日志包含静态连接 / schema / result 示例文本
|
||||
- [ ] `printf 'q' | script -qec 'stty rows 20 cols 90; ./target/debug/dbtool-tui' /tmp/tui-small.log`
|
||||
- [ ] 确认退出码为 `0`
|
||||
- [ ] 确认日志包含 `Terminal Too Small`
|
||||
- [ ] 确认日志包含 `Resize the terminal`
|
||||
- [ ] 明确记录:`dbtool-tui --help` 不是有效的非交互 smoke
|
||||
|
||||
## 2. Shell 交互回归(静态 / 示例数据,不等于 live)
|
||||
|
||||
- [ ] `Tab` / `Shift+Tab`:焦点在六个面板之间移动
|
||||
- [ ] `1` / `2` / `3`、`←` / `→`:顶部视图切换
|
||||
- [ ] `Connections` 焦点下 `↑` / `↓`:连接选择移动
|
||||
- [ ] `Connections` 焦点下 `Enter`:激活所选静态连接并同步工作区上下文
|
||||
- [ ] 失败连接激活后仍保持可见错误
|
||||
- [ ] `Schema Browser` 焦点下 `↑` / `↓`:schema / object 选择移动
|
||||
- [ ] `Schema Browser` 焦点下 `Enter`:ready schema 展开 / 折叠;empty / restricted schema 给出明确反馈
|
||||
- [ ] `Query Editor` 焦点下 `[` / `]`:切换静态 query 草稿
|
||||
- [ ] `i`:进入插入模式并可录入字符 / 换行
|
||||
- [ ] `Enter`:触发静态 query 状态轮转或运行占位逻辑
|
||||
- [ ] 结果区可区分 success / empty / error
|
||||
- [ ] `Results` 焦点下 `[` / `]`:宽表列分页
|
||||
- [ ] `Results` 焦点下 `↑` / `↓`:结果行移动
|
||||
- [ ] `l` / `e` / `r`:状态切换
|
||||
- [ ] `Esc`:恢复默认工作台
|
||||
- [ ] `q`:稳定退出并释放 alternate screen
|
||||
|
||||
## 3. 第二阶段 live integration 回归(仅在 `[CMP-34](/CMP/issues/CMP-34)`、`[CMP-35](/CMP/issues/CMP-35)`、`[CMP-36](/CMP/issues/CMP-36)` 就绪后执行)
|
||||
|
||||
- [ ] 真实连接列表可加载
|
||||
- [ ] 真实连接激活可区分 loading / success / failure
|
||||
- [ ] 真实连接失败详情会持续显示在 `Inspector` 与 `Status & Activity`
|
||||
- [ ] 真实 schema / object / column 可浏览
|
||||
- [ ] empty schema 有明确空状态
|
||||
- [ ] restricted schema 有明确失败状态
|
||||
- [ ] `Query Editor` 可对真实活动连接执行查询
|
||||
- [ ] 真实查询会显示 running / success / empty / error
|
||||
- [ ] 真实 success 结果可浏览
|
||||
- [ ] 真实 empty 结果不会误记为错误
|
||||
- [ ] 真实 error 结果带可读定位线索
|
||||
- [ ] export 操作有成功 / 失败反馈
|
||||
- [ ] 工作区上下文在 inspect -> edit -> run -> review -> export 之间保持连续
|
||||
- [ ] 全路径确认未解析 CLI 文本
|
||||
|
||||
## 4. 源码 / CI / 发布前回归
|
||||
|
||||
- [ ] `cargo build -p dbtool-tui`
|
||||
- [ ] `cargo test -p dbtool-tui`
|
||||
- [ ] 内联测试与交互 smoke 都能在同一环境复现
|
||||
- [ ] 仓库存在 TUI 专属 smoke runbook
|
||||
- [ ] GitHub Actions 覆盖 `dbtool-tui`
|
||||
- [ ] packaged binary 在目标平台可执行
|
||||
- [ ] 非开发者按 runbook 可复现最小验收
|
||||
|
||||
## 2026-03-27 当前已回填项
|
||||
|
||||
- [x] 预构建二进制正常尺寸 shell smoke
|
||||
- [x] 正常尺寸退出码 `0`
|
||||
- [x] 正常尺寸日志含六区布局
|
||||
- [x] 正常尺寸日志含 `Ready`
|
||||
- [x] 正常尺寸日志含 `Execution Idle`
|
||||
- [x] 小终端 shell smoke
|
||||
- [x] 小终端退出码 `0`
|
||||
- [x] 小终端日志含 `Terminal Too Small`
|
||||
- [x] 小终端日志含 `Resize the terminal`
|
||||
- [x] 已确认 `dbtool-tui --help` 不能替代 TTY smoke
|
||||
|
||||
## 当前阻塞中的回填项
|
||||
|
||||
- [ ] 源码重建:当前 runner 缺 `cc` / `zig cc`
|
||||
- [ ] 源码测试:当前 runner 缺 `cc` / `zig cc`
|
||||
- [ ] live integration 回归:等待 `[CMP-34](/CMP/issues/CMP-34)`、`[CMP-35](/CMP/issues/CMP-35)`、`[CMP-36](/CMP/issues/CMP-36)`
|
||||
- [ ] CI smoke:仓库尚未覆盖 `dbtool-tui`
|
||||
- [ ] release artifact smoke:仓库尚未为 `dbtool-tui` 建立产物路径
|
||||
Reference in New Issue
Block a user