27 lines
1.0 KiB
Markdown
27 lines
1.0 KiB
Markdown
# Brief: single-react-mysql-readonly-tool
|
|
|
|
## Background
|
|
|
|
阶段 3A 提供了统一 ToolBoundary 和 canonical invocation store,阶段 3B 提供了 RAG/日志投影。3C 需要独立实现安全敏感的只读 MySQL Tool,避免 Agent 生成的 SQL 直接进入数据库。
|
|
|
|
## Goals
|
|
|
|
- 使用 JSqlParser 对保守 SELECT 子集进行 fail-closed AST 校验。
|
|
- 使用逻辑数据源和 schema/table/column 精确 allowlist 授权。
|
|
- 使用参数绑定、只读 JDBC、超时、取消和结果预算。
|
|
- 通过阶段 3A boundary 投影为冻结的 `MysqlToolResult`。
|
|
- 清理查询脚本的写入分支和默认连接风险。
|
|
|
|
## Non-goals
|
|
|
|
- 不接入公开 Agent/Chat 入口。
|
|
- 不提供元数据发现、动态授权、租户/行级权限或生产 datasource provisioning。
|
|
- 不查询 Agent 自身持久化数据库。
|
|
|
|
## Classification
|
|
|
|
- Scale: complex
|
|
- Interface impact: L2 internal Harness tool/adapter, plus build dependency and script safety behavior
|
|
- Issue: ISS-014 stage 3C
|
|
- Change slug: `single-react-mysql-readonly-tool`
|