api-server/docs/architecture/m-ai-07-gate-audit.md
wangdl 1f2d7825e7
All checks were successful
Deploy API Server / build-and-unit (push) Successful in 40s
Deploy API Server / current-integration (push) Successful in 30s
Deploy API Server / backward-compat (push) Successful in 0s
Deploy API Server / deploy (push) Successful in 1m3s
docs(ai): close unified business migration phase
- 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>
2026-06-22 22:19:37 +08:00

2.6 KiB
Raw Blame History

M-AI-07 GATE 独立审核报告

审核日期2026-06-22 角色:独立审核代理 基线M-AI-06 PASS (297c4c1) HEAD62f324a


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/A2Prompt/Schema 缺失已解决。A3/A4答案泄漏已修复。

P1

无。

P2

ID 问题
P2-01 submissionId fallback Date.now() — 幂等需客户端配合

P3

压力测试、性能优化。不阻塞。


8. 无法确认项

无。代码完整范围清洁348 测试全部通过。


9. 最终结论

M-AI-07-GATEPASS
是否允许进入下一里程碑:是
是否允许生产白名单 Quiz Unified是
是否允许删除 Legacy