5.8 KiB
5.8 KiB
dbtool-usable-v1 发布门槛结论
当前快照
- 日期:2026-03-31
- QA 结论:
no-go - 判断类型:evidence-based gate
当前 gate 判断
已满足
- CLI / SQLite 主路径与关键 failure-path 具备 2026-03-28 最新直接执行证据
- CLI / PostgreSQL happy path 具备宿主机证据
- CLI / MySQL happy path 与 Unicode/export 具备宿主机证据
- TUI shell baseline 具备 2026-03-28 最新直接执行证据
- TUI /
sqlite-locallocal live 已有局部真实工作流证据,但只能记为partial - TUI / PostgreSQL live demo path 已具备 2026-03-31 当前 runner 直接执行证据
- TUI / MySQL live demo path 已具备 2026-03-31 当前 runner 直接执行证据
- TUI / Linux release binary 已具备 2026-03-31 当前 runner 直接执行证据(
target/release/dbtool-tui+ TTY smoke) - Linux artifact smoke 具备 2026-03-28 直接执行证据
未满足
- TUI packaged-binary / checksum / unpacked smoke 与跨平台 release runner 证据仍未闭环,尚不足以宣布长期可持续使用体验完成
- TUI packaged artifact / checksum / unpacked smoke 仍缺真实证据
- GitHub macOS / Windows release runner 仍缺真实执行日志
- 发布追溯性在线上 artifact 维度仍缺 binary path、commit SHA / branch 留档
PostgreSQL / MySQL failure-path 收口规则
- 在发起宿主机或 sidecar live 执行前,先跑
scripts/qa/test-failure-path-fixtures.sh,必要时再缩小到format/sidecar子范围。 - 只有当
HOST_FAILURE_PATH_CHECKLIST.md/FAILURE_PATH_EVIDENCE_TEMPLATE.md定义的 6 个场景至少各有一条可审计记录时,failure-path blocker 才能从未满足移除。 - 每条记录都必须带 UTC 时间、操作者、宿主机、binary path、
--version、commit SHA、branch、完整命令、退出码、关键输出摘要。 - 若任一场景的
status/state/error.kind偏离模板预期,应先按 defect 管理,而不是直接宣称 failure-path 已补齐。
Blocker 分类
产品 blocker
- TUI 已不再停留在纯 shell 演示;当前 runner 已直接通过 PostgreSQL / MySQL demo live happy path。
- 但单条 happy path 还不能等价为“可持续使用”:当前 runner 已补齐失败连接、空 schema、PostgreSQL restricted schema、空结果 / 错误结果与结果浏览稳定性证据;剩余
no-go原因已切换为 artifact / CI / traceability 证据不足。 - usable-v1 还无法以单一产品口径声明“技术操作者可在终端中持续完成跨库任务”。
环境 / 证据 blocker
- 当前 QA runner 已有
dockerdaemon,但缺docker compose - 当前 QA runner 可直接复跑源码测试,并已通过
host.docker.internal:55432/53306完成 TUI live smoke;但标准docker composerunbook 仍无法原样复跑 - 当前 QA runner 不能直接访问
127.0.0.1:55432/53306;当前有效入口是host.docker.internal+ TTY smoke 脚本 - 当前 PostgreSQL demo / TUI
reporting-postgresprofile 已可通过 non-superuserdbtool+ restricted probe 形成真实 gate 证据;schema-level restricted 不再是当前 gate blocker - 当前仓库仍没有
dbtool-tui的 package script / workflow matrix,故 Linux release binary 直证不能替代 packaged artifact gate - 缺 GitHub macOS / Windows runner 实跑证据
- 缺 release artifact / packaged binary 的执行追溯性字段
最新复验
- 2026-03-28 最新 sidecar 复跑已确认 PostgreSQL auth / network / bad-SQL 与 MySQL auth / network / file-based bad-SQL 全部满足 failure-path 模板预期。
- CMP-53 已被当前 release binary 复验为修复完成,不再计为活跃 backend blocker。
- 2026-03-31 当前 runner 已直接执行
scripts/tui/live-network-smoke.sh postgres ./target/debug/dbtool-tui与scripts/tui/live-network-smoke.sh mysql ./target/debug/dbtool-tui,两条路径都完成连接激活、schema 加载、查询成功与 CSV 导出。 - 2026-03-31 当前 runner 已直接复验
/tmp/cmp64-role-probe-v4.json、/tmp/cmp64-postgres-root-inspect-v4.json、/tmp/cmp64-postgres-restricted-schema-inspect-v4.stderr.txt、/tmp/cmp64-postgres-restricted-query-v4.stderr.txt与/tmp/cmp64-tui-restricted-live-v6.log;证据显示dbtool为 non-superuser、CLI inspect/query 返回预期 restricted error,且 TUI 直接显示restricted_probe、Schema failure与Query execution blocked because schema restricted_probe is restricted...。 - 2026-03-31 当前 runner 已直接执行
CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse cargo build --release -p dbtool-tui与scripts/tui/smoke-tty.sh target/release/dbtool-tui 40 120 /tmp/cmp60-dbtool-tui-release-smoke.log;target/release/dbtool-tui的 SHA256 为b02ab9be82ebc683c61cf193945a123a66ff181eb386607e95d3335bed84f339。 - 当前
no-go判断继续成立,但原因已收敛为 TUI live 覆盖深度不足、跨平台 release 证据缺口与 release traceability 缺口,而不是“缺少 TUI network live path”或活跃的 CLI backend contract defect。
通过规则
- 只有当 CLI、TUI、release evidence 三条线都形成可审计闭环时,usable-v1 才能从
no-go转为go - 只补文档、不补执行证据,仍是
no-go - 只证明 CLI 可用、TUI 仍停留在演示态,仍是
no-go
结论模板
后续发布判断应至少包含以下字段:
# dbtool-usable-v1 Release Gate
- Date:
- Reviewer:
- Verdict: `go` | `no-go`
- Evidence Window:
- Binary / Artifact:
- Commit SHA / Branch:
## Product Gates
- CLI / SQLite:
- CLI / PostgreSQL:
- CLI / MySQL:
- TUI / shell baseline:
- TUI / network live:
## Release Gates
- Linux runner:
- macOS runner:
- Windows runner:
- Artifact smoke:
- Traceability:
## Blocking Items
- Product blockers:
- Evidence blockers:
## Notes
- Residual risks:
- Follow-up issues: