change:
forge-ai-hub-high-risk-approvalstatus: done created: 2026-07-12
| 时间 | 阶段 | 事件 | 结论 |
|---|---|---|---|
| 2026-07-12 | Archive | 归档 forge-ai-hub-flow-actions |
二次 Review PASS;Flow Actions 19/19,MCP 16/16,聚合 43/43 |
| 2026-07-12 | Direction | 用户要求继续完成下一阶段 | 进入阶段 2.3 HIGH 人工审批 |
| 2026-07-12 | Proposal | 读取路线图 R3 状态机和阶段 2 闸门 | 采用加密快照 + 专用 Flowable + 回调重新授权 |
状态为 proposed。用户已授权 Proposal 后自动 Apply;下一步按 tasks 增量 TDD 实施。
| 时间 | 范围 | 结论 |
|---|---|---|
| 2026-07-12 | 模块/装配 | 新增 high-risk-approval,接入 plugin parent、BOM、Admin;44 模块聚合 package PASS |
| 2026-07-12 | HIGH 发布/路由 | 专用发布入口、真实 riskLevel、policy、HIGH adapter 完成;MEDIUM 不回归 |
| 2026-07-12 | 信封加密 | AES-256-GCM + 每记录 DEK + AESWrap KEK + AAD + key rotation 完成 |
| 2026-07-12 | 审批状态机 | RESERVED/PENDING_APPROVAL/EXECUTING/终态、唯一幂等域和固定 businessKey 完成 |
| 2026-07-12 | Flowable | 默认单节点审批、非空 BPMN 保留、USER A delegated start、只读表单和幂等回调完成 |
| 2026-07-12 | 查询工具 | 固定 capability.approval.get 完成,只按完整原始身份元组查询安全摘要 |
首轮发现 7 项问题并已写入 fix-plan.md:回调未装配、跨 USER 幂等复用、回调重新授权缺口、HIGH 提交前动作复核缺口、模型查询失败误判、默认流程/表单/查询工具缺失、送审审计结果码错误。
Fix 后新增:
IDEMPOTENCY_CONFLICT;capability.invoke 可选输出 approvalRequestId,Capability 审计最终 resultCode 为 PENDING_APPROVAL;| 命令/范围 | 结果 |
|---|---|
high-risk 模块 mvn -Penable-tests test |
24/24 PASS |
secure-actions 模块 mvn -Penable-tests test |
32/32 PASS |
flow-actions 模块 mvn -Penable-tests test |
19/19 PASS |
| flow-client / flow-server / starter-auth | 2/2、3/3、7/7 PASS |
| control-plane / identity / MCP | 29/29、35/35、16/16 PASS |
mvn -pl forge-admin-server,forge-flow/forge-flow-server -am package -DskipTests |
44/44 模块 BUILD SUCCESS |
xmllint + SQL placeholder/tenant + 禁止依赖/transport 扫描 |
PASS,无违规命中 |
测试启用说明:仓库默认 forge.compiler.skip=true、forge.tests.skip=true,模块测试必须使用 -Penable-tests。一次使用 -am 的测试尝试在无测试引擎的上游 datascope 模块触发 Surefire groups 配置失败,随后按项目既有方式先安装依赖、再执行模块级测试;该尝试未影响最终通过结论。
mvn -pl forge-admin-server,forge-flow/forge-flow-server -am package -DskipTests:44/44 模块 BUILD SUCCESS,总耗时 19.567s;xmllint --noout 校验两个 High Risk Mapper XML:PASS;${...} 占位符、tenant_id=0、禁止依赖或旧 transport 配置;git diff --check:PASS;归档结论:阶段 2.3 代码验收完成,状态置为 done;阶段 2 总体环境验收仍为后续 HARD-GATE。