docs: ai 协作文档体系重构与多 ai 仲裁结果落地

1.AI 协作文档体系重构(objections/worklines/contracts+matrix.md)

2.coord 仲裁文档(final-decisions/cross-review/final-rulings/orchestration)

3.各服务 01/02 文档补全

4.共享包初始化(shared-ts/shared-go/hooks/ui-components/ui-tokens)

5.Proto 契约补全

6.004 架构影响地图更新

7.端口分配表

8.设计规格文档
This commit is contained in:
SpecialX
2026-07-10 12:58:22 +08:00
parent 2a2a56f541
commit faaaf29f67
120 changed files with 23201 additions and 2 deletions

View File

@@ -0,0 +1,45 @@
# admin-portal 工作排期
> 负责人ai16
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/admin-portal_contract.md](../contracts/admin-portal_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
admin-portal 是管理端微前端,通过 MF Remote 接入主应用覆盖用户管理、角色权限、审计日志等场景。全阶段目标P2 MF Remote 骨架 → P3 用户管理+角色权限+审计日志 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai16 admin-portal 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a16a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai16 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai16
- **交付物**:⚠️ 由 ai16 自行补充
- **依赖**:见 [contracts/admin-portal_contract.md](../contracts/admin-portal_contract.md)
- **验收标准**:⚠️ 由 ai16 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai16 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai16 自行补充

View File

@@ -0,0 +1,45 @@
# ai 工作排期
> 负责人ai12
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/ai_contract.md](../contracts/ai_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
ai 是智能服务,提供 AiService6 个 RPC结合 Elasticsearch 检索与 LLM 网关实现智能问答与推荐。全阶段目标P2 ES 接入+LLM 网关 → P3 AiService 6 RPC → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai12 ai 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a12a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai12 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai12
- **交付物**:⚠️ 由 ai12 自行补充
- **依赖**:见 [contracts/ai_contract.md](../contracts/ai_contract.md)
- **验收标准**:⚠️ 由 ai12 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai12 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai12 自行补充

View File

@@ -0,0 +1,57 @@
# api-gateway 工作排期
> 负责人ai01
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/api-gateway_contract.md](../contracts/api-gateway_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
api-gateway 是 Edu 系统统一入口负责路由、JWT 验签、限流、熔断、CORS。全阶段目标P2 路由+JWT → P3 限流加固 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai01 api-gateway 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2 基础
路由表+双入口+shared-go :a1a, 2026-07-10, 3d
JWT校验+JWKS fetcher :a1b, after a1a, 3d
限流+熔断+CORS :a1c, after a1b, 2d
section P3-P6 持续优化
路由扩展(student/parent/admin) :a1d, after a1c, 2d
指标+链路加固 :a1e, after a1d, 2d
```
> **注意**:以上为 coord 初始规划ai01 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### P2路由表 + JWT + 限流
- **负责人**ai01
- **交付物**
- `services/api-gateway/internal/routing/router.go` — 路由表
- `/api/v1/teacher/*` → teacher-bff:3003 代理
- `/api/v1/iam/*` → iam:3002 代理
- JWT RS256 验签shared-go/jwks
- 限流 + 熔断 + CORS
- **依赖**shared-go 骨架(批次 0 已完成)+ iam GetPublicKeyai06
- **验收标准**:路由双入口 + JWT 验签 + 限流 + CORS 白名单
- **完整 P3-P6 任务**:⚠️ 由 ai01 自行补充
---
## §4 依赖与就绪信号
- **我依赖**iam GetPublicKey RPCai06
- **我的就绪信号**api-gateway :8080 可访问 + JWT 验签可用

View File

@@ -0,0 +1,107 @@
# classes 工作排期
> 负责人ai07
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/classes_contract.md](../contracts/classes_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
> 特殊说明classes 是黄金模板P1 已实现P3 合并入 core-eduai08 接管)
---
## §1 总览
classes 是 Edu 微服务的黄金模板P1 阶段已实现班级 CRUD + 全横切关注点。P3 阶段合并入 core-edu 后classes 模块代码由 ai08 接管维护,但黄金模板对照 checklist 由 ai07 持续维护。
**全阶段目标**
- P1已完成班级 CRUD + 黄金模板 + 6 项整改
- P3合并入 core-edu + Outbox + gRPC + DataScope + Redis 缓存 + cuid2 迁移
- P6黄金模板 checklist 持续维护 + 硬化
---
## §2 全阶段甘特图P1-P6
```mermaid
gantt
title ai07 classes 黄金模板全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P1 黄金模板整改
阶段1+2架构设计文档 :crit, a7a, 2026-07-10, 1d
typeorm移除+tracer修复+@Query替换 :crit, a7b, 2026-07-10, 1d
测试覆盖率60→80%+Dockerfile升级 :a7c, 2026-07-11, 1d
schema索引补齐 :a7d, 2026-07-11, 1d
section P3 合并入core-edu
shared/outbox目录补齐 :a7e, 2026-07-14, 2d
cuid2迁移+DataScope注入 :a7f, 2026-07-15, 2d
Redis缓存+软删除+分页 :a7g, 2026-07-17, 3d
gRPC 50053启用+核心edu合并 :a7h, 2026-07-20, 2d
section P6 硬化
黄金模板checklist持续维护 :a7i, 2026-07-25, 5d
可观测性增强+告警规则 :a7j, 2026-07-30, 3d
```
---
## §3 详细任务
### P1黄金模板整改立即
| # | 任务 | 交付物 | 验收标准 | 状态 |
| --- | ----------------------------------- | ------------------------------------------------------------------------- | --------------------------------- | --------- |
| 1 | 阶段 1+2 架构设计文档 | `services/classes/docs/01-understanding.md` + `02-architecture-design.md` | coord 交叉审查通过 | ✅ 已完成 |
| 2 | 移除 typeorm 冗余依赖 | `package.json` 删除 typeorm 行 | `pnpm install` 零错误 | 待执行 |
| 3 | tracer.ts console.log → logger.info | `src/shared/observability/tracer.ts` L20 | grep `console.log` 返回 0 | 待执行 |
| 4 | controller list @Req@Query | `src/classes/classes.controller.ts` L49-53 | list 方法用 `@Query('gradeId')` | 待执行 |
| 5 | 测试覆盖率阈值 60% → 80% | `vitest.config.ts` + 补测试用例 | `pnpm test:coverage` 达 80% | 待执行 |
| 6 | Dockerfile node:20 → node:22 | `Dockerfile` | 基础镜像 `node:22-alpine` | 待执行 |
| 7 | schema 补齐索引 | `classes.schema.ts` + 迁移脚本 | grade_id / head_teacher_id 有索引 | 待执行 |
### P3合并入 core-edu交接给 ai08
| # | 任务 | 交付物 | 验收标准 | 状态 |
| --- | ------------------------- | ---------------------------------------------------------- | ------------------------------- | ------ |
| 1 | `shared/outbox/` 目录补齐 | outbox.repository / outbox.publisher / outbox.relay-worker | 事件可发布到 Kafka | 待执行 |
| 2 | cuid2 迁移 | id 字段 uuid v4 → cuid2 + 数据迁移脚本 | 双写过渡期完成 | 待执行 |
| 3 | DataScope 6 级 WHERE 注入 | Repository list 方法接收 dataScope 参数 | 6 级过滤生效 | 待执行 |
| 4 | Redis 班级列表缓存 | cachedList 方法 + TTL 5 分钟 + 事件失效 | 缓存命中率 > 80% | 待执行 |
| 5 | 软删除 + 审计字段 | deleted_at / created_by / updated_by | DELETE 改软删除 | 待执行 |
| 6 | 分页 + 批量查询 | 游标分页 + POST /classes/batch | proto page_size/page_token 落地 | 待执行 |
| 7 | gRPC server 50053 启用 | ClassService 5 RPC 实现 | gRPC health check SERVING | 待执行 |
| 8 | PermissionGuard 改调 iam | 动态权限查询 getEffectivePermissions | 角色变更无需改代码重启 | 待执行 |
### P6硬化
| # | 任务 | 交付物 | 验收标准 | 状态 |
| --- | --------------------------- | ---------------------------------- | ---------------- | ------ |
| 1 | 黄金模板 checklist 持续维护 | 02-architecture-design.md §10 更新 | 覆盖全部新模式 | 待执行 |
| 2 | 可观测性增强 | 日志注入 traceId + Outbox 积压告警 | Grafana 面板可用 | 待执行 |
---
## §4 依赖与就绪信号
- **我依赖**
- MySQL classes_dbP1 已就绪)
- api-gateway 路由注册P1 已就绪)
- P3iam `BatchGetUsers` + `getEffectivePermissions`
- P3Kafka 基础设施ai08 启用)
- **我的就绪信号**
- P1REST API 5 端点 + /healthz + /readyz + /metrics 可用(已就绪)
- P3gRPC 50053 + Outbox 事件发布 + Redis 缓存可用
- **交接信号**P3 合并时ai07 向 ai08 交接 classes 模块,交接清单见 02-architecture-design.md §11
---
## §5 交接计划ai07 → ai08
| 交接项 | 内容 | 时间 |
| ------------------ | ------------------------------------------------------- | --------- |
| 源码交接 | `services/classes/src/` 全部源码 | P3 启动时 |
| 文档交接 | `services/classes/docs/` 2 份设计文档 | P3 启动时 |
| proto 交接 | `classes.proto` 由 core-edu 实现承载 | P3 启动时 |
| 黄金模板保留 | `services/classes/` 保留作只读对照基准(待 coord 仲裁) | P3 合并后 |
| checklist 持续维护 | ai07 持续维护 02-architecture-design.md §10 | 跨阶段 |

View File

@@ -0,0 +1,45 @@
# content 工作排期
> 负责人ai09
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/content_contract.md](../contracts/content_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
content 是内容服务,提供 TextbookService、ChapterService、KnowledgeGraphService、QuestionService结合 Neo4j 知识图谱与 Elasticsearch 全文检索。全阶段目标P2 服务骨架+Neo4j+ES → P3 四大 Service 实现 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai09 content 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a9a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai09 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai09
- **交付物**:⚠️ 由 ai09 自行补充
- **依赖**:见 [contracts/content_contract.md](../contracts/content_contract.md)
- **验收标准**:⚠️ 由 ai09 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai09 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai09 自行补充

View File

@@ -0,0 +1,45 @@
# core-edu 工作排期
> 负责人ai08
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/core-edu_contract.md](../contracts/core-edu_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
core-edu 是教学核心服务,提供 ClassService、ExamService、HomeworkService、GradeService、AttendanceService并基于 Outbox 模式发布领域事件。全阶段目标P2 服务骨架+Outbox → P3 五大 Service 实现 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai08 core-edu 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a8a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai08 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai08
- **交付物**:⚠️ 由 ai08 自行补充
- **依赖**:见 [contracts/core-edu_contract.md](../contracts/core-edu_contract.md)
- **验收标准**:⚠️ 由 ai08 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai08 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai08 自行补充

View File

@@ -0,0 +1,45 @@
# data-ana 工作排期
> 负责人ai11
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/data-ana_contract.md](../contracts/data-ana_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
data-ana 是数据分析服务,提供 AnalyticsService12 个 RPC基于 ClickHouse 列存查询与 CDC 消费实现实时分析。全阶段目标P2 ClickHouse 接入+CDC 消费 → P3 AnalyticsService 12 RPC → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai11 data-ana 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a11a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai11 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai11
- **交付物**:⚠️ 由 ai11 自行补充
- **依赖**:见 [contracts/data-ana_contract.md](../contracts/data-ana_contract.md)
- **验收标准**:⚠️ 由 ai11 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai11 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai11 自行补充

View File

@@ -0,0 +1,56 @@
# iam 工作排期
> 负责人ai06
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/iam_contract.md](../contracts/iam_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
iam 是身份认证服务全阶段目标gRPC 50052 + 12 RPC + /readyz 深度 + iam_student_guardians + DataScope + 审计日志 + Outbox。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai06 iam 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2.1 核心
gRPC server 50052启用 :crit, a6a, 2026-07-10, 2d
12 RPC实现 :crit, a6b, after a6a, 4d
/readyz深度(5依赖) :a6c, after a6b, 1d
iam_student_guardians+DataScope :a6d, after a6b, 1d
section P2.2-P6 扩展
审计日志+Outbox :a6e, after a6d, 3d
持续补全 :a6f, after a6e, 5d
```
> **注意**:以上为 coord 初始规划ai06 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### P2.1gRPC + 12 RPC + /readyz + DataScope
- **负责人**ai06
- **交付物**
- gRPC server 50052 + 12 RPC见 iam.proto
- /readyz 5 项依赖检查
- iam_student_guardians 表 + DataScope=CHILDREN
- **依赖**iam.proto批次 0 已完成)
- **验收标准**12 RPC 全部可用 + /readyz 返回 5 项状态
- **完整 P2.2-P6 任务**:⚠️ 由 ai06 自行补充
---
## §4 依赖与就绪信号
- **我依赖**iam 是基础服务)
- **我的就绪信号**gRPC 50052 启用 + GetPublicKey RPC 可用 + HealthService.Check 返回 SERVING

View File

@@ -0,0 +1,45 @@
# msg 工作排期
> 负责人ai10
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/msg_contract.md](../contracts/msg_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
msg 是消息服务,提供 NotificationService、PreferenceService、TemplateService并基于 Outbox 模式发布消息事件。全阶段目标P2 服务骨架+Outbox → P3 三大 Service 实现 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai10 msg 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a10a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai10 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai10
- **交付物**:⚠️ 由 ai10 自行补充
- **依赖**:见 [contracts/msg_contract.md](../contracts/msg_contract.md)
- **验收标准**:⚠️ 由 ai10 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai10 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai10 自行补充

View File

@@ -0,0 +1,45 @@
# parent-bff 工作排期
> 负责人ai05
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/parent-bff_contract.md](../contracts/parent-bff_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
parent-bff 为家长端提供 GraphQL 聚合 API覆盖 Dashboard、多子女切换、成绩趋势等场景。全阶段目标P2 GraphQL schema 骨架 → P3 Dashboard+多子女+成绩趋势 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai05 parent-bff 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a5a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai05 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai05
- **交付物**:⚠️ 由 ai05 自行补充
- **依赖**:见 [contracts/parent-bff_contract.md](../contracts/parent-bff_contract.md)
- **验收标准**:⚠️ 由 ai05 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai05 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai05 自行补充

View File

@@ -0,0 +1,45 @@
# parent-portal 工作排期
> 负责人ai15
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/parent-portal_contract.md](../contracts/parent-portal_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
parent-portal 是家长端微前端,通过 MF Remote 接入主应用,覆盖 Dashboard、多子女切换等场景。全阶段目标P2 MF Remote 骨架 → P3 Dashboard+多子女切换 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai15 parent-portal 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a15a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai15 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai15
- **交付物**:⚠️ 由 ai15 自行补充
- **依赖**:见 [contracts/parent-portal_contract.md](../contracts/parent-portal_contract.md)
- **验收标准**:⚠️ 由 ai15 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai15 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai15 自行补充

View File

@@ -0,0 +1,45 @@
# push-gateway 工作排期
> 负责人ai02
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/push-gateway_contract.md](../contracts/push-gateway_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
push-gateway 负责长连接接入HTTP /internal/* + WebSocket/SSE与多设备会话管理配合审计表实现消息推送可观测。全阶段目标P2 HTTP+WS 接入 → P3 多设备会话 → P4-P6 审计与加固。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai02 push-gateway 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a2a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai02 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai02
- **交付物**:⚠️ 由 ai02 自行补充
- **依赖**:见 [contracts/push-gateway_contract.md](../contracts/push-gateway_contract.md)
- **验收标准**:⚠️ 由 ai02 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai02 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai02 自行补充

View File

@@ -0,0 +1,45 @@
# student-bff 工作排期
> 负责人ai04
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/student-bff_contract.md](../contracts/student-bff_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
student-bff 为学生端提供 GraphQL 聚合 API覆盖 Dashboard、考试作答、作业提交等场景。全阶段目标P2 GraphQL schema 骨架 → P3 Dashboard+考试+作业聚合 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai04 student-bff 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a4a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai04 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai04
- **交付物**:⚠️ 由 ai04 自行补充
- **依赖**:见 [contracts/student-bff_contract.md](../contracts/student-bff_contract.md)
- **验收标准**:⚠️ 由 ai04 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai04 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai04 自行补充

View File

@@ -0,0 +1,45 @@
# student-portal 工作排期
> 负责人ai14
> 关联:[workline.md](../workline.md)、[coord.md](../coord.md)、[contracts/student-portal_contract.md](../contracts/student-portal_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
student-portal 是学生端微前端,通过 MF Remote 接入主应用覆盖考试作答、作业提交等场景。全阶段目标P2 MF Remote 骨架 → P3 考试作答+作业提交 → P4-P6 持续优化。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai14 student-portal 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2-P6
[阶段任务] :a14a, 2026-07-10, Xd
```
> **注意**:以上为 coord 初始规划ai14 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### 全阶段任务
- **负责人**ai14
- **交付物**:⚠️ 由 ai14 自行补充
- **依赖**:见 [contracts/student-portal_contract.md](../contracts/student-portal_contract.md)
- **验收标准**:⚠️ 由 ai14 自行补充
---
## §4 依赖与就绪信号
- **我依赖**:⚠️ 由 ai14 自行补充(见 contract.md
- **我的就绪信号**:⚠️ 由 ai14 自行补充

View File

@@ -0,0 +1,58 @@
# teacher-bff 工作排期
> 负责人ai03
> 关联:[workline.md](../workline.md)、[coord.md §1 ARB-001](../coord.md)、[contracts/teacher-bff_contract.md](../contracts/teacher-bff_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,最后统一集成测试)
---
## §1 总览
teacher-bff 是教学场景域聚合层全阶段目标P2 GraphQL schema 第一版 → P3 扩展 exams/homework/grades → P4 学情分析 → P5 通知+SSE → P6 admin 命名空间。
---
## §2 全阶段甘特图P2-P6各 AI 自行细化)
```mermaid
gantt
title ai03 teacher-bff 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2 GraphQL 基础
schema第一版(ARB-001) :crit, a3a, 2026-07-10, 2d
Yoga endpoint+5 Query Resolver :crit, a3b, after a3a, 3d
DataLoader+N+1防御 :a3c, after a3b, 1d
ActionState信封+降级模式B :a3d, after a3b, 1d
section P3-P6 扩展
exams/homework/grades Query :a3e, after a3d, 3d
学情分析+通知+SSE :a3f, after a3e, 4d
admin命名空间 :a3g, after a3f, 2d
```
> **注意**:以上为 coord 初始规划ai03 接管后必须自行细化为完整 P2-P6 排期。
---
## §3 详细任务
### P2GraphQL schema + 5 Query + DataLoader + ActionState
- **负责人**ai03
- **交付物**
- `packages/shared-ts/contracts/graphql/teacher-bff.graphql` — P2 schema
- Yoga endpoint `POST /graphql`
- 5 Querydashboard / viewports / me / classes / class
- DataLoader + ActionState 信封 + 降级模式 B
- **依赖**iam gRPCai06+ coord 仲裁 ARB-001
- **验收标准**5 Query 可用 + ActionState 信封 + depth ≤ 7
- **完整 P3-P6 任务**:⚠️ 由 ai03 自行补充
---
## §4 依赖与就绪信号
- **我依赖**iam gRPC 50052ai06+ core-edu gRPC 50053ai08P3+
- **我的就绪信号**POST /graphql 可用 + dashboard Query 返回正确数据

View File

@@ -0,0 +1,170 @@
# teacher-portal 工作排期
> 负责人ai13
> 关联:[workline.md](../workline.md)、[coord.md §2 ARB-002](../coord.md)、[contracts/teacher-portal_contract.md](../contracts/teacher-portal_contract.md)
> 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,开发期间用 mock最后统一集成测试
> 依据president-final-rulings.md §3.5ai13 P2 功能范围)+ §7.13ai13 工作内容最终清单)+ 03-long-term-architecture.md §1.1 阶段能力累积矩阵
---
## §1 总览
teacher-portal 是教学场景域微前端MF Shell全阶段目标P2 MF Shell + GraphQL client + 基础页面 → P3 考试/作业/成绩 → P4 知识图谱/学情 → P5 推送/AI → P6 可观测性硬化。
**全并行模式**ai13 一口气完成 P2-P6 全部代码,开发期间用 MSW mock 上游teacher-bff GraphQL / api-gateway HTTP / push-gateway WebSocket上游就绪后在 [matrix.md](../matrix.md) §8 更新就绪信号,最后统一集成测试。
---
## §2 全阶段甘特图P2-P6
```mermaid
gantt
title ai13 teacher-portal 全阶段排期(全并行)
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2 基础
packages骨架(ui-tokens/ui-components/hooks) :crit, a13p0, 2026-07-09, 1d
MF Shell配置(NextFederationPlugin) :crit, a13a, after a13p0, 2d
GraphQLProvider+urql client单例 :crit, a13b, after a13a, 2d
AppShell+路由骨架+设计令牌三层 :a13c, after a13b, 2d
登录页+权限上下文+Token存储 :a13d, after a13c, 2d
Dashboard框架+班级列表+学生列表+个人设置 :a13e, after a13d, 3d
section P3 教学核心
考试管理页面(列表/创建/详情) :a13f, after a13e, 3d
作业管理页面(布置/批改) :a13g, after a13f, 3d
成绩管理页面(录入/分析) :a13h, after a13g, 2d
乐观更新+多Tab会话同步 :a13i, after a13h, 2d
section P4 知识与学情
知识图谱可视化页面 :a13j, after a13i, 3d
学情分析仪表盘(宽表5s) :a13k, after a13j, 3d
parent-portal Remote接入 :a13l, after a13k, 1d
section P5 推送与AI
WebSocket通知中心 :a13m, after a13l, 2d
AI辅助出题(SSE流式) :a13n, after a13m, 3d
AI生成教案/学情报告 :a13o, after a13n, 2d
section P6 硬化
Sentry+RUM+OTel browser :a13p, after a13o, 2d
A11y审计(WCAG 2.2 AA) :a13q, after a13p, 2d
性能优化+bundle门禁 :a13r, after a13q, 2d
localStorage→httpOnly Cookie迁移 :a13s, after a13r, 1d
```
---
## §3 详细任务
### P2MF Shell + GraphQL client + 基础页面
- **负责人**ai13
- **裁决依据**:总裁裁决 §3.5ai13 P2 功能范围)+ F9GraphQL P2 起)+ F12localStorage token+ §2.17MF GraphQL client 单例方案 A+ §2.18packages 批次 0.15
- **交付物**
- ✅ packages 骨架ui-tokens/ui-components/hooks批次 0.15 已完成)
- NextFederationPlugin 配置exposes AppShell + shared react/urql/graphql singleton无 remotes
- GraphQLProvider + urql client 单例Shell 暴露Remote 复用§2.17 方案 A
- AppShellLayout + 侧边栏 + 路由守卫 + ErrorBoundary + 设计令牌三层 primitive/semantic/tailwind-theme
- 登录页POST /api/auth/login → JWT 存 localStorageF12
- 权限上下文usePermission + useViewports权限点 `<RESOURCE>_<ACTION>` F7
- Dashboard 框架teacherDashboard GraphQL query
- 班级列表页myClasses GraphQL queryiam 数据)
- 学生列表页classStudents GraphQL queryiam 数据)
- 个人设置页currentUser + updateUser GraphQL query/mutation
- **依赖**teacher-bff GraphQL schema 第一版ai03 + coord 仲裁 ISSUE-037+ api-gateway 路由ai01
- **Mock 策略**MSW 拦截 POST /api/teacher/graphql + POST /api/auth/login见 contract.md §4.2
- **验收标准**MF 配置不破坏单体 + GraphQL 拉取数据 + 登录→Dashboard→班级列表→学生列表链路通
### P3考试/作业/成绩 + 乐观更新 + 多 Tab 同步
- **负责人**ai13
- **交付物**
- 考试管理页面classExams list / createExam mutation / examDetail
- 作业管理页面classHomework list / assignHomework mutation / homeworkDetail / 批改界面)
- 成绩管理页面studentGrades list / recordGrade mutation / 成绩分析图表)
- 乐观更新useMutation onMutate 回滚 + invalidateQueries见 03 §10.1
- 多 Tab 会话同步BroadcastChannel('edu-session'),见 03 §2.5
- **依赖**teacher-bff 扩展 core-edu gRPC 调用ai03 P3core-edu ai08 P3 启用 gRPC
- **Mock 策略**MSW 返回固定考试/作业/成绩数据
- **验收标准**教师创建考试→学生student-portal Remote作答→教师批改全链路mock+ 乐观更新回滚正确 + 多 Tab 登出同步
### P4知识图谱 + 学情分析 + parent-portal Remote
- **负责人**ai13
- **交付物**
- 知识图谱可视化页面recharts/d3 节点图CSR + @next/dynamic 懒加载)
- 学情分析仪表盘(宽表 5s 返回ISR revalidate 60s + CSR 交互)
- parent-portal Remote 接入MF remotes 配置feature flag NEXT_PUBLIC_MF_ENABLED
- **依赖**teacher-bff 扩展 content/data-ana gRPC 调用ai03 P4content ai09 P4 / data-ana ai11 P4 启用 gRPC+ parent-portalai15 P4
- **Mock 策略**MSW 返回固定知识图谱 + 学情宽表数据
- **验收标准**:教师查看知识图谱 + 学情宽表 5s 返回mock+ parent-portal Remote 在 Shell 内渲染
### P5WebSocket 推送 + AI 辅助 + 通知中心
- **负责人**ai13
- **交付物**
- WebSocket 通知中心ws://push-gateway:8081/ws实时通知 + BroadcastChannel 跨 Tab
- AI 辅助出题SSE 流式generateQuestion subscription
- AI 生成教案/学情报告generateLessonPlan / generateReport mutation
- **依赖**push-gateway WebSocketai02 P5+ ai 服务 gRPCai12 P5 启用 gRPC+ msg 服务ai10 P5
- **Mock 策略**mock-socket 模拟 WS 推送 + MSW 返回固定 AI 响应SSE 用 ReadableStream mock
- **验收标准**全校广播实时到达mock+ AI 流式出题mock+ 通知中心实时更新
### P6可观测性硬化 + A11y + 性能 + Token 迁移
- **负责人**ai13
- **交付物**
- Sentry 错误追踪 + Session ReplayNEXT_PUBLIC_SENTRY_DSN + beforeSend PII 过滤)
- Web Vitals RUMLCP/INP/CLS/TTFB → /api/v1/admin/web-vitals
- OTel browser SDK自动埋点 fetch/XHR/document load → OTLP collector
- A11y 审计WCAG 2.2 AAeslint-plugin-jsx-a11y + @axe-core/playwright + 对比度审计)
- 性能优化bundle analyzer + size-limit CI 门禁Shell <150KB / Remote <80KB / CSS <50KB
- localStorage → httpOnly Cookie 迁移iam refresh cookie 端点就绪后 + CSRF 防护)
- **依赖**全链路可观测就绪iam refresh cookie + Sentry DSN + OTel collector
- **验收标准**99.9% 可用 + WCAG 2.2 AA + LCP <2.5s / INP <200ms / CLS <0.1P75
---
## §4 依赖与就绪信号
### §4.1 我依赖的上游就绪标志
| 上游 | 就绪标志 | 阻塞阶段 | 状态 |
| --------------------------------------------------------- | ------------------------------------------------- | -------- | ---------------------- |
| packages 骨架ai13 自建) | ui-tokens/ui-components/hooks 可 import | P2 启动 | ✅ 已就绪(批次 0.15 |
| teacher-bff GraphQL schemaai03 + coord 仲裁 ISSUE-037 | packages/shared-ts/contracts/graphql/ 第一版 | P2 启动 | ⏳ 待 coord 仲裁 |
| api-gateway HTTP :8080ai01 | /api/teacher/graphql + /api/auth/login 路由可用 | P2 启动 | ⏳ 待 ai01 |
| teacher-bff core-edu 扩展ai03 P3 | classExams/classHomework/studentGrades query 可用 | P3 启动 | ⏳ 待 ai03 P3 |
| teacher-bff content/data-ana 扩展ai03 P4 | knowledgeGraph/studentAnalytics query 可用 | P4 启动 | ⏳ 待 ai03 P4 |
| push-gateway WebSocket :8081/wsai02 P5 | WS 连接可建立 + 推送可接收 | P5 启动 | ⏳ 待 ai02 P5 |
| ai 服务 gRPCai12 P5 | generateQuestion/generateLessonPlan 可调 | P5 启动 | ⏳ 待 ai12 P5 |
| iam refresh cookie 端点ai06 P6 | POST /iam/auth/refresh 返回 httpOnly cookie | P6 启动 | ⏳ 待 ai06 P6 |
### §4.2 我的就绪信号(供下游消费)
| 信号 | 就绪标志 | 消费方 |
| ------------------------------- | -------------------------------------- | ---------------------------------- |
| teacher-portal dev server :4000 | next dev -p 4000 可访问 | 无(最前端) |
| MF Shell 可加载 | 首页渲染 AppShell + 导航 | student/parent/admin RemoteP3+ |
| 登录流程可用 | POST /api/auth/login → JWT → Dashboard | 无(最前端) |
| GraphQL 查询可执行 | currentUser/myClasses 返回数据 | 无(最前端) |
| parent-portal Remote 接入点 | MF remotes 配置就绪 | parent-portalai15 P4 |
---
## §5 全并行开发说明
按 [matrix.md](../matrix.md) §全并行模式:
1. ai13 一口气完成 P2-P6 全部代码,开发期间用 MSW mock 上游
2. 上游就绪后在 matrix.md §8 更新就绪信号
3. 所有模块就绪后统一集成测试matrix.md §9 检查清单)
4. Mock 切换NEXT_PUBLIC_API_MOCKING=enabled → disabled
---
**AI Agent**: ai13teacher-portal
**Branch**: feat/teacher-portal-workline-ai13
**Coordinator**: coord-ai