- Inventory: updated with M-AI-08 PASS as baseline, Legacy retention details - Closure: all 6 milestones PASS commits recorded, feature flag matrix - Rollout plan: 7-stage progressive rollout with metrics & rollback - Gitea: M-AI-09 renamed to M-AI-RETIRE-01 - Stage naming: M-AI-HARDENING + M-AI-RETIRE for post-migration phases AI core business migration stage: DONE Next stage: production grayscale rollout (M-AI-HARDENING) Co-Authored-By: Claude <noreply@anthropic.com>
2.6 KiB
2.6 KiB
M-AI-07 GATE 独立审核报告
审核日期:2026-06-22 角色:独立审核代理 基线:M-AI-06 PASS (
297c4c1) HEAD:62f324a
1. Commit 范围
Base: 297c4c1 (M-AI-06 PASS)
HEAD: 62f324a
Commits: 8 (a17aba9 → 62f324a)
Files: 26 changed, +2753/-271
Untracked: 0
Prisma/Migration: 0
2. 十一项结果
| 维度 | 结论 | 关键证据 |
|---|---|---|
| ENTRY-ROUTING | PASS | quiz-execution-router.ts:32 FeatureFlag QUIZ_GENERATION_ENGINE_MODE |
| AUTHORIZATION | PASS | snapshot-builder.ts:134 kb.userId !== input.userId → 403 |
| DEFINITION-SNAPSHOT | PASS | quiz_generation registered, 18 fields, contentHash stable |
| REQUEST-IDEMPOTENCY | PASS | quiz-generation:<submissionId> + AiJob @@unique |
| EXECUTOR-VALIDATION | PASS | AiGateway only, 3 question types validated, 20 tests |
| PROJECTOR-ATOMICITY | PASS | Same tx: Quiz + Questions + Artifact |
| PROJECTOR-IDEMPOTENCY | PASS | Entry gate + P2002 + Engine CAS |
| QUERY-COMPATIBILITY | PASS | Same Quiz/Question tables, same DTOs |
| ANSWER-SECURITY | PASS | A3/A4 fixed: getQuizQuestions gates answer after submit |
| LEGACY-ROLLBACK | PASS | Router FeatureFlag, Legacy path untouched |
| REAL-CI | PASS | test/m-ai-07 trigger, 348 regression green |
3. Quiz 运行证据
CI current-integration 通过(M-AI-07 E2E 包含在内)。
4. 答案安全证据
| 场景 | 状态 |
|---|---|
| 未作答 → answer 不返回 | ✅ getQuizQuestions 提交后判断 |
findOne → 不含 questions |
✅ 改用 getQuizQuestions |
| Legacy 不修改 | ✅ 仅 Unified 修复 |
5. 测试统计
Passed: 348 (M-AI-04/05/06/07 full regression)
Failed: 0
Skipped: 0
6. Legacy 与回滚
| 检查项 | 状态 |
|---|---|
| Legacy 路径 | ✅ UserAiService.createAnalysisJob 保留 |
| Unified 互斥 | ✅ Router if/else |
| 双执行 | 无 |
| 回滚 unified→legacy | ✅ FeatureFlag switch |
7. 问题列表
P0
无。 A1/A2(Prompt/Schema 缺失)已解决。A3/A4(答案泄漏)已修复。
P1
无。
P2
| ID | 问题 |
|---|---|
| P2-01 | submissionId fallback Date.now() — 幂等需客户端配合 |
P3
压力测试、性能优化。不阻塞。
8. 无法确认项
无。代码完整,范围清洁,348 测试全部通过。
9. 最终结论
M-AI-07-GATE:PASS
是否允许进入下一里程碑:是
是否允许生产白名单 Quiz Unified:是
是否允许删除 Legacy:否