Files
lijiaoqiao/docs/plans/2026-04-02-p1-p2-tdd-execution-plan-v1.md
Your Name f6c6269ccb docs: 更新P1/P2实施状态为准确版本
1. 新增 docs/plans/2026-04-03-p1-p2-implementation-status-v1.md
   - 准确反映33个任务的实际完成状态
   - 更新测试覆盖率数据
   - 分析实施与规划的一致性

2. 更新原计划文档进度追踪
   - IAM-01~08:  已完成
   - AUD-01~08: ⚠️ 6/8完成(Audit Handler未实现)
   - ROU-01~09:  已完成
   - CMP-01~08:  已完成

实际完成率:31/33 (94%)
2026-04-03 11:11:56 +08:00

11 KiB
Raw Permalink Blame History

P1/P2 TDD开发执行计划

版本v1.0 日期2026-04-02 依据Superpowers执行框架 + TDD规范 目标P0 staging验证BLOCKED期间并行启动P1/P2核心模块TDD开发


1. 当前状态

1.1 Superpowers执行状态

工作流 状态 说明
WG-A 需求冻结 DONE PRD v1已冻结
WG-B 契约对齐 DONE OpenAPI已对齐
WG-C 测试矩阵 DONE 路径一致化完成
WG-D 真实联调 BLOCKED 缺staging环境
WG-E 报告签署 BLOCKED 依赖WG-D
WG-F 一致性收尾 DONE 命名策略完成
WG-G 全局校验 DONE 校验链路可执行

1.2 P1/P2设计状态

设计文档 评审结论 状态
multi_role_permission_design GO 可进入开发
audit_log_enhancement_design GO 可进入开发
routing_strategy_template_design GO 可进入开发
sso_saml_technical_research GO 可进入调研
compliance_capability_package_design GO 可进入开发

2. TDD开发原则

2.1 红绿重构循环

┌─────────────────────────────────────────────────────┐
│  1. RED: 写一个失败的测试(描述期望行为)           │
│  2. GREEN: 写最少量代码让测试通过                   │
│  3. REFACTOR: 重构代码,消除重复                   │
│  循环直到功能完成                                   │
└─────────────────────────────────────────────────────┘

2.2 测试分层

层级 范围 工具
单元测试 纯函数、核心逻辑 Go test, testify
集成测试 模块间交互 Go test, testify
E2E测试 完整API链路 Bash脚本

2.3 门禁检查

Pre-Commit → Unit Tests → Integration Tests → Build Gate → Staging Gate

3. P1开发任务

3.1 多角色权限IAM

设计文档

docs/multi_role_permission_design_v1_2026-04-02.md

TDD任务

Step 描述 测试先行 验收标准
IAM-01 数据模型iam_roles表DDL 表结构符合规范
IAM-02 数据模型iam_scopes表DDL 表结构符合规范
IAM-03 数据模型iam_role_scopes关联表DDL 关联正确
IAM-04 数据模型iam_user_roles关联表DDL 关联正确
IAM-05 中间件Scope验证中间件 正确校验scope
IAM-06 中间件:角色继承逻辑 继承关系正确
IAM-07 API角色管理API CRUD正确
IAM-08 API权限校验API 正确返回

目录结构

supply-api/internal/
├── iam/                    # 新增IAM模块
│   ├── model/             # 数据模型
│   │   ├── role.go
│   │   ├── scope.go
│   │   └── user_role.go
│   ├── repository/        # 仓储
│   │   └── iam_repository.go
│   ├── service/          # 服务层
│   │   └── iam_service.go
│   ├── handler/          # HTTP处理器
│   │   └── iam_handler.go
│   └── middleware/       # 权限中间件
│       └── scope_auth.go

3.2 审计日志增强

设计文档

docs/audit_log_enhancement_design_v1_2026-04-02.md

TDD任务

Step 描述 测试先行 验收标准
AUD-01 数据模型audit_events表DDL 表结构符合规范
AUD-02 数据模型M-013~M-016子表DDL 子表结构正确
AUD-03 事件分类SECURITY事件定义 invariant_violation存在
AUD-04 事件分类CRED事件定义 CRED-EXPOSE/INGRESS/DIRECT
AUD-05 写入APIPOST /audit/events 幂等性正确
AUD-06 查询APIGET /audit/events 分页过滤正确
AUD-07 指标APIM-013~M-016统计 计算正确
AUD-08 脱敏扫描:敏感信息检测 扫描逻辑正确

目录结构

supply-api/internal/audit/
├── model/                 # 审计事件模型
│   ├── audit_event.go
│   └── audit_metrics.go
├── repository/           # 审计仓储
│   └── audit_repository.go
├── service/             # 审计服务
│   └── audit_service.go
├── handler/             # HTTP处理器
│   └── audit_handler.go
└── sanitizer/           # 脱敏扫描器
    └── sanitizer.go

3.3 路由策略模板

设计文档

docs/routing_strategy_template_design_v1_2026-04-02.md

TDD任务

Step 描述 测试先行 验收标准
ROU-01 评分模型ScoreWeights默认权重 延迟40%/可用30%/成本20%/质量10%
ROU-02 评分模型CalculateScore方法 评分正确
ROU-03 策略模板StrategyTemplate接口 模板可替换
ROU-04 策略模板CostBased/CostAware策略 策略正确
ROU-05 路由决策RoutingEngine 决策正确
ROU-06 Fallback多级Fallback 降级正确
ROU-07 指标采集M-008采集 全路径覆盖
ROU-08 A/B测试ABStrategyTemplate 流量分配正确
ROU-09 灰度发布RolloutConfig 百分比正确

目录结构

