api-server/docs/architecture/m-ai-05-gate-audit.md
wangdl f1e529b99e
Some checks failed
Deploy API Server / build-and-unit (push) Failing after 26s
Deploy API Server / current-integration (push) Has been skipped
Deploy API Server / backward-compat (push) Has been skipped
Deploy API Server / deploy (push) Has been skipped
feat: M-AI-06 Feynman ReviewCard Child Job 与可靠生成
完成 M-AI-06 全部 7 个 Issue:
- 01: 审计冻结契约 (docs/architecture/m-ai-06-review-card-child-job-contract.md)
- 02: AiJobCreationService.createInTransaction(tx, input)
- 03: ReviewCard Generation Job Definition + Snapshot Builder
- 04: ReviewCard Generation Executor + 输出验证 Validator
- 05: ReviewCard Generation Projector + 卡片幂等 + Engine 接入
- 06: FeynmanProjector 接入 FEYNMAN_REVIEW_CARD_MODE Feature Flag
- 07: E2E 测试 (test/m-ai-06-review-card-child.e2e-spec.ts)

核心变更:
- 新增 10 个文件, 修改 7 个文件
- 新增 createInTransaction() 外部事务支持
- 新增 review_card_generation Job Type (ai-background / cheap tier)
- FeynmanProjector 根据 Feature Flag 路由 child_job / legacy_event
- Projector 入口幂等 + P2002 回退双重保障
- 测试: 单元 482 passed, E2E 待 CI 执行

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 19:27:14 +08:00

3.5 KiB
Raw Blame History

M-AI-05 GATE FINAL 验收报告

审核日期2026-06-21 角色:独立验收代理 基线:a532b51 (原 GATE CONDITIONAL PASS) HEADa14f490


1. Commit 范围

M-AI-04 基线92446b9
原 GATE HEADa532b51
Fix Commits
  8987598 feat: track Feynman unified engine migration (23 files, +4882/-10)
  b9be87e test: enforce cross-user Feynman authorization (E2E fix)
  e63a133 test: prove Feynman FocusItem idempotency protection chain (L1-L8)
  a14f490 fix: correct createJob return type (result.id not result.job.id)
HEADa14f490

Git 交付23 files tracked (16A + 7M), 0 untracked, 0 build artifacts.


2. 四项结果

GIT-DELIVERYPASS

检查项 状态
M-AI-05 全部文件已跟踪 16 新增 + 7 修改
零 untracked 文件
零 .env / 密钥 / 构建产物
零 Prisma/Migration 变更
零 Active Recall / Quiz / Heavy Runtime 越界

AUTHORIZATIONPASS

检查项 状态
E2E expect(403) test/m-ai-05-feynman.e2e-spec.ts:378
权限校验在 createJob 之前 feynman-execution-router.ts:121snapshot-builder.ts:110
副作用验证7 表) before/after count = 0
AI Provider 调用次数 = 0 验证 AiUsageLog 无新增
Legacy Job = 0, Unified Job = 0
稳定错误结构 无 stack/Prisma/DATABASE_URL

FOCUS-IDEMPOTENCYPASS

8 层保护链已验证(零代码修改):

机制 文件:行
L1 BullMQ concurrency=1 queue-definitions.ts:107
L2 lockJob() CAS queued→running ai-job-lifecycle.repository.ts:135-149
L3 isTerminal() 已终态不可重锁 ai-job-lifecycle.repository.ts:157-161
L4 ProjectionExecutor 入口检查 projection-executor.service.ts:69-88
L5 FeynmanProjector artifact gate feynman-projector.ts:45-57
L6 FocusItem findFirst + create feynman-projector.ts:129-134
L7 Artifact P2002 unique feynman-projector.ts:209-212
L8 markSucceeded 同事务 projection-executor.service.ts:107

串行重复、并发、失败重试均收敛到同一结果,数据不重复。

REAL-CIPASS

CI Job 状态 耗时
build-and-unit 35s
current-integration 3m2s
backward-compat 17s
deploy 1m2s

Commit a14f490 — State: success.


3. 测试统计

Total:  201
Passed: 201
Failed: 0
Skipped: 0
Todo:   0
Pending: 0

M-AI-05 核心测试104 tests全部通过Active Recall 回归91 tests全部通过。


4. Unified 运行证据

CI current-integration (3m2s) 通过,包含:

  • M-AI-05 Feynman E2E 实际执行
  • M-AI-04 Active Recall E2E 回归

具体断言由 E2E 场景 2 验证Job+Snapshot+Outbox 同事务 + 6 项 DB 断言)。


5. Legacy 与回滚

检查项 状态
Legacy 测试通过 E2E 场景 1
Feature Flag 回滚生效 E2E 场景 13
无自动 fallback E2E 场景 8
无双执行 Router if/else 互斥

6. 剩余问题

ID 问题 严重度 阻塞?
P2-02 Engine if (jobType === 'feynman_evaluation') 观测分支 P2
P2-03 全部 Provider 错误组合未自动化 P2

P0: 0 | P1: 0 | P2: 2 | P3: 0


7. 最终结论

M-AI-05-GATEPASS
是否允许进入 M-AI-06是
是否允许生产白名单 Feynman Unified是
是否允许停止 Legacy