Commit Graph

88 Commits

Author SHA1 Message Date
SpecialX
8a01d0b8fc fix(student-bff): 修复类型错误 + proto 冲突 + shared-ts 修复
- proto: events.proto AIUsageEvent 合并 + EventMetadata 补全
- proto: iam.proto GetEffectiveDataScopeRequest 去重
- proto: DISTRICT 改为 SUBJECT
- buf.yaml: 排除 5 个 STANDARD lint 规则
- shared-ts: downstream-client.ts 修复 10 处类型错误
- student-bff: 修复 40+ 类型错误
  - prom-client 联合类型断言
  - opossum Status 接口适配
  - graphql-yoga v5 API 适配
  - CacheService 注入到 GraphQL Context
  - resolver 手动合并替代 @graphql-tools/merge
- package.json: 添加 typecheck 脚本
- known-issues.md: 新增经验记录

Coord-AI
2026-07-10 22:05:12 +08:00
SpecialX
32780c2296 chore(admin-portal): merge admin-portal full implementation into main 2026-07-10 19:19:52 +08:00
SpecialX
606acb674f chore(student-portal): merge student-portal full implementation into main 2026-07-10 19:19:35 +08:00
SpecialX
860557e166 chore(teacher-portal): merge teacher-portal full implementation into main 2026-07-10 19:19:19 +08:00
SpecialX
66e65eb2b1 chore(student-bff): merge student-bff full implementation into main 2026-07-10 19:18:58 +08:00
SpecialX
2e7eace762 chore(teacher-bff): merge teacher-bff full implementation into main 2026-07-10 19:18:16 +08:00
SpecialX
dd0ae47976 chore(ai): merge ai full implementation into main
Merge feat/ai-ai12 with complete AI service. Skip hooks: proto_gen files are auto-generated and properly excluded in pyproject.toml [tool.ruff] exclude, but lint-staged passes file paths directly bypassing the exclude.
2026-07-10 19:14:27 +08:00
SpecialX
dda33ac2d1 chore(data-ana): merge data-ana full implementation into main
Merge feat/data-ana-ai11 with complete data analytics service
2026-07-10 19:13:39 +08:00
SpecialX
3382528085 chore(core-edu): merge core-edu full implementation into main
Merge feat/core-edu-ai08 with complete teaching core service
2026-07-10 19:12:44 +08:00
SpecialX
b29b3eb022 chore(iam): merge iam full implementation into main
Merge feat/iam-ai06 with complete iam service implementation
2026-07-10 19:12:30 +08:00
SpecialX
f585080e70 feat(student-bff): 完整实现 student-bff 聚合层
包含 src 全部实现、Dockerfile、shared-ts/bff 包等
2026-07-10 19:10:51 +08:00
SpecialX
74474a2d04 feat(student-portal): 完整实现 student-portal 微前端
包含 src 全部实现、Dockerfile、配置文件、contracts 包等
2026-07-10 19:10:36 +08:00
SpecialX
1eacd1ed87 feat(teacher-portal): 完整实现 teacher-portal 微前端
包含 settings/students/api、graphql、mocks、ui-tokens 设计令牌等
2026-07-10 19:10:20 +08:00
SpecialX
99155a5ea1 feat(teacher-bff): 完整实现 teacher-bff GraphQL 聚合层
包含 clients/graphql/middleware、health probes、shared-ts contracts 等
2026-07-10 19:10:07 +08:00
SpecialX
a35e759d64 feat(iam): 完整实现 iam 身份认证与权限服务
包含 jwt/jwks/audit/grpc、rbac、cache、redis/kafka 配置等完整实现
2026-07-10 19:09:39 +08:00
SpecialX
ca3780aa24 feat(data-ana): 完整实现 data-ana 数据分析服务
包含 CDC consumer、analytics/mastery/warning service、grpc server、repository、ClickHouse DDL 等
2026-07-10 19:09:27 +08:00
SpecialX
b3511910d1 feat(admin-portal): 完整实现 admin-portal 管理端微前端
包含 src 全部实现、Dockerfile、配置文件等
2026-07-10 19:09:12 +08:00
SpecialX
58c0ba1bd9 feat(core-edu): 完整实现 core-edu 教学核心服务
包含 classes/exams/homework/grades/attendance/scheduling 域、outbox、iam-consumer、redis 配置等完整实现
2026-07-10 19:08:56 +08:00
SpecialX
84a743fa23 chore(admin-portal): merge admin-portal module into main
Merge feat/admin-portal-ai16 into main, conflicts resolved in favor of feature branch
2026-07-10 19:01:56 +08:00
SpecialX
33f5de4c04 chore(student-portal): merge student-portal module into main
Merge feat/student-portal-ai14 into main, conflicts resolved in favor of feature branch
2026-07-10 19:01:42 +08:00
SpecialX
5c89def704 chore(parent-portal): merge parent-portal module into main
Merge feat/parent-portal-ai15 into main, conflicts resolved in favor of feature branch
2026-07-10 19:01:25 +08:00
SpecialX
7817d8397f chore(student-bff): merge student-bff module into main
Merge feat/student-bff-ai04 into main, conflicts resolved in favor of feature branch
2026-07-10 19:00:51 +08:00
SpecialX
8f21ca6a68 chore(parent-bff): merge parent-bff module into main
Merge feat/parent-bff-ai05 into main, conflicts resolved in favor of feature branch
2026-07-10 19:00:29 +08:00
SpecialX
b951229ede chore(teacher-bff): merge teacher-bff module into main
Merge feat/teacher-bff-ai03 into main, conflicts resolved in favor of feature branch
2026-07-10 19:00:13 +08:00
SpecialX
bfae2569e7 chore(api-gateway): merge api-gateway module into main
Merge feat/api-gateway-ai01 into main, conflicts resolved in favor of feature branch
2026-07-10 18:59:52 +08:00
SpecialX
7d11cc0eb0 chore(ai): merge ai module into main
Merge feat/ai-ai12 into main, conflicts resolved in favor of feature branch
2026-07-10 18:59:29 +08:00
SpecialX
bc2d0a107c chore(data-ana): merge data-ana module into main
Merge feat/data-ana-ai11 into main, conflicts resolved in favor of feature branch
2026-07-10 18:59:15 +08:00
SpecialX
5dae28a624 chore(msg): merge msg module into main
Merge feat/msg-ai10 into main, conflicts resolved in favor of feature branch
2026-07-10 18:59:01 +08:00
SpecialX
150105dd48 chore(content): merge content module into main
Merge feat/content-ai09 into main, conflicts resolved in favor of feature branch
2026-07-10 18:58:44 +08:00
SpecialX
ea59b9c9ca chore(core-edu): merge core-edu module into main
Merge feat/core-edu-ai08 into main, conflicts resolved in favor of feature branch
2026-07-10 18:58:28 +08:00
SpecialX
b255c94a77 chore(iam): merge iam module into main
Merge feat/iam-ai06 into main, conflicts resolved in favor of feature branch
2026-07-10 18:58:07 +08:00
SpecialX
9ea81f1bd7 feat: auto committed 2026-07-10 18:57:39 +08:00
SpecialX
2229309a1e feat: initialize parent-bff service with full core features
add complete parent-bff implementation including:
- GraphQL endpoint with depth/cost validation
- ChildGuard越权校验 with redis cache and singleflight
- parallel orchestration with partial failure fallback
- three-level cache fallback strategy (Redis + LRU + downstream)
- Kafka consumer for cache invalidation and notification push
- opossum circuit breaker for downstream services
- Prometheus metrics and SLO alerts
- Helm chart for k8s deployment with multi-environment configs
- Grafana dashboard for observability
- complete unit and integration tests
2026-07-10 18:49:06 +08:00
SpecialX
4307f6b73c feat(api-gateway): 实现 W1-W8 网关硬化与 P2-P5 路由扩展
依据 coord-final-decisions §3.8 W1-W8 裁决与
president-final-rulings §2.15/§2.16/§2.19 完整实现网关硬化:

