2.4 KiB
2.4 KiB
CMP-61 restricted schema execution plan
日期:2026-03-31
负责人:CTO
结论
restricted schema 当前不是单纯证据缺失,而是 shared inspect contract 与 TUI surface 之间的真实产品能力缺口。
Root cause
crates/db-app/TUI_BACKEND_CONTRACT.md当前只把 inspect 定义为success | empty | errorSchemaItem只有name,没有 schema-level restricted / permission metadata- PostgreSQL root inspect 基于
information_schema.schemata,会把受限 schema 直接省略 - 显式 schema inspect 基于
information_schema.tables,受限 schema 会退化成空表列表 apps/tui/src/main.rs只会把 per-schema inspect 的 error 映射成restricted;空表列表会被直接视为empty
执行顺序
- Backend 先补 shared inspect contract,使 schema-level restricted 成为结构化语义
- 并行补齐 PostgreSQL 非超级用户 fixture / profile,确保 QA 能在当前 runner 形成真实 restricted schema 场景
- Frontend/TUI 再消费新语义,确保
Schema Browser/Inspector/Status & Activity持续显示 restricted - QA 最后在 PostgreSQL demo live 环境复验并回填 usable/TUI gate
Owner split
- CMP-62:Senior Backend Engineer
- CMP-63:Senior Frontend Engineer
- CMP-64:QA Engineer
- CMP-65:Senior Backend Engineer(fixture / profile)
新增 blocker split
- 产品语义 blocker:shared inspect 目前没有 schema-level restricted 结构化语义
- 表现层 blocker:TUI 目前无法消费不存在的 restricted 语义
- 夹具 blocker:当前 PostgreSQL demo
dbtool账号仍是超级用户,QA 无法在 runner 中复现真实 restricted schema
验收口径
- shared inspect 不再把
empty schema与restricted schema复用成同一语义 - TUI 上 restricted schema 可见、可聚焦、可解释
- QA 证据文档对
empty与restricted给出分离 verdict