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

@@ -4,7 +4,7 @@
- 当前结论:`no-go`
- 原因 1CLI 已有较强真实使用证据,但 `dbtool-usable-v1` 不能只按 CLI 通过来判定整体通过。
- 原因 2TUI 已形成 PostgreSQL / MySQL demo live happy path但仍缺 failure / empty / restricted / browse-stability 等更广覆盖证据
- 原因 2TUI 已形成 PostgreSQL / MySQL demo live happy path并已补齐 PostgreSQL `restricted schema` runner-side 直证;当前 `no-go` 已收敛到 packaged artifact、跨平台 release runner 与 traceability 证据,而不是 restricted 语义缺口
- 原因 3发布链路仍缺 GitHub macOS / Windows runner 与 packaged binary 的真实执行证据。
- 当前统一台账见 `USABLE_EVIDENCE_LEDGER.md`,当前发布门槛结论与模板见 `USABLE_RELEASE_GATE.md`
@@ -113,31 +113,33 @@
## PostgreSQL / MySQL failure-path 补证最短闭环
1. Docker-capable 宿主机按 `QA_RUNTIME_ENVIRONMENT.md` 拉起 `docker compose -f docker-compose.demo.yml up -d postgres mysql`,并执行两份 bootstrap 脚本
2. `HOST_FAILURE_PATH_CHECKLIST.md` 的顺序执行 6 个场景,记录格式继续使用 `FAILURE_PATH_EVIDENCE_TEMPLATE.md`
1.发起宿主机或 sidecar live 执行前,先跑 `scripts/qa/test-failure-path-fixtures.sh`;若只想缩小到单一路径,可改跑 `scripts/qa/test-failure-path-fixtures.sh format``scripts/qa/test-failure-path-fixtures.sh sidecar`
2. 在 Docker-capable 宿主机按 `QA_RUNTIME_ENVIRONMENT.md` 拉起 `docker compose -f docker-compose.demo.yml up -d postgres mysql`,并执行两份 bootstrap 脚本。
3.`HOST_FAILURE_PATH_CHECKLIST.md` 的顺序执行 6 个场景,记录格式继续使用 `FAILURE_PATH_EVIDENCE_TEMPLATE.md`
- `PG-CONN-AUTH-001`
- `PG-CONN-NET-001`
- `PG-QUERY-SQL-001`
- `MY-CONN-AUTH-001`
- `MY-CONN-NET-001`
- `MY-QUERY-SQL-001`
3. 每条证据都必须留UTC 时间、操作者、宿主机、execution path、binary path、`--version`、commit SHA、branch、完整命令、退出码、关键 JSON / 错误摘要、最终 verdict。
4. 先把原始执行包回填到对应 issue / heartbeat 评论,再同步更新 `USABLE_EVIDENCE_LEDGER.md``USABLE_RELEASE_GATE.md`
5.`status` / `state` / `error.kind` 任何一项偏离模板预期,不把它记成“补证完成”,而是单独拆 defect issue。
6. 如需减少人工抄录,可在宿主机直接运行 `scripts/qa/run-failure-path-evidence.sh ./target/release/dbtool all ./tmp/failure-path-evidence`;当前 helper 会自动校验 `status` / `state` / `error.kind`、traceability 完整性,并对可检测到的密码泄露模式直接判 `fail`,但仍需逐条人工复核生成的 markdown 包。
7. 2026-03-28 当前 QA 容器虽已可访问 Docker daemon但仍不能直接访问 `127.0.0.1:55432/53306` 或数据库容器 IP当前有效执行路径是 sidecar container 加入 `dbtool-cli-v1_default` 网络后运行 `dbtool`
4. 每条证据都必须留UTC 时间、操作者、宿主机、execution path、binary path、`--version`、commit SHA、branch、完整命令、退出码、关键 JSON / 错误摘要、最终 verdict。
5. 先把原始执行包回填到对应 issue / heartbeat 评论,再同步更新 `USABLE_EVIDENCE_LEDGER.md``USABLE_RELEASE_GATE.md`
6.`status` / `state` / `error.kind` 任何一项偏离模板预期,不把它记成“补证完成”,而是单独拆 defect issue。
7. 如需减少人工抄录,可在宿主机直接运行 `scripts/qa/run-failure-path-evidence.sh ./target/release/dbtool all ./tmp/failure-path-evidence`;当前 helper 会自动校验 `status` / `state` / `error.kind`、traceability 完整性,并对可检测到的密码泄露模式直接判 `fail`,但仍需逐条人工复核生成的 markdown 包。
8. 2026-03-28 当前 QA 容器虽已可访问 Docker daemon但仍不能直接访问 `127.0.0.1:55432/53306` 或数据库容器 IP当前有效执行路径是 sidecar container 加入 `dbtool-cli-v1_default` 网络后运行 `dbtool`
## 产品 blocker
- `dbtool-usable-v1` 还不能把 TUI 视为“已完整签收”的跨库操作台;当前已覆盖 live happy path但覆盖仍偏窄。
- TUI 的 PostgreSQL / MySQL 真实激活、基础 schema 加载、查询与导出已进入可验状态。
- TUI 的 failure / empty / restricted / browse-stability 仍缺最新直接 runner 证据
- TUI 的 failure / empty / browse-stability / PostgreSQL restricted schema 已有 runner 直证;当前整体 `no-go` 主要来自 packaged artifact、跨平台 release runner 与 traceability 证据缺口
- PostgreSQL / MySQL 的 failure-path 已有最新直接执行证据,且最新 sidecar 复验已确认 6 个场景全部满足模板预期。
## 环境 / 证据 blocker
- 当前 QA runner 已能访问 `docker` daemon但仍缺 `docker compose` 子命令。
- 当前 QA runner 不能直接访问 `127.0.0.1:55432/53306` 或数据库容器 IPTUI 当前有效入口是 `host.docker.internal` + TTY smoke 脚本。
- 当前 PostgreSQL demo / TUI `reporting-postgres` profile 已可通过 non-superuser `dbtool` + restricted probe 稳定复现 `restricted schema`runner-side 证据已存在于 `/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`
- GitHub macOS / Windows release runner 仍缺真实执行日志与产物 smoke 证据。
- release artifact / packaged binary 的 binary path 与 commit SHA / branch 仍待补齐,可追溯性不足。