feat(usable): integrate current dbtool implementation snapshot
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

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Paperclip CTO
2026-04-02 08:26:18 +00:00
parent a28dab4cd9
commit d5f69462b0
73 changed files with 5895 additions and 322 deletions

View File

@@ -17,17 +17,19 @@
- TUI / `sqlite-local` local 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 仍缺 failure / empty / restricted / result-browsing 等 live 覆盖证据,尚不足以宣布长期可持续使用体验完成
- TUI release artifact / packaged binary 仍缺真实 smoke 证据
- TUI packaged-binary / checksum / unpacked smoke 与跨平台 release runner 证据仍未闭环,尚不足以宣布长期可持续使用体验完成
- TUI packaged artifact / checksum / unpacked smoke 仍缺真实证据
- GitHub macOS / Windows release runner 仍缺真实执行日志
- 发布追溯性仍缺 binary path、commit SHA / branch 留档
- 发布追溯性在线上 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 已补齐。
@@ -37,7 +39,7 @@
### 产品 blocker
- TUI 已不再停留在纯 shell 演示;当前 runner 已直接通过 PostgreSQL / MySQL demo live happy path。
- 但单条 happy path 还不能等价为“可持续使用”:失败连接、空 schema / restricted schema、空结果 / 错误结果结果浏览稳定性仍缺完整 runner 证据。
- 但单条 happy path 还不能等价为“可持续使用”:当前 runner 已补齐失败连接、空 schema、PostgreSQL restricted schema、空结果 / 错误结果结果浏览稳定性证据;剩余 `no-go` 原因已切换为 artifact / CI / traceability 证据不足
- usable-v1 还无法以单一产品口径声明“技术操作者可在终端中持续完成跨库任务”。
### 环境 / 证据 blocker
@@ -45,6 +47,8 @@
- 当前 QA runner 已有 `docker` daemon但缺 `docker compose`
- 当前 QA runner 可直接复跑源码测试,并已通过 `host.docker.internal:55432/53306` 完成 TUI live smoke但标准 `docker compose` runbook 仍无法原样复跑
- 当前 QA runner 不能直接访问 `127.0.0.1:55432/53306`;当前有效入口是 `host.docker.internal` + TTY smoke 脚本
- 当前 PostgreSQL demo / TUI `reporting-postgres` profile 已可通过 non-superuser `dbtool` + 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 的执行追溯性字段
@@ -53,6 +57,8 @@
- 2026-03-28 最新 sidecar 复跑已确认 PostgreSQL auth / network / bad-SQL 与 MySQL auth / network / file-based bad-SQL 全部满足 failure-path 模板预期。
- [CMP-53](/CMP/issues/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。
## 通过规则