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

@@ -43,12 +43,17 @@
- 非交互限制:源码重建后的 `./target/debug/dbtool-tui --help` 在无 TTY 场景下返回退出码 `1`,并明确提示需要交互式 TTY 以及 `scripts/tui/smoke-tty.sh`
- PostgreSQL live smoke`scripts/tui/live-network-smoke.sh postgres ./target/debug/dbtool-tui` 直接通过
- MySQL live smoke`scripts/tui/live-network-smoke.sh mysql ./target/debug/dbtool-tui` 直接通过
- PostgreSQL auth-failure visibility`/tmp/dbtool-tui-postgres-auth-failure.log` 已见 `Connection Failure``Recovery path``postgres authentication failed`
- PostgreSQL empty / error result`/tmp/dbtool-tui-postgres-empty-result.log` 已见 `0 rows returned in 77 ms``/tmp/dbtool-tui-postgres-bad-sql.log` 已见 `Query error`
- MySQL empty schema / browse stability`/tmp/dbtool-tui-mysql-empty-schema.log` 已见 `Schema dbtool_demo is empty...``/tmp/dbtool-tui-mysql-browse-stability.log` 已见 `4 rows returned in 2 ms``Result columns paged to 2-5 of 6`
- PostgreSQL restricted-schema probe2026-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`;当前可直接观察到 non-superuser demo role、schema-level `restricted`、inspect error、query error 与 TUI query-blocking copy
### 当前缺口
- 当前 repo 仍只有内置 `sqlite-local` / `reporting-postgres` / `orders-mysql` profile连接 profile 的新增 / 编辑 / 删除 / 保存与 session-only secret cache 仍未进入当前可执行验收面。
- 当前 runner 默认裸 `cargo` 会因为空的 `CARGO_REGISTRIES_CRATES_IO_PROTOCOL` 环境变量直接失败runbook 必须显式写出 override
- `.github/workflows/release-smoke.yml` 当前只覆盖 `dbtool`
- 当前已建立 PostgreSQL / MySQL live happy path但仍缺 failure / empty / restricted / browse-stability 的 runner 直证
- 当前 runner 已补齐 failureempty、bad-SQL、browse-stability 与 PostgreSQL restricted-schema 的直证;剩余缺口已收敛为 packaged binary / CI / 非开发者复验,而不是 runner-side live semantics
- release artifact / packaged binary 仍缺真实 smoke
- 状态恢复与键盘一致性需要单独留痕,避免 QA 按旧文档复核不存在的快捷键
@@ -120,13 +125,14 @@
## 当前优先级
1. 保住 shell baseline 证据,不让第二阶段重构把它冲掉
2. 在已建立的 live happy path 上补 failure / empty / restricted / browse-stability 证据
3. 补 TUI CI / packaged-binary / release smoke
4. 最后再补 TUI 专属 CI / release / runbook
2. 补 TUI CI / packaged-binary / release smoke
3. 固化非开发者可重复 runbook
4. 保持现有 live 证据不回退
## 当前验收判断
- shell baseline有预构建二进制级别的可重复 smoke属“通过”
- 源码层验证:当前 runner 已通过,但需要在 runbook 中固化 cargo 环境变量 override
- 第二阶段 live integration当前 runner 内 PostgreSQL / MySQL demo happy path 已通过,但 failure / empty / restricted / browse-stability 仍未补齐
- 第二阶段 live integration当前 runner 内 PostgreSQL / MySQL demo happy pathfailure visibility、empty / error result、empty schema、browse-stability 与 PostgreSQL restricted schema 已补齐直接证据;当前未就绪项已切换为 release / artifact / CI 证据
- 连接管理:当前仍 blocked当前 TUI 只支持内置 demo profile 与启动前 env override不能把这组 operator 路径上抬成已交付的 profile CRUD / secret-management 验收
- 发布前状态:未就绪,因为 `dbtool-tui` 仍缺 CI 与 release artifact smoke