coord.md 新增 ARB-019/020/021 三章仲裁章节,修正 ARB-001。 - coord.md: 新增 ARB-019/020/021(student/parent/admin-portal 24 项) - coord.md: 修正 ARB-001(admin P2 预留/schema 文件名/classes 数据源) - 004 §4: 依赖图加 PBFF→DataAna+Msg - 004 §7.2: push-gateway→Redis 软失败标注 - 004 §11.4: 错误码前缀矩阵(11 服务+i18n key) - 004 §11.5: ActionState 信封规范(降级模式方案 B) - matrix §1: 依赖矩阵加 PBFF 边 - matrix §2: 移除 api-gateway 为 iam gRPC 消费方 - matrix §4: admin-portal→teacher-bff - matrix §5: 移除 /sse+鉴权头统一 - matrix §6: 错误码表补 i18n key 列 - 15 个 issue.md: 仲裁结论回写 - push-gateway_contract: 移除 /sse+鉴权头改 X-Internal-Token - packages/contracts: 新建包 ADMIN_* 权限点常量 AI: coord
70 lines
5.2 KiB
Markdown
70 lines
5.2 KiB
Markdown
# teacher-bff 问题记录
|
||
|
||
> 负责人:ai03
|
||
> 关联:[coord.md](../coord.md)、[contracts/teacher-bff_contract.md](../contracts/teacher-bff_contract.md)
|
||
> 规则:AI 遇到问题时在此追加条目,coord 仲裁后更新状态
|
||
|
||
---
|
||
|
||
## 问题列表
|
||
|
||
<!--
|
||
追加条目格式:
|
||
|
||
### ISSUE-[编号]-[AI标识]:[标题]
|
||
|
||
- **提请方**:aiXX
|
||
- **日期**:YYYY-MM-DD
|
||
- **类型**:契约不明确 / 工作量超批 / 前置依赖缺失 / 编号冲突 / 其他
|
||
- **描述**:[详细描述问题]
|
||
- **建议方案**:[AI 的建议]
|
||
- **状态**:待 coord 仲裁 / 已裁决(见 coord.md §X)
|
||
-->
|
||
|
||
### ISSUE-001-ai03:admin 命名空间 P2 预留与 ARB-001 "P2 不包含" 冲突
|
||
|
||
- **提请方**:ai03
|
||
- **日期**:2026-07-10
|
||
- **类型**:契约不明确
|
||
- **描述**:coord.md ARB-001 §1.3 关键裁决表写 "admin 命名空间 | **P2 不包含**,P6 admin-portal 阶段新增 `admin` 命名空间";但 president-final-rulings.md §5.1(ISSUE-044)裁决 "ai03 P2 预留 admin schema 命名空间(如 `admin.*` Query/Mutation)",且 §7.3 ai03 工作清单明确 "批次 1(P2):Must Have 13 项 + DownstreamClient 抽象 + admin schema 命名空间预留"。两处对 P2 admin 命名空间的要求不一致——总裁裁决要求 P2 预留(schema 中声明占位),coord 仲裁说 P2 不包含。
|
||
- **建议方案**:以总裁裁决为准(裁决优先级 president > coord),修正 ARB-001 §1.3 为 "P2 预留 admin 命名空间占位(schema 中声明 `admin` Query/Mutation 类型骨架,无实际 Resolver),P6 admin-portal 阶段实现具体 Resolver"。ai03 在 P2 schema 第一版中预留 `admin` 命名空间类型声明。
|
||
- **状态**:待 coord 仲裁
|
||
|
||
### ISSUE-002-ai03:P2 dashboard classes 数据来源与 ARB-001 §1.4 调用链冲突
|
||
|
||
- **提请方**:ai03
|
||
- **日期**:2026-07-10
|
||
- **类型**:前置依赖缺失
|
||
- **描述**:coord.md ARB-001 §1.4 ai03 执行项第 4 条写 "dashboard Resolver 并行调用 iam(3 RPC)+ classes(1 RPC),用 DataLoader 防御 N+1",暗示 P2 dashboard 需 gRPC 调 classes 服务。但存在三重冲突:
|
||
1. **classes P2 无 gRPC server**:classes.proto 注释 "P1: REST 实现,P3 起转 gRPC";matrix.md §2 gRPC 接口提供方矩阵中 core-edu(含 classes 合并)gRPC 50053 状态为 P3 就绪。classes 服务 P2 阶段未启用 gRPC。
|
||
2. **B2 裁决约束**:coord-final-decisions.md B2 裁决 "首次实现即 gRPC 调用下游",若 classes P2 无 gRPC,teacher-bff 不能用 REST 调 classes(B2 禁止 REST 过渡)。
|
||
3. **president §3.5 功能范围**:president-final-rulings.md §3.5 裁决 P2 实现 "班级列表(iam 数据)",即 P2 班级列表数据来自 iam,不是 classes 服务。
|
||
- **建议方案**:采纳 president §3.5,P2 dashboard 的 classes 数据从 iam gRPC 获取(iam `GetEffectiveAccess` 或 `GetViewports` 返回的关联班级),不调 classes 服务。ARB-001 §1.4 第 4 条修正为 "dashboard Resolver 并行调用 iam gRPC(GetUserInfo + GetViewports + GetEffectiveAccess),classes 列表从 iam 返回数据推导,P3 core-edu gRPC 就绪后切换为 `GetClassesByTeacher` RPC"。这样 P2 不依赖 classes gRPC,与 B2 + president §3.5 一致。
|
||
- **状态**:待 coord 仲裁
|
||
|
||
### ISSUE-003-ai03:GraphQL schema 文件命名不一致(ARB-001 vs president §2.17)
|
||
|
||
- **提请方**:ai03
|
||
- **日期**:2026-07-10
|
||
- **类型**:编号冲突
|
||
- **描述**:GraphQL schema 文件存放目录两处一致(`packages/shared-ts/contracts/graphql/`),但文件名不一致:
|
||
- coord.md ARB-001 §1.3 + §1.4:`teacher-bff.graphql`
|
||
- president-final-rulings.md §2.17 第 1 条:`teacher-bff.schema.graphql`
|
||
|
||
ai03 创建文件时无法确定用哪个文件名。
|
||
|
||
- **建议方案**:以 president §2.17 为准(裁决优先级 president > coord),统一为 `teacher-bff.schema.graphql`。coord 修正 ARB-001 §1.3/§1.4 文件名。
|
||
- **状态**:已裁决(见 coord.md §18 ARB-016)
|
||
|
||
---
|
||
|
||
## §1 仲裁结论(coord,2026-07-10)
|
||
|
||
> 详见 [coord.md](../coord.md) §18 ARB-016
|
||
|
||
| ISSUE | 仲裁结论 | 状态 |
|
||
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
|
||
| 001(admin 命名空间 P2) | ✅ 以总裁裁决为准,P2 预留 schema 占位(admin.* Query/Mutation 骨架,Resolver 返 null),P6 实现;coord 修正 ARB-001 §1.3 | 已裁决(§18 ARB-016) |
|
||
| 002(dashboard classes 数据来源) | ✅ 采纳 president §3.5,P2 classes 数据从 iam gRPC 获取(GetViewports/GetEffectiveAccess),不调 classes 服务;P3+ 切换为 core-edu.ClassService.GetClassesByTeacher | 已裁决(§18 ARB-016) |
|
||
| 003(schema 文件名) | ✅ 以总裁 §2.17 为准,统一 `teacher-bff.schema.graphql`;coord 修正 ARB-001 §1.3/§1.4 | 已裁决(§18 ARB-016) |
|