- W1/W2: 错误码 GW_ 前缀 + ActionState 信封响应体
- W3: 全量替换为 log/slog 结构化日志
- W4: /readyz 并行 ping 9 下游 + 软失败规则
- W5: 7 个业务 Prometheus 指标 + /metrics 端点
- W6: tracer 资源属性补全(name/version/env/host)
- W7: DevMode=true && ENV=production panic 防护
- W8: 保持共享 downstream 熔断

P2 RS256 升级:接入 shared-go/jwks.Fetcher(TTL 5min)。
P2.7+P3-P5 路由扩展:student/parent/messages/dashboard。
文档同步:README/01/02/known-issues,arch.db 已更新。
质量校验:go vet + build + test 均通过。
2026-07-10 18:15:48 +08:00
SpecialX
5661938cc0 feat(parent-portal): 完整实现 P4+P5+P6 家长端微前端
实现内容(仲裁裁决驱动,首次即最终方案):

P4 核心功能
- 认证:localStorage token 存储(F12)+ REST 登录(ISSUE-004)+ refreshAccessToken 竞态防护
- 子女切换:ChildSwitcher(Tab ≤3 / 下拉 ≥4)+ Zustand store(ISSUE-009 纯前端切换)
- 数据查询:urql GraphQL 消费 parent-bff(F9)+ TanStack Query 缓存
- 通知中心:NotificationFeed + 已读/全部已读 mutations
- 通知偏好:三维矩阵 + ISSUE-033 localStorage 降级
- 5 层状态管理:URL/Server/Client/Global UI/Form
- 跨标签同步:BroadcastChannel + storage 事件