gateway/internal/router/
├── strategy/             # 策略模板
│   ├── strategy.go       # 接口定义
│   ├── cost_based.go
│   ├── cost_aware.go
│   ├── quality_first.go
│   ├── latency_first.go
│   ├── ab_strategy.go
│   └── rollout.go
├── scoring/             # 评分模型
│   └── scoring_model.go
├── engine/              # 路由引擎
│   └── routing_engine.go
├── metrics/             # 指标采集
│   └── routing_metrics.go
└── fallback/            # Fallback策略
    └── fallback.go

4. P2开发任务

4.1 合规能力包

设计文档

docs/compliance_capability_package_design_v1_2026-04-02.md

TDD任务

Step 描述 测试先行 验收标准
CMP-01 规则引擎:规则加载器 YAML加载正确
CMP-02 规则引擎CRED-EXPOSE规则 凭证泄露检测
CMP-03 规则引擎CRED-INGRESS规则 入站覆盖检测
CMP-04 规则引擎CRED-DIRECT规则 直连检测
CMP-05 规则引擎AUTH-QUERY规则 query key拒绝检测
CMP-06 CI脚本m013_credential_scan.sh 扫描执行正确
CMP-07 CI脚本M-017四件套生成 SBOM生成正确
CMP-08 Gate集成compliance_gate.sh 门禁通过

目录结构

gateway/internal/compliance/     # 或新增compliance目录
├── rules/                      # 规则定义
│   ├── loader.go
│   ├── cred_expose.go
│   ├── cred_ingress.go
│   ├── cred_direct.go
│   └── auth_query.go
├── engine/                    # 规则引擎
│   └── compliance_engine.go
└── ci/                        # CI脚本
    ├── compliance_gate.sh
    ├── m013_credential_scan.sh
    ├── m014_ingress_check.sh
    ├── m015_direct_check.sh
    ├── m016_query_key_check.sh
    └── m017_dependency_audit.sh

5. TDD执行协议

5.1 单个任务执行流程

1. 读取设计文档对应章节
2. 编写测试用例RED
3. 运行测试确认失败RED
4. 编写实现代码GREEN
5. 运行测试确认通过GREEN
6. 重构代码REFACTOR
7. 提交代码git commit

5.2 测试命名规范

// 命名格式: Test{模块}_{场景}_{期望行为}
TestAuditService_CreateEvent_Success
TestAuditService_CreateEvent_DuplicateIdempotencyKey
TestRoutingEngine_SelectProvider_CostBasedStrategy
TestScopeAuth_CheckScope_SuperAdminHasAllScopes

5.3 断言规范

// 使用testify/assert
assert.Equal(t, expected, actual, "描述")
assert.NoError(t, err, "描述")
assert.True(t, condition, "描述")

6. 执行约束

  1. 测试先行:必须先写测试再写实现
  2. 门禁检查:所有测试通过才能提交
  3. 代码覆盖:核心逻辑覆盖率 >= 80%
  4. 文档更新:每完成一个任务更新进度

7. 验收标准

7.1 IAM模块

验收项 标准
审计字段 request_id, created_ip, updated_ip, version
角色层级 super_admin(100) > org_admin(50) > supply_admin(40) > ... > viewer(10)
Scope校验 正确校验token.scope包含required_scope
API /api/v1/iam/* CRUD正确

7.2 审计日志模块

验收项 标准
事件分类 CRED-EXPOSE/INGRESS/DIRECT, AUTH-QUERY
M-014/M-016边界 分母不同,无重叠
幂等性 201/202/409/200正确响应
脱敏 敏感字段自动掩码

7.3 路由策略模块

验收项 标准
评分权重 延迟40%/可用30%/成本20%/质量10%
M-008覆盖 主路径+Fallback全采集
A/B测试 流量分配正确
灰度发布 百分比递增正确

7.4 合规模块

验收项 标准
规则格式 CRED-EXPOSE-RESPONSE等
M-017四件套 SBOM+LockfileDiff+兼容矩阵+风险登记册
CI集成 compliance_gate.sh可执行

8. 进度追踪

⚠️ 状态已更新至2026-04-03详见 docs/plans/2026-04-03-p1-p2-implementation-status-v1.md

任务 状态 完成日期 说明
IAM-01~08 已完成 2026-04-02 核心功能完成测试覆盖85.9%/99.0%
AUD-01~08 ⚠️ 6/8完成 2026-04-02 Handler未实现核心功能完成
ROU-01~09 已完成 2026-04-02 核心功能完成测试覆盖94.2%
CMP-01~08 已完成 2026-04-02 核心功能+CI脚本完成

8.1 详细进度

IAM模块

  • IAM-01~04: 数据模型完成 (覆盖率62.9%)
  • IAM-05~06: 中间件完成 (覆盖率63.8%)
  • IAM-07~08: API完成 (覆盖率85.9%)

Audit模块

  • AUD-01~04: 模型+事件完成 (覆盖率73.5%~95.0%)
  • AUD-05~06: ⚠️ Service完成Handler未实现
  • AUD-07~08: 指标+脱敏完成 (覆盖率79.7%)

Router模块

  • ROU-01~02: 评分模型完成 (覆盖率94.1%)
  • ROU-03~04: 策略模板完成 (覆盖率71.2%)
  • ROU-05~07: 引擎+Fallback+指标完成 (覆盖率76.9%~82.4%)
  • ROU-08~09: A/B测试+灰度完成 (覆盖率71.2%)

Compliance模块

  • CMP-01~05: 规则引擎完成 (覆盖率73.1%)
  • CMP-06~08: CI脚本完成

文档状态:执行计划 下次更新:每日进度报告 维护责任人:项目开发组