依据:
code-copilot/rules/automated-testing-standard.md基线:复用unified-capability-open-platform已通过的认证、授权、限流、幂等和审计测试,仅验证本轮差异与必要回归。
| 编号 | 验证项 | 证据 |
|---|---|---|
| P0-1 | 通用执行适配器正确分派,未知/重复来源失败关闭 | ✅ OpenGatewayCapabilityResolverTest 3/3、CapabilityInvokeOrchestratorTest 10/10 |
| P0-2 | BUSINESS_ACTION/FLOW_ACTION 现有调用兼容 | ✅ BusinessActionOpenGatewayAdapterTest 3/3、FlowActionExecutionAdapterTest 6/6 |
| P0-3 | REST/MCP audience 严格分离 | ✅ CapabilityAccessTokenServiceTest 7/7、OpenGatewayAuthenticatorTest 4/4;MCP 委托身份集成测试 3/3 |
| P0-4 | Markdown 完整参数表、规则、示例、错误和敏感信息排除 | ✅ CapabilityOpenApiDocumentServiceTest 3/3,覆盖 Spring 容器构造器注入、递归 Schema、业务规则、权限、错误码、Token Exchange 和敏感占位符 |
| P0-5 | OpenAPI Body/Header 幂等契约一致 | ✅ CapabilityOpenApiDocumentServiceTest 验证 Idempotency-Key 仅位于 Header,错误码契约完整 |
| P0-6 | 调用指南 readiness 和示例分支 | ✅ CapabilityCallGuideServiceTest 5/5,覆盖客户端/授权/网关开关阻断、网关强制 Identity 运行态和 OAuth/HMAC 示例 |
| P0-7 | 系统服务仅执行代码注册定义 | ✅ SystemServiceDefinitionRegistryTest 4/4、SystemServiceCapabilityPublisherTest 3/3、SystemServiceOpenGatewayAdapterTest 3/3 |
| P0-8 | 流程启动固定模型、拒绝身份/模型注入、快照漂移失败关闭 | ✅ FlowProcessStartSystemServiceTest 5/5 |
| P0-9 | Blob 显式保留,Markdown/OpenAPI 下载可用 | ✅ capability 相关 4 个前端文件定向 ESLint 零错误;生产构建成功并包含调用指南/系统服务注册组件;真实浏览器下载保留为 P1 |
| P0-10 | Admin 聚合编译与前端生产构建 | ✅ Admin 47/47 Reactor 模块编译成功;前端 pnpm build 成功 |
P1 环境不可用时记录跳过原因,不伪造通过结论。
本轮未启动真实 Admin/Flow 服务,也未连接 MySQL、Redis 或 OIDC,所以上述 P1 项保持待验证;详细原因和复跑入口见 execution-log.md。
modelKey/modelId/tenantId/userId/activeOrgId/initiator。CapabilityAccessTokenService。git diff --check 无空白错误。本轮用户明确要求由其自行测试,因此以下项目只记录验证范围,不标记为通过:
forge.crypto.enabled=false 时新增授权,请求体应直接绑定 clientId/capabilityId/versionStrategy/fixedVersion,授权成功。V1.0.78__add_capability_catalog_dicts.sql 后,两类字典及六条字典数据存在且无重复。本轮继续遵循用户“自行测试”的要求,以下项目不标记为已通过:
forge.capability.open-gateway.enabled=true、forge.capability.identity.enabled=false 并重启 Admin,POST /oauth2/token 不再返回 404,OAuth Client Credentials 能取得 OpenAPI audience Token。PUBLISHED 时可重新启用,能力状态恢复为 PUBLISHED/enabled=1。subject_token 时前端阻止调用;填写受信 OIDC JWT 后走 Token Exchange,不伪造用户身份。ACTION/FLOW 能力点击测试先出现副作用确认,确认后的调用报文包含唯一 Idempotency-Key。本轮用户明确要求由其自行测试,因此以下项目只记录验证范围,不标记为通过:
V1.0.79__add_capability_client_user_assertion.sql 后,客户端断言四个字段和映射 subject_hint 存在;重复检查无重复字段。kid 和版本。sub 后数据库只存在 SHA-256、脱敏提示和 Forge userId,不存在原始 sub;重复绑定同一用户幂等,绑定不同用户拒绝。urn:forge:params:oauth:token-type:user-assertion+jwt 可换取 USER Token;未预绑定 sub 返回 invalid_grant。kid/iss/aud/client_id、缺失 iat/exp/jti、未来签发、过期、TTL 超限、非法组织 ID 均返回 invalid_grant。jti 第二次使用被拒绝;Redis/Redisson 不可用时返回 temporarily_unavailable,不得降级放行。credential_version,旧私钥及旧 Forge Token 失效;用户映射保留。