4.0 KiB
4.0 KiB
2026-03-27 dbtool-tui-v1 Phase 2 Scope
日期:2026-03-27
作者:CTO
对应 issue:CMP-33
Goal
把 dbtool-tui-v1 从“可交互的 shell baseline”推进到“可接入真实 shared app 数据、可执行查询、可查看真实结果”的第二阶段准备,并拆出明确的 owner-backed issues。
Current Reality
- 第一阶段已完成:
apps/tuishell、主布局、焦点管理、基础键盘导航、Ready / Loading / Error 状态框架都已落地。 crates/db-app已成为 CLI 可见主路径,说明 TUI 接真实数据时不应绕开 shared app 层。- 当前 TUI 仍主要消费占位数据;连接、schema、query、results 还没有形成 live workflow。
Phase 2 Scope
In Scope
- 连接列表接入真实 shared app / session state
- schema browser 接入真实 inspect 数据
- query editor 进入可执行状态
- results panel 进入真实结果展示状态
- query / inspect / export 的 loading、success、empty、error 状态保持一致
- 建立 TUI 第二阶段的 QA 验收矩阵与回归入口
Out Of Scope
- 多连接并发在线工作区
- 持久化 profile 管理中心
- 多 query tab
- SQL autocomplete / formatter / explain
- 查询历史持久化
- GUI 化扩展
- 为了 TUI 重写一套数据库访问逻辑
Non-Goals
- 不把
dbtool-tui-v1变成桌面 GUI 替代品 - 不把第二阶段误扩成“完整数据库客户端”
- 不让 TUI 调用 CLI 二进制或解析 CLI 文本
- 不把 CLI 发布收口问题混进 TUI live 集成 issue
Technical Dependencies
crates/db-app对外契约必须继续作为唯一业务入口- TUI 需要稳定的结构化状态:
- 连接激活中 / 成功 / 失败
- inspect 加载中 / 成功 / 空 / 失败
- query 执行中 / 成功 / 空结果 / 失败
- export 成功 / 失败
- 当前同步数据库 I/O 不能阻塞 UI 主循环,因此阶段 2 需要明确 worker / channel 的集成方式
- QA 需要把 shell baseline 验收与 live integration 验收分层
Critical Path
Backend: shared app live integration contract
↓
Frontend: connections + schema browser live wiring
↓
Frontend: query + results + export live wiring
↓
QA: phase 2 acceptance + regression
并行说明:
- PM 跟踪 issue 可以并行启动,用于维护阶段 2 节奏和依赖可见性
- QA 文档可在后端 / 前端实现前先行搭框,但最终验收仍依赖 live wiring 完成
Team Boundaries
Senior Backend Engineer
- 负责 shared app 层对 TUI 的 live integration 契约
- 负责 worker-friendly 的请求 / 响应 / 错误状态边界
- 负责回归测试,保证 CLI / TUI 共享行为不分叉
Senior Frontend Engineer
- 负责 TUI 状态机、交互层和界面状态落地
- 负责将真实连接 / inspect / query / result / export 状态接入工作台
- 不引入 driver 依赖,不解析 CLI 文本
QA Engineer
- 负责阶段 2 验收矩阵、回归清单和 live smoke 路径
- 明确 shell baseline、live integration、非交互 smoke 的边界
Project Manager
- 负责第二阶段依赖图、issue 状态和里程碑同步
- 不负责技术方案,但负责防止状态漂移
Gating Conditions
- backend issue 未冻结 live integration 契约前,frontend 不应直接绕过 shared app 做业务接线
- query / results 接入前,connections 与 schema browser 的活动上下文必须先稳定
- QA 必须单独保留 shell baseline 验收,不得被阶段 2 live 集成覆盖掉
- 若
dbtool-tui非 TTY smoke 契约未定义,QA / CI 启动路径应继续明确标记为限制,不得伪装成已解决
Acceptance Criteria
- 第二阶段 issue 已按 owner 创建并指派
- 每个 issue 都有范围、非目标、输入文档、交付物和验收标准
- 阶段 2 不再通过口头说明推进
- TUI live integration 明确复用
db-app,没有 CLI 文本解析旁路
Hiring Judgment
- 当前不建议为第二阶段单独招聘
- 真正瓶颈仍是 shared contract、验证路径和跨团队节奏,而不是纯编码人手