Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 8.89 KB

File metadata and controls

106 lines (77 loc) · 8.89 KB

演进记录

目标:在三小时任务窗口内逐步交付可运行、可核验的开源 DDD 问数平台。此文件只记录实际完成的阶段,未把整个窗口或生产级认证宣称完成。

2026-09-24,第一轮:基础闭环

  • 核验官方稳定版本,准备 JDK 25、Maven、Node.js 本地工具链。
  • 检查 matehive 的领域组织方式与许可边界;获取 SuperSonic 远程引用并缓存快照。
  • 建立纯 Java domain 模块、Spring Boot server 模块和 Vue 工作台。
  • 真实 H2 销售样本、指标维度语义模型、参数化 SQL 编译、AST 守卫、查询结果与轨迹持久化。
  • 本地浏览器实际问数验证四个区域销售额为 1,449,000 / 1,337,400 / 1,225,800 / 1,114,200。
  • 基础版本提交 7ef5f28。

第二轮:Harness 与治理

  • AgentScope 2.0.3 真实 Harness 调用本地协议测试服务,只暴露 submit_query_plan,关闭文件、命令、浏览和子代理等默认工具。
  • 加入最大迭代、超时、模型调用/token 轨迹及失败终态。没有真实外部模型 Key,未宣称模型效果已验证。
  • 仓储、密码、密钥和数据源访问抽象为领域端口;架构测试拒绝领域对 JDBC、应用对基础设施的反向依赖。
  • 数据集授权、指标/维度限制、不可覆盖的强制行过滤、历史权限撤销。
  • 固定数值基线评测及报告持久化,避免仅检查结果列就判定通过。
  • 前后端独立规格审查、质量复审;修复异步会话串扰、刷新旧权限草稿、查询精度和边界授权问题。

第三轮:准确性与交付工程

  • 财务小数持久化为 BigDecimal;返回小数和超安全范围整数的精确字符串。
  • 轻量查询历史摘要与数据库分页,避免列表装载全部结果数据。
  • 物理元数据规范化、ANSI/MySQL 方言引用及大小写精确别名。
  • 无歧义长度前缀授权指纹,包含完整语义模型与当前用户授权范围。
  • Flyway 迁移、登录限流、登录审计、缺失字段和 UTF-8 密码边界校验。
  • Apache-2.0、README、贡献与安全说明、单包脚本、CI、容器部署文件。
  • 单包 UI/JS、健康接口和未登录 API 已由隔离运行验证。Docker daemon 未启动,容器运行仍未验证。

后续将在此追加最终命令、测试数、浏览器证据与剩余限制。

第四轮:真实外部库与业务配置

  • PostgreSQL 18.6、MySQL 26.7.0 以独立本地实例执行相同 JDBC 合同;大小写表/列、数字筛选、大整数、金额、DATE/TIMESTAMP 与 TIME(6) 均已测试。
  • 发现并修复元数据表名下划线通配符混入相邻表字段;数字筛选改为元数据推导的类型绑定;时间值保留微秒精度。
  • 语义模型从 JSON 编辑升级为数据源、表、字段选择表单,支持指标聚合、维度、业务别名和唯一标识校验。
  • 浏览器发现 Element Plus 子组件的 no-op install 导致模式按钮未注册;生产与测试共享显式注册表并添加真实交互回归。
  • Harness 达到迭代数后的隐含总结调用受到独立 middleware 调用预算约束;禁用 SDK 自动重试。
  • 查询历史新增 {items,nextOffset} 连续分页接口,避免撤销权限后的空页阻挡更早的有效记录。
  • 独立 smoke.py 完整验证单包首启与重启后的数据、评测、模型配置持久化;凭证未明文写入元数据库。
  • 未知接口与错误 HTTP 方法保持 404/405,参数类型错误返回 400,避免误报服务器异常。

第五轮:并发、授权版本与容量边界

  • 在真实 H2 中复现同名账号并发覆盖,改为数据库唯一键约束下的原子插入;只有一个成功,冲突不改变胜者密码与角色。
  • 8 个查询并发槽位、第 9 个请求拒绝及槽位释放已验证;执行中权限撤销不会保存或返回旧范围数据。
  • PostgreSQL 独占锁场景在约 10 秒主动取消 SQL,释放锁后可正常查询。
  • 模型发布拒绝空业务词汇与对文本列 SUM/AVG;成功响应包含规范化后的物理字段。
  • API 256 KiB 正文上限覆盖 Content-Length 与真实 chunked HTTP 请求。
  • 数据集与结果公开同一带密钥 HMAC 授权版本;内部原始权限指纹不公开,持久密钥使版本跨重启稳定。
  • 页面按模型内容、授权版本及单调本地版本清理缓存,拒绝旧在途响应;其他会话变更后会刷新元数据重验已有响应,不额外调用模型。
  • 真实 H2 查询验证 1,000 行上限、SQL 篡改拒绝;字符结果单格 64 Ki、累计 1 Mi 上限,超限明确失败而非截断。
  • UI 使用业务字段名称,规则解析和数据来源分别标注;建议问题来自当前模型,连接测试后刷新状态。
  • npm 官方审计接口检查锁定依赖,报告已知漏洞 0 项(核验时间 2026-09-24)。这不等同于全面安全审计。