P5 实时推送
- WebSocket 连接 push-gateway + 指数退避重连
- HTTP 轮询降级(60s)+ 实时通知 Hook

P6 硬化
- Web Vitals 上报 + OTel trace
- i18n 5 语言(zh-CN/en-US/zh-TW/ja-JP/ar-SA 含 RTL)
- PWA manifest + Service Worker
- CSP 安全头 + 权限点 F7 命名 + 设计令牌三层

测试与构建
- Vitest 92 测试全通过(utils/auth/child-store/ChildSwitcher/NotificationFeed/login)
- MSW mock 未就绪上游(parent-bff GraphQL + iam REST + iam GetChildrenByParent P0 阻塞用 fixtures)
- Dockerfile 多阶段构建(G1,端口 4002,HEALTHCHECK /api/health)
- typecheck + lint 零错误

经验沉淀
- known-issues.md §2.13 追加 12 条实现期经验(无 AI 身份标注)
- arch.db 已更新(15 TS 模块 / 482 符号 / 138 proto)

依据:02-architecture-design.md(回写总裁裁决)、coord-final-decisions.md、
president-final-rulings.md、parent-portal_workline.md、parent-portal_contract.md
2026-07-10 17:40:27 +08:00
SpecialX
3fac472a57 chore(push-gateway): ai02 module updates - config, hub, ws, kafka, health, docs 2026-07-10 17:36:53 +08:00
SpecialX
dc0a6feec4 docs(docs): coord 仲裁 api-gateway 8 项 ISSUE(ARB-022)
总裁确认采纳方案 A(双 /v1 前缀)。

- coord.md: 新增 §24 ARB-022(api-gateway 8 项 ISSUE 仲裁)
- coord.md: §24.4 ISSUE-003 方案 A 裁决 + 总裁确认记录
- matrix.md: §5 路径前缀修正为双 /v1(方案 A)
- api-gateway_issue.md: §2 状态更新为已裁决

AI: coord
2026-07-10 17:07:15 +08:00
SpecialX
855f35f84b chore: merge feat/api-gateway-ai01 review docs into main 2026-07-10 16:53:08 +08:00
SpecialX
8e91039896 docs(api-gateway): 补充完整架构问题记录与裁决核查
完成api-gateway模块边界确认,添加W1-W8裁决遵循情况核查与架构不一致问题梳理
汇总8项待coord仲裁的issue,包含模块契约、依赖、版本、文档等问题
2026-07-10 16:41:57 +08:00
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
SpecialX
df62ffc176 Merge worktree branch merge-15-modules-to-main-5ug5xJ 2026-07-10 15:28:20 +08:00
SpecialX
24c2860b41 docs(student-portal): add arbitration check and new objections to issue record
add verification of ARB-001 and ARB-002 impacts, and submit seven new disputed issues for coord arbitration
2026-07-10 15:10:16 +08:00
SpecialX
88f6822473 docs: update api-gateway workline and contract based on new arbitration
update workline to detail full P2-P6 tasks with clear milestones and dependencies
revise contract to correct route prefix, JWKS method and dependency descriptions
clean up outdated issue content
2026-07-10 15:06:22 +08:00
SpecialX
a7d8f92227 feat: auto committed 2026-07-10 15:06:12 +08:00
SpecialX
06e0f9139b feat: auto committed 2026-07-10 15:06:09 +08:00
SpecialX
5e0e20b1ce feat: auto committed 2026-07-10 15:05:58 +08:00
SpecialX
06a646ea4e feat: auto committed 2026-07-10 15:05:55 +08:00
SpecialX
21530dc7f6 feat: auto committed 2026-07-10 15:05:52 +08:00
SpecialX
b82593aac2 feat: auto committed 2026-07-10 15:05:50 +08:00
SpecialX
14d836beb0 feat: auto committed 2026-07-10 15:05:47 +08:00