This website works better with JavaScript
Home
Explore
Help
Sign In
user5
/
forge_admin
Watch
1
Star
0
Fork
0
Files
Issues
0
Pull Requests
0
Wiki
Branch:
master
Branches
Tags
master
forge_admin
/
code-copilot
/
changes
/
archive
/
2026-07-12-forge-ai-hub-high-risk-approval
/
tasks.md
tasks.md
2.4 KB
Permalink
History
Raw
实施任务 — Forge AI 中枢高风险动作人工审批
status: done
Task 1:模块与 HIGH 发布边界
新增 high-risk-approval 模块并接入 plugin parent、BOM、Admin;
抽取 BUSINESS_ACTION 定义工厂,MEDIUM 行为保持不变;
新增 HIGH 专用发布入口和 policy 持久化;
Descriptor/Catalog 输出真实 riskLevel,HIGH 不进入同步业务动作路径。
Task 2:信封加密
定义 CapabilityPayloadCrypto 与不可变 envelope;
实现 AES-256-GCM + AES Key Wrap、AAD、摘要复核;
外部 Secret 版本化 KEK 配置及启动失败关闭;
单测篡改 tag、错误 keyId、轮换旧 key 解密和无密钥失败。
Task 3:审批预占与状态机
实体、Mapper/XML、事务服务和唯一幂等预占;
规范请求摘要、业务状态摘要和安全结果快照;
RESERVED/PENDING/EXECUTING/终态恢复与 20 路并发测试;
所有查询显式 tenant/del_flag,更新绑定完整可信身份。
Task 4:专用 Flowable 审批
默认 BPMN、模型保留规则、专用 formKey;
USER A 委托身份启动审批,固定 businessKey;
只读 BusinessCodeFormProvider 展示安全审批摘要;
completed/rejected/canceled 回调按 approvalId 加锁。
Task 5:回调重新授权与一次执行
重新加载 client/credentialVersion/grant/capability/version/policy/USER A/服务账号;
业务状态摘要漂移、过期、撤销和版本漂移失败关闭;
解密后重跑 Schema/字段/动作白名单;
原 idempotencyKey 执行并与审批终态同事务,重复回调零副作用。
Task 6:approval.get 固定工具
注册统一可见的固定查询工具;
只允许原 client + actor/serviceUser/tenant/org 查询;
输出安全状态摘要,不返回 payload、taskId、密钥字段;
Streamable HTTP tools/list/tool-call 回归。
Task 7:Flyway、验证与文档
新表、逻辑删除唯一键、权限资源和外部 Secret 示例配置;
静态检查、Mapper XML、禁止依赖和旧 transport 扫描;
High Risk、Secure Actions、Flow、Identity、Control Plane、MCP、Admin 聚合回归;
未执行真实 Flyway/Flowable E2E/模型时明确记录;
更新 spec/test-spec/execution-log,完成二次 Review。