Files
Edu/docs/architecture/issues/objections/teacher-bff_issue.md
SpecialX c179af64a6 docs(docs): coord 完成 15 模块 issue 仲裁与基础设施同步
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
2026-07-10 16:30:51 +08:00

5.2 KiB
Raw Blame History

teacher-bff 问题记录

负责人ai03 关联:coord.mdcontracts/teacher-bff_contract.md 规则AI 遇到问题时在此追加条目coord 仲裁后更新状态


问题列表

ISSUE-001-ai03admin 命名空间 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.1ISSUE-044裁决 "ai03 P2 预留 admin schema 命名空间(如 admin.* Query/Mutation",且 §7.3 ai03 工作清单明确 "批次 1P2Must Have 13 项 + DownstreamClient 抽象 + admin schema 命名空间预留"。两处对 P2 admin 命名空间的要求不一致——总裁裁决要求 P2 预留schema 中声明占位coord 仲裁说 P2 不包含。
  • 建议方案:以总裁裁决为准(裁决优先级 president > coord修正 ARB-001 §1.3 为 "P2 预留 admin 命名空间占位schema 中声明 admin Query/Mutation 类型骨架,无实际 ResolverP6 admin-portal 阶段实现具体 Resolver"。ai03 在 P2 schema 第一版中预留 admin 命名空间类型声明。
  • 状态:待 coord 仲裁

ISSUE-002-ai03P2 dashboard classes 数据来源与 ARB-001 §1.4 调用链冲突

  • 提请方ai03
  • 日期2026-07-10
  • 类型:前置依赖缺失
  • 描述coord.md ARB-001 §1.4 ai03 执行项第 4 条写 "dashboard Resolver 并行调用 iam3 RPC+ classes1 RPC用 DataLoader 防御 N+1",暗示 P2 dashboard 需 gRPC 调 classes 服务。但存在三重冲突:
    1. classes P2 无 gRPC serverclasses.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 无 gRPCteacher-bff 不能用 REST 调 classesB2 禁止 REST 过渡)。
    3. president §3.5 功能范围president-final-rulings.md §3.5 裁决 P2 实现 "班级列表iam 数据)",即 P2 班级列表数据来自 iam不是 classes 服务。
  • 建议方案:采纳 president §3.5P2 dashboard 的 classes 数据从 iam gRPC 获取iam GetEffectiveAccessGetViewports 返回的关联班级),不调 classes 服务。ARB-001 §1.4 第 4 条修正为 "dashboard Resolver 并行调用 iam gRPCGetUserInfo + GetViewports + GetEffectiveAccessclasses 列表从 iam 返回数据推导P3 core-edu gRPC 就绪后切换为 GetClassesByTeacher RPC"。这样 P2 不依赖 classes gRPC与 B2 + president §3.5 一致。
  • 状态:待 coord 仲裁

ISSUE-003-ai03GraphQL 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.4teacher-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 仲裁结论coord2026-07-10

详见 coord.md §18 ARB-016

ISSUE 仲裁结论 状态
001admin 命名空间 P2 以总裁裁决为准P2 预留 schema 占位admin.* Query/Mutation 骨架Resolver 返 nullP6 实现coord 修正 ARB-001 §1.3 已裁决§18 ARB-016
002dashboard classes 数据来源) 采纳 president §3.5P2 classes 数据从 iam gRPC 获取GetViewports/GetEffectiveAccess不调 classes 服务P3+ 切换为 core-edu.ClassService.GetClassesByTeacher 已裁决§18 ARB-016
003schema 文件名) 以总裁 §2.17 为准,统一 teacher-bff.schema.graphqlcoord 修正 ARB-001 §1.3/§1.4 已裁决§18 ARB-016