第六轮:并发 Harness 与运维验收

  • 8 个真实 AgentScope Harness 首轮请求通过屏障同时执行,每个会话的 user 消息与返回过滤条件保持各自 scope,测试通过。

  • 本地协议服务返回含敏感标记的错误响应时,应用日志不会记录供应商正文或 API Key。

  • 启动脚本使用独立 JAR 副本,转发信号并等待 JVM 退出;开发构建不再覆盖运行中的 JAR。

  • 单包烟测增加停机备份后异目录恢复,查询、评测、模型配置与 HMAC 授权版本跨恢复保持一致。

  • 真实 HTTP 复现分号参数及百分号编码路径绕过原始 URI 前缀校验;过滤器改用容器规范化 servlet path,9 个路径场景与原平台、正文测试共 20 项通过。

  • 系统数据库和 schema 在登记、重开连接、读取元数据及 PG 表解析边界进行校验;真实 PG 同名系统表、旧模型大小写折叠与 schema 回退均已红绿验证。

  • 单包烟测增加 8 个独立登录会话同时执行真实 SQL,验证唯一运行记录、准确结果,以及重启和备份恢复后的全部历史记录。

  • CI 增加同一单包烟测步骤;本地运行通过,远程 CI 仍待首次推送后执行。

集成验证记录(2026-09-24 06:24 EDT)

  • JDK 25.0.4.1 / Node 26.10.0 下执行 ./scripts/build.sh:领域 19、服务端 136,共 155 项后端测试通过,0 失败、0 错误、0 跳过;前端 77 项测试、Vue 类型检查、生产构建、Spotless 均通过。
  • 上述构建显式启用了 PostgreSQL、MySQL、MySQL 类型 fixture 和 PostgreSQL 管理员隔离测试开关;普通默认构建会跳过这些 opt-in 数据库用例。
  • 对同一最终 JAR 执行 python3 scripts/smoke.py:初启、重启、停机复制后异目录恢复全部通过,包含 8 会话并发 SQL 与历史持久化检查。
  • 本地 8090 已更新为最终单包,更新前停机备份元数据库与密钥;标准路径、分号参数路径及编码 API 前缀的匿名访问均返回 401。
  • 独立规格与质量复审发现的问题已修复,包括路径规范化、系统命名空间及历史空方言表名解析一致性。
  • Docker 运行、真实供应商模型质量和远程 GitHub Actions 没有执行,不计入通过项。

第七轮:语义模型原子创建

  • 真实 H2 并发复现两个同 ID 数据集创建均成功并覆盖;创建改用数据库唯一键保护的原子 INSERT,冲突返回 409。
  • 验证只保留一个成功的完整规范化模型,重复创建不覆盖,显式更新仍保持原有行为。

最终交付验证(2026-09-24 06:31 EDT)

  • 原子创建补丁后重新运行完整构建:领域 19 + 服务端 138 = 157 项后端测试全部通过,0 失败、0 错误、0 跳过;前端 77 项测试及类型检查、生产构建、格式检查通过。
  • 最终 JAR 的三阶段烟测再次通过:首次启动、重启、异目录备份恢复,包含 8 个独立会话并发查询及全部历史验证。
  • 浏览器验收管理员四区域金额、分析师华东单行范围、结果/SQL/轨迹、持久化查询与 4/4 数值评测报告;截图与交付说明保存在本次任务的 outputs。
  • 所有代码保留于本地 feat/evolution 分支;未配置远程仓库,未推送或创建 PR。

2026-09-28:首轮问数可靠性

  • 同一用户、会话串行;等待上限 1 秒,超时可重试。空闲锁及时移除。
  • 可选 Idempotency-Key 使用持久化运行记录复用结果,校验请求冲突、用户隔离及最新授权。
  • 增加保守数值证据检查和平台摘要回退;无查询澄清也限制无依据数量表达。此检查不证明所有自然语言语义。
  • 查询与澄清均在模型回答后复核授权;HTTP 局域网前端使用 getRandomValues 生成幂等键。
  • CI 增加隔离 PostgreSQL/MySQL 服务、只读 fixture 及数据库报告零跳过门禁。
  • 本地验证:后端 209、前端 85 项测试通过;后端零跳过,包含真实数据库合同与 PostgreSQL 取消恢复。 类型检查、生产构建、格式检查及单包重启/备份恢复烟测通过。