Files
dbtool-cli-v1/TUI_ACCEPTANCE_CHECKLIST.md
Paperclip CTO 19aeb7784b
Some checks failed
release-smoke / macos-13 / x86_64-apple-darwin (push) Has been cancelled
release-smoke / ubuntu-latest / x86_64-unknown-linux-gnu (push) Has been cancelled
release-smoke / windows-latest / x86_64-pc-windows-msvc (push) Has been cancelled
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>
2026-03-27 17:17:20 +00:00

5.6 KiB
Raw Permalink Blame History

dbtool-tui-v1 验收检查表(阶段 2 分层版)

当前结论

  • 当前仍不能把 dbtool-tui-v1 整体判定为阶段 2 live integration 已全部通过;但 CMP-36sqlite-local 真实 query / results / export 路径已经完成宿主机侧重建与验收回填。
  • Product / PM 对齐依据:[CMP-33](/CMP/issues/CMP-33)[CMP-37](/CMP/issues/CMP-37)plans/2026-03-27-dbtool-tui-v1-phase-2-scope.md
  • CTO 优先级对齐依据:第二阶段关键路径仍是 [CMP-34](/CMP/issues/CMP-34)[CMP-35](/CMP/issues/CMP-35)[CMP-36](/CMP/issues/CMP-36)QA 不应越过 shared app 契约提前宣告 live 通过。
  • 2026-03-27 当前 runner 已回填 shell baseline 证据:./target/debug/dbtool-tui120x4090x20 TTY 路径都可复现,退出码均为 0
  • 当前 runner 不能把“源码可重建”记为通过:系统无 cargo / rustc / rustfmt,无法执行 cargo checkcargo test -p dbtool-tui 或重新生成二进制。
  • dbtool-tui 是 TTY 程序;./target/debug/dbtool-tui --help 在无 TTY 场景下返回 No such device or address,这必须被记录为非交互限制,而不是被误记为 smoke 失败或帮助能力已通过。

验收分层

A. Shell baseline当前可验

  • 预构建二进制 target/debug/dbtool-tui 存在
  • printf 'q' | script -qec 'stty rows 40 cols 120; ./target/debug/dbtool-tui' /tmp/tui-normal.log 可稳定启动并退出
  • 正常尺寸下可见六区布局:ConnectionsSchema BrowserQuery EditorResultsInspectorStatus & Activity
  • 正常尺寸下默认状态包含 ReadyExecution IdleWorkspace
  • 当前 shell 会展示静态连接 / schema / query / results 上下文,但这些仍是本地示例状态,不是 live shared app 数据
  • printf 'q' | script -qec 'stty rows 20 cols 90; ./target/debug/dbtool-tui' /tmp/tui-small.log 可稳定启动并退出
  • 小终端路径会显示 Terminal Too Small
  • 小终端路径会显示 Resize the terminal
  • shell baseline 与 live integration 的验收边界已在本文档中显式分层
  • 当前 runner 上源码重建通过
  • 当前 runner 上源码测试通过
  • dbtool-tui 独立 release artifact smoke 已建立

B. 第二阶段 live integration当前必须保持未通过

  • [CMP-34](/CMP/issues/CMP-34) 已冻结 TUI live integration 契约
  • [CMP-35](/CMP/issues/CMP-35)sqlite-local 真实 connect / inspect 路径已完成源码重建并回填运行证据
  • [CMP-36](/CMP/issues/CMP-36)sqlite-local 真实 query / results / export 路径已完成源码重建并回填运行证据
  • 真实连接激活可区分 loading / success / failure
  • 真实连接失败后,错误能在 InspectorStatus & Activity 中持续可见
  • 真实 schema browser 可展示 schema / object / column 层级
  • empty schema 与 restricted schema 在 live 数据下仍有明确文案
  • Query Editor 可针对真实活动连接执行查询
  • 真实查询可区分 running / success / empty / error
  • 真实结果区在常见终端尺寸下仍可浏览
  • export 结果会给出明确成功 / 失败反馈
  • 全路径复用 crates/db-app,不通过 CLI 文本解析旁路取数

C. 非交互 / 发布前路径(当前必须显式保留限制)

  • QA 已确认 dbtool-tui 需要 TTY不能用 --help 替代交互 smoke
  • GitHub Actions 已覆盖 dbtool-tui smoke
  • 非开发者可按 runbook 从 packaged binary 复现 TUI 验收
  • TUI 专属 demo / seed / Docker 路径已建立
  • release artifact / packaged binary 在目标平台有真实执行证据

当前 blocker

  • [CMP-34](/CMP/issues/CMP-34) 仍在 in_progress
  • [CMP-35](/CMP/issues/CMP-35) 仍在 in_progress,且当前 runner 缺少 Rust 工具链,无法回填重建证据
  • [CMP-36](/CMP/issues/CMP-36) 已完成宿主机侧构建与验收回填;当前 agent runner 仍缺 Rust 工具链,但不再阻塞该 issue 关闭
  • .github/workflows/release-smoke.yml 当前只覆盖 dbtool
  • 仓库仍无 TUI 专属 demo / seed / Docker live 验证路径
  • 当前 runner 缺 cargo / rustc / rustfmt,无法执行源码重建、测试与格式化

2026-03-27 已回填证据

  • 正常尺寸 shell smokeprintf 'q' | script -qec 'stty rows 40 cols 120; ./target/debug/dbtool-tui' /tmp/tui-normal.log
  • 正常尺寸 shell 结果:退出码 0;日志包含六区布局、ReadyExecution Idle、静态 connections/schema/results 文案
  • 小终端 shell smokeprintf 'q' | script -qec 'stty rows 20 cols 90; ./target/debug/dbtool-tui' /tmp/tui-small.log
  • 小终端 shell 结果:退出码 0;日志包含 Terminal Too SmallResize the terminal
  • 非交互限制:./target/debug/dbtool-tui --help 返回 Error: Os { code: 6, kind: Uncategorized, message: "No such device or address" }
  • 源码状态盘点:apps/tui/src/main.rs 已引入 sqlite-local 的真实 connect / inspect / query / results / export worker 接线,以及内联测试覆盖
  • 源码验证限制:当前 runner 无 cargo / rustc,因此无法在本次回合执行 cargo checkcargo test -p dbtool-tui 或重新生成 target/debug/dbtool-tui

当前不应误判为已通过的能力

  • 真实 shared app 连接切换
  • 真实 inspect / schema browser
  • 真实 query 执行
  • 真实 empty / error 结果处理
  • 真实 export 反馈
  • TUI CI smoke
  • TUI release artifact smoke
  • TUI demo / seed / Docker 路径