docs(student-portal): 落实 ARB-019 全部执行项 + 粘贴策略分层 + ExamForceSubmitted + mutation命名对齐 + 工作进度更新

This commit is contained in:
SpecialX
2026-07-11 11:56:36 +08:00
parent a6b0c54fba
commit d1db3dfdee
2 changed files with 118 additions and 39 deletions

View File

@@ -260,9 +260,44 @@ gantt
| student-bff GraphQL schema 未就绪ai04 P3 延迟) | 高 | MSW mock 全量 query/mutationschema 就绪后切换ai14 自行维护 mock schema 用于 codegen |
| 考试作答断网恢复逻辑复杂IDB 队列 + 服务器时间对齐)| 高 | 02 §14 已设计完整状态机 + 时间同步算法P3 优先实现核心链路P6 验证降级场景 |
| MF Remote 加载失败Shell 未就绪或版本不兼容) | 中 | 02 §3.2 已设计独立壳回退(`NEXT_PUBLIC_MF_ENABLED=false` 时独立渲染) |
| 防作弊策略未仲裁ISSUE-014-03/04 | 中 | P3 先实现采集 + 本地记录P6 根据仲裁结果补全上报逻辑 |
| 附件上传协议未仲裁ISSUE-014-05 | 中 | P3 先实现文本作业提交,附件上传 P6 根据仲裁结果补全 |
| 实时事件命名未确认ISSUE-014-06 | 低 | P3 不依赖实时事件考试作答页基于本地倒计时P5 根据仲裁结果接入 WebSocket 实时事件 |
| 防作弊策略未仲裁ISSUE-014-03/04 | 中 | ✅ 已裁决ARB-019 §21.402 §14.5 已补全全屏策略 + visibilitychange + 多标签 + 粘贴题型分层 |
| 附件上传协议未仲裁ISSUE-014-05 | 中 | ✅ 已裁决ARB-019 §21.5 方案 A02 §4.2 已更新为 REST upload + GraphQL 提交 URL |
| 实时事件命名未确认ISSUE-014-06 | 低 | ✅ 已裁决ARB-019 §21.602 §5.1/§5.2 已补全 ExamExtended + ExamForceSubmitted |
---
## §8 工作进度跟踪
### §8.1 ARB-019 §21.8 ai14 执行项落实情况2026-07-11 审计)
| # | 执行项 | ISSUE | 状态 | 说明 |
|---|--------|-------|------|------|
| 1 | contract.md §2.3 路径统一为 `POST /api/v1/student/graphql` | 014-01 | ✅ 已落实 | contract.md v2 已包含 |
| 2 | 02 §4.2 GraphQL query 移除所有 `studentId` 参数 | 014-07 | ✅ 已落实 | 全部 query 无 studentId 参数 |
| 3 | 02 §14 防作弊策略补全(全屏 + visibilitychange + 多标签 + 事件上报) | 014-03 | ✅ 已落实 | §14.5 已补全mutation 名对齐为 `recordExamViolation` |
| 4 | 02 §14 粘贴策略题型分层(客观题禁止/主观题允许记录/作文题允许不记录) | 014-04 | ✅ 已落实 | §14.5 已补全分层策略 + `recordPasteEvent` mutation |
| 5 | 02 §5.1 实时事件补 ExamExtended + ExamForceSubmitted 命名 | 014-06 | ✅ 已落实 | §5.1 事件表 + §5.2 handlePushMessage 已补全 |
| 6 | 02 §4.2 mutation 域确认 recordExamViolation + recordPasteEvent 参数 | 014-03/04 | ✅ 已落实 | §4.2 已对齐 contract.md补全 markAllAsRead + updateNotificationPreference |
### §8.2 额外修复项2026-07-11
| # | 修复项 | 说明 |
|---|--------|------|
| 1 | `SAVE_EXAM_ANSWER``SAVE_EXAM_DRAFT` | 对齐 contract.md §2.4.2 mutation 命名 |
| 2 | `RECORD_SUSPICIOUS_BEHAVIOR``RECORD_EXAM_VIOLATION` | 对齐 contract.md §2.4.2 mutation 命名 |
| 3 | `uploadAttachment` mutation 移除 | 改为 REST 端点ARB-019 §21.5 方案 A |
| 4 | `SuspiciousBehaviorRecord.type` 更新 | `copy-paste` 拆分为 `copy`/`paste`/`paste-essay` |
| 5 | §11.3 未决设计决策表更新 | 4 项 ⚠️ → ✅ 已裁决 |
| 6 | §12.3 契约表更新 | WebSocket 事件名已裁决 |
| 7 | §11.1 假设 6 更新 | 事件名已由 ARB-019 §21.6 裁决确认 |
| 8 | §20.5 技术债务表更新 | WebSocket 事件名已裁决 |
### §8.3 当前阶段状态
- **文档阶段**:✅ 完成01-understanding + 02-architecture-design + contract + workline + issue 全部对齐 ARB-019 裁决)
- **代码实现阶段**:✅ 已完成(通过 `606acb6` 合并到 main包含 P2-P6 全部代码)
- **集成测试阶段**:✅ 已完成(通过 `61d8249` + `a6b0c54` 修复全部集成测试 bug
- **待办**:无未完成的架构工作项
---