- workline: 追加 §6 实现进度跟踪(P2-P5 已完成,P6 未开始) - issue: 更新 §0.2/§0.3 核查表,proto 文件已全部补全 - 新增 scripts/clickhouse_ddl.sql(5 宽表建表脚本) - 新增 scripts/seed_clickhouse.py(mock 种子数据脚本) - 删除遗留代码 clickhouse_client.py 和 health.py
22 KiB
22 KiB
data-ana 工作排期
负责人:ai11 关联:workline.md、coord.md、contracts/data-ana_contract.md、objections/data-ana_issue.md 模式:全并行(各 AI 一口气完成 P2-P6 全部代码,开发期间用 mock,最后统一集成测试) 基线日期:批次 0 已完成(2026-07-09),批次 1(P2)2026-07-10 启动
§1 总览
data-ana 是 D6 智能洞察领域的纯读模型服务(Python/FastAPI),基于 ClickHouse ReplacingMergeTree 宽表 + Debezium CDC 消费实现实时学情分析。
核心交付物:
- gRPC server :50055 + AnalyticsService 12 RPC(含 1 个 Server Streaming)
- HTTP :3006 14 端点(3 基础 + 11 业务,保留作 Gateway 直连降级)
- ClickHouse 5 宽表(student_dashboard_view / student_errors / mastery_snapshot / attendance_logs / ai_usage_log)
- CDC 消费者(core-edu MySQL binlog → Kafka → ClickHouse 宽表投影)
- 掌握度计算(加权滑动平均 + 遗忘曲线)+ 预警评估
- 派生数据事件发布(edu.insight.mastery.updated / edu.insight.warning.triggered,豁免 Outbox)
阶段里程碑:
- P2 预备:ClickHouse 接入 + CDC 骨架 + ActionState 信封重构 + mock 数据集
- P3 预备:CDC 通道接入 + 掌握度算法 v1 + Repository 封装
- P4 主战场:gRPC 50055 启用 + 12 RPC + 4 端 Dashboard + Warning + DataScope + 事件发布
- P5 扩展:SubscribeMasteryUpdate stream + AI 用量消费 + 手动 commit
- P6 硬化:CDC 水平扩展 + 容量规划 + 数据治理 + 监控告警
§2 全阶段甘特图(P2-P6)
gantt
title ai11 data-ana 全阶段排期
dateFormat YYYY-MM-DD
axisFormat %m-%d
section P2 预备(与批次1并行)
2.1 ClickHouse DDL 5宽表建表 :a11a, 2026-07-10, 2d
2.2 CDC消费骨架(aiokafka) :a11b, after a11a, 2d
2.3 mock数据集(30学生×5考试×10作业) :a11c, after a11a, 1d
2.4 ActionState信封重构(P0整改) :crit, a11d, 2026-07-10, 2d
2.5 config.py修正(env/Redis/gRPC) :a11e, after a11d, 1d
section P3 预备(与批次2并行)
3.1 gRPC server骨架(3 RPC,不启用) :a11f, after a11b, 2d
3.2 core-edu CDC通道接入(grades/exams/homework) :a11g, after a11b, 3d
3.3 ExamCache内存LRU :a11h, after a11g, 1d
3.4 掌握度算法v1(weighted_moving_avg) :a11i, after a11g, 2d
3.5 ClickHouseRepository(FINAL/argMax) :a11j, after a11i, 2d
section P4 主战场(批次3, 11d)
4.1 gRPC 50055正式启用 :crit, a11k, after a11j, 1d
4.2 analytics.proto扩展12 RPC :crit, a11l, after a11k, 2d
4.3 4端Dashboard RPC实现 :a11m, after a11l, 3d
4.4 WarningService+TriggerWarning :a11n, after a11l, 2d
4.5 GetMasteryDistribution+GetStudentMastery :a11o, after a11m, 1d
4.6 iam.GetEffectiveDataScope集成(降级兜底) :crit, a11p, after a11k, 2d
4.7 DataScope 6级WHERE注入 :a11q, after a11p, 1d
4.8 attendance+content CDC消费 :a11r, after a11g, 2d
4.9 MasteryEvent+WarningTriggered发布 :a11s, after a11n, 1d
4.10 HTTP 14端点+readyz硬化 :a11t, after a11m, 2d
section P5 扩展(批次4并行)
5.1 SubscribeMasteryUpdate stream RPC :a11u, after a11t, 3d
5.2 AIUsageEvent消费→ai_usage_log :a11v, after a11u, 2d
5.3 手动commit替换auto_commit :a11w, after a11v, 1d
5.4 Admin Dashboard AI用量区块 :a11x, after a11v, 2d
section P6 硬化(批次5并行)
6.1 CDC多实例水平扩展 :a11y, after a11x, 3d
6.2 ExamCache Redis化 :a11z, after a11y, 2d
6.3 容量规划+TTL归档策略 :a11aa, after a11z, 2d
6.4 监控告警(consumer lag HPA) :a11ab, after a11aa, 2d
6.5 readyz深度硬化 :a11ac, after a11ab, 1d
关键路径(crit):ActionState 信封重构 → gRPC 50055 启用 → analytics.proto 扩展 → iam GetEffectiveDataScope 集成 总工期:约 51 天(2026-07-10 ~ 2026-08-30),其中 P4 主战场 11 天为关键交付期
§3 详细任务
3.1 P2 预备期(2026-07-10 ~ 2026-07-18,8d)
任务 2.1:ClickHouse DDL 5 宽表建表
- 负责人:ai11
- 依赖:无(ClickHouse 实例就绪,由 infra 提供)
- 交付物:
infra/clickhouse/ddl/data_ana.sql(5 宽表 DDL:student_dashboard_view / student_errors / mastery_snapshot / attendance_logs / ai_usage_log) - 验收标准:5 表在 ClickHouse 中创建成功,ReplacingMergeTree 引擎 + ORDER BY + PARTITION BY 符合 02 §3 DDL 设计
任务 2.2:CDC 消费骨架
- 负责人:ai11
- 依赖:Kafka 就绪
- 交付物:
src/data_ana/cdc_consumer.py重构(aiokafka AIOKafkaConsumer + EventHandler 路由框架) - 验收标准:能消费 mock CDC 事件并打印路由日志,consumer group =
data-ana-cdc
任务 2.3:mock 数据集
- 负责人:ai11
- 依赖:任务 2.1
- 交付物:
scripts/seed_clickhouse.py(批量导入 30 学生 × 5 考试 × 10 作业 × 30 天出勤模拟数据) - 验收标准:ClickHouse 5 表有数据,可查询返回非空结果
任务 2.4:ActionState 信封重构(P0 整改,coord-cross-review §5.3)
- 负责人:ai11
- 依赖:无
- 交付物:
src/data_ana/shared/action_state.py(ActionState[T] 泛型 + ActionStateError + ok()/fail() 类方法) - 验收标准:main.py 所有端点返回
ActionState[T],degraded 标记在顶层details.degraded(非 error.details),ruff 零错误
任务 2.5:config.py 修正
- 负责人:ai11
- 依赖:无
- 交付物:
src/data_ana/config.py修正(env_prefix 补 Redis / gRPC / ClickHouse 配置项,pydantic-settings 校验) - 验收标准:配置项覆盖 02 §13 配置清单,环境变量缺失时 pydantic-settings 报错
3.2 P3 预备期(2026-07-18 ~ 2026-07-26,8d)
任务 3.1:gRPC server 骨架(3 RPC,不正式启用)
- 负责人:ai11
- 依赖:analytics.proto 当前 3 RPC(无需 coord 补全)
- 交付物:
src/data_ana/grpc_server.py(grpc.aio Server 骨架 + 3 RPC 实现,绑定 :50055 但不启动对外) - 验收标准:本地可启动 gRPC server,3 RPC 可调用返回 mock 数据
任务 3.2:core-edu CDC 通道接入
- 负责人:ai11
- 依赖:core-edu MySQL 就绪 + Debezium CDC 配置(core-edu 就绪前用 mock binlog 事件)
- 交付物:
src/data_ana/cdc_consumer.py完善(EventHandler 处理 grades/exams/homework/classes 表 CDC 事件) - 验收标准:消费 CDC 事件 → 解析 Debezium JSON → 查 ExamCache 填 class_id → upsert ClickHouse 宽表
任务 3.3:ExamCache 内存 LRU
- 负责人:ai11
- 依赖:任务 3.2
- 交付物:
src/data_ana/exam_cache.py(内存 LRU dict,max 10000 条,exam_id → {class_id, subject_id}) - 验收标准:CDC exams 事件触发 ExamCache 更新,grades 事件查 ExamCache 获取 class_id
任务 3.4:掌握度算法 v1
- 负责人:ai11
- 依赖:任务 3.2
- 交付物:
src/data_ana/mastery_service.py(加权滑动平均算法,权重 w_i = 0.6^i,归一化) - 验收标准:输入学生近期 N 次成绩 → 输出 mastery_level (0.0-1.0) → 写 mastery_snapshot 表
任务 3.5:ClickHouseRepository 封装
- 负责人:ai11
- 依赖:任务 2.1
- 交付物:
src/data_ana/clickhouse_client.py重构(查询封装 + FINAL/argMax 去重 + DataScope WHERE 注入接口) - 验收标准:查询 student_dashboard_view 返回去重后最新版本数据
3.3 P4 主战场期(2026-07-26 ~ 2026-08-06,11d,批次 3)
任务 4.1:gRPC 50055 正式启用
- 负责人:ai11
- 依赖:任务 3.1
- 交付物:main.py lifespan 启动 gRPC server :50055,HealthService.Check 返回 SERVING
- 验收标准:gRPC server 对外可访问,HealthService.Check = SERVING
任务 4.2:analytics.proto 扩展 12 RPC
- 负责人:ai11(本分支内补全 proto,提请 coord 合并)
- 依赖:ISSUE-003 解决(coord 确认或 ai11 自行补全)
- 交付物:
packages/shared-proto/proto/analytics.proto扩展至 12 RPC(3 现有 + 9 新增 message 定义) - 验收标准:
buf lint零错误,buf generate生成 Python stub 成功,12 RPC 全部可调用
任务 4.3:4 端 Dashboard RPC 实现
- 负责人:ai11
- 依赖:任务 4.2
- 交付物:GetTeacherDashboard / GetStudentDashboard / GetParentDashboard / GetAdminDashboard 4 RPC 实现
- 验收标准:4 RPC 返回 ActionState[DashboardData],DataScope 过滤生效,降级时返回骨架数据 + degraded: true
任务 4.4:WarningService + TriggerWarning
- 负责人:ai11
- 依赖:任务 3.4(掌握度算法)
- 交付物:
src/data_ana/warning_service.py(预警阈值评估 + TriggerWarning RPC + GetWarnings RPC) - 验收标准:掌握度 < 0.4 触发 LOW_MASTERY 预警,成绩环比下降 20% 触发 SCORE_DROP,缺勤 ≥ 3 次/周触发 ABSENT_FREQUENT
任务 4.5:GetMasteryDistribution + GetStudentMastery
- 负责人:ai11
- 依赖:任务 3.4 + 任务 4.2
- 交付物:2 RPC 实现(班级掌握度分布 + 学生知识点掌握度明细)
- 验收标准:返回 mastered/progressing/weak 三档分布数据
任务 4.6:iam.GetEffectiveDataScope 集成(降级兜底)
- 负责人:ai11
- 依赖:ISSUE-001 解决(iam.proto 补全 GetEffectiveDataScope)。若 P4 时 iam 未就绪,使用降级兜底
- 交付物:
src/data_ana/iam_client.py(gRPC 调 iam.GetEffectiveDataScope + Redis 缓存 5min + 降级兜底) - 验收标准:iam 可用时调 gRPC 获取 DataScope;iam 不可用时按 role 映射默认 DataScope + degraded: true
任务 4.7:DataScope 6 级 WHERE 注入
- 负责人:ai11
- 依赖:任务 4.6 + 任务 3.5
- 交付物:ClickHouseRepository 查询方法注入 DataScope WHERE 子句(SELF/CLASS/GRADE/SCHOOL/DISTRICT/ALL)
- 验收标准:教师只能查自己班级数据,学生只能查自己数据,管理员可查全校数据
任务 4.8:attendance + content CDC 消费
- 负责人:ai11
- 依赖:任务 3.2(CDC 框架)
- 交付物:EventHandler 扩展 attendance_logs 表 CDC + content_knowledge_points 表 CDC
- 验收标准:考勤事件落 attendance_logs 表,知识点事件更新 mastery_snapshot 元数据
任务 4.9:MasteryEvent + WarningTriggered 事件发布
- 负责人:ai11
- 依赖:任务 3.4 + 任务 4.4
- 交付物:
src/data_ana/kafka_producer.py(aiokafka AIOKafkaProducer + idempotent + transactional_id) - 验收标准:掌握度计算完成发布
edu.insight.mastery.updated,预警触发发布edu.insight.warning.triggered,豁免 Outbox
任务 4.10:HTTP 14 端点 + readyz 硬化
- 负责人:ai11
- 依赖:任务 4.3 + 任务 4.4 + 任务 4.5
- 交付物:main.py 14 个 HTTP 端点全部实现(3 基础 + 11 业务)+ /readyz 检查 4 依赖(clickhouse/cdc_consumer/redis/iam_grpc)
- 验收标准:14 端点返回 ActionState[T],/readyz 依赖检查正确反映服务状态
3.4 P5 扩展期(2026-08-06 ~ 2026-08-19,13d,批次 4 并行)
任务 5.1:SubscribeMasteryUpdate Server Streaming RPC
- 负责人:ai11
- 依赖:任务 4.2 + 任务 4.9
- 交付物:SubscribeMasteryUpdate RPC 实现(server-streaming,客户端订阅 student_id/class_id,掌握度更新时推送)
- 验收标准:客户端订阅后,掌握度计算完成时收到 MasteryUpdateEvent 流
任务 5.2:AIUsageEvent 消费 → ai_usage_log
- 负责人:ai11
- 依赖:ISSUE-002 解决(events.proto 补 AIUsageEvent)+ ai 服务发布
edu.insight.ai.usagetopic - 交付物:EventHandler 扩展 AIUsageEvent 消费 → 落 ai_usage_log 表
- 验收标准:ai 服务发布用量事件后,ai_usage_log 表有数据,Admin Dashboard AI 用量区块可展示
任务 5.3:手动 commit 替换 auto_commit
- 负责人:ai11
- 依赖:任务 3.2
- 交付物:cdc_consumer.py 改为
enable_auto_commit=False+ 手动 commit(at-least-once) - 验收标准:ClickHouse 写入成功后才 commit offset,重启后无重复消费(依赖 ReplacingMergeTree 去重)
任务 5.4:Admin Dashboard AI 用量区块
- 负责人:ai11
- 依赖:任务 5.2
- 交付物:GetAdminDashboard RPC 补全 AI 用量统计区块(按 provider/model/时间窗聚合)
- 验收标准:Admin Dashboard 返回 AI 用量数据,无数据时显示"暂无数据"
3.5 P6 硬化期(2026-08-19 ~ 2026-08-30,11d,批次 5 并行)
任务 6.1:CDC 多实例水平扩展
- 负责人:ai11
- 依赖:任务 5.3(手动 commit)
- 交付物:CdcConsumer 支持多实例分摊 partition(consumer group 不变)
- 验收标准:2+ 实例消费同一 topic 无重复无遗漏
任务 6.2:ExamCache Redis 化
- 负责人:ai11
- 依赖:任务 6.1
- 交付物:exam_cache.py 改为 Redis 实现(key:
data_ana:exam:{exam_id}TTL 30 天) - 验收标准:多实例共享 ExamCache,重启后缓存不丢失
任务 6.3:容量规划 + TTL 归档策略
- 负责人:ai11
- 依赖:无
- 交付物:ClickHouse TTL 策略(student_dashboard_view 保留 2 年,ai_usage_log 保留 1 年)+ 冷热数据分离方案
- 验收标准:TTL 配置生效,过期数据自动清理
任务 6.4:监控告警完善
- 负责人:ai11
- 依赖:任务 6.1
- 交付物:Prometheus 指标补全(consumer lag histogram + 慢查询 counter + ClickHouse 连接池 gauge)+ Grafana dashboard
- 验收标准:consumer lag 超阈值触发 HPA,慢查询超阈值告警
任务 6.5:readyz 深度硬化
- 负责人:ai11
- 依赖:任务 4.10
- 交付物:/readyz 检查项完善(ClickHouse 查询超时 1s + Redis ping + iam gRPC 超时 2s + CDC consumer lag < 1000)
- 验收标准:任一依赖不健康时 /readyz 返回 503,K8s 摘流量
§4 依赖与就绪信号
4.1 我依赖的上游就绪标志
- core-edu gRPC 50053 启用(ai08,批次 2)—— CDC 数据源(grades/exams/homework/attendance 表 binlog)
- core-edu MySQL Debezium CDC 配置(ai08 + SRE)—— CDC 通道前提
- content gRPC 50054 启用(ai09,批次 3)—— 知识点维度 CDC
- iam.proto 补全 GetEffectiveDataScope RPC(ai06/coord,ISSUE-001)—— DataScope 解析
- analytics.proto 扩展至 12 RPC(coord/ai11,ISSUE-003)—— gRPC stub 生成前提
- events.proto 补全 AIUsageEvent message(coord,ISSUE-002)—— AI 用量消费(P5)
- ai 服务发布
edu.insight.ai.usagetopic(ai12,批次 4)—— AI 用量统计(P5)
降级兜底:core-edu / content / iam 未就绪时,使用 ClickHouse 内置 mock 数据集 + 硬编码 DataScope 降级,标注
details.degraded: true
4.2 我的就绪信号(供下游消费)
- P4 就绪:data-ana gRPC 50055 启用(HealthService.Check = SERVING)+ AnalyticsService 12 RPC 可调用 + 4 端 Dashboard 返回结构化数据
- P4 就绪:
edu.insight.mastery.updatedtopic 可发布(mastery.updated / warning.triggered) - P5 就绪:SubscribeMasteryUpdate server-streaming RPC 可订阅
- P6 就绪:CDC 多实例水平扩展 + ExamCache Redis 化完成
4.3 下游消费方
| 下游 | 消费接口 | 就绪依赖阶段 |
|---|---|---|
| teacher-bff(ai03) | gRPC 50055 GetTeacherDashboard / GetClassPerformance 等 | P4 |
| student-bff(ai04) | gRPC 50055 GetStudentDashboard / GetStudentWeakness 等 | P4 |
| parent-bff(ai05) | gRPC 50055 GetParentDashboard | P4 |
| ai 服务(ai12) | gRPC 50055 反向调用查学情(GetStudentMastery / GetLearningTrend) | P5 |
| core-edu(ai08) | Kafka edu.insight.mastery.updated(推荐个性化练习) |
P4 |
| msg(ai10) | Kafka edu.insight.warning.triggered(推送通知) |
P4 |
§5 风险与缓解
| 风险 | 影响 | 缓解措施 |
|---|---|---|
| iam.proto 未补全 GetEffectiveDataScope | P4 | 降级兜底:按 role 映射默认 DataScope + degraded: true(ISSUE-001) |
| analytics.proto 未扩展 12 RPC | P4 | ai11 本分支自行补全 proto,提请 coord 合并(ISSUE-003) |
| core-edu CDC 通道未就绪 | P3-P4 | mock 数据集降级 + 本地 stub CDC 事件 |
| ClickHouse ReplacingMergeTree 去重延迟 | P4 | 查询加 FINAL / argMax 强制去重(02 §3.6 已设计) |
| 单实例 CDC 消费者单点故障 | P4 | P6 演进为多实例 + Redis ExamCache;P4 阶段监控 consumer lag 告警 |
| 掌握度算法精度不足 | P4 | v1 用加权滑动平均,P5+ 评估引入遗忘曲线 max 叠加(02 §9 已设计 MasteryMethod 枚举预留) |
§6 实现进度跟踪(2026-07-13 更新)
基于代码审查与 proto 文件核查,更新各阶段实际完成状态。
6.1 P2 预备期 — ✅ 完成
| 任务 | 状态 | 说明 |
|---|---|---|
| 2.1 ClickHouse DDL 5 宽表建表 | ✅ 已完成 | DDL 脚本已创建在 scripts/clickhouse_ddl.sql,DDL 设计见 02 §3 |
| 2.2 CDC 消费骨架 | ✅ 已完成 | cdc_consumer.py 完整实现,支持 5 表 + AIUsageEvent,手动 commit + Redis 去重 |
| 2.3 mock 数据集 | ✅ 已完成 | scripts/seed_clickhouse.py 种子数据脚本已创建(30 学生 × 5 考试 × 10 作业 × 30 天出勤) |
| 2.4 ActionState 信封重构 | ✅ 已完成 | shared/action_state.py 实现 ActionState[T] 泛型,degraded 在顶层 details |
| 2.5 config.py 修正 | ✅ 已完成 | config.py 完整覆盖 ClickHouse/Kafka/iam/Redis/OTel/掌握度/预警配置 |
6.2 P3 预备期 — ✅ 完成
| 任务 | 状态 | 说明 |
|---|---|---|
| 3.1 gRPC server 骨架 | ✅ 已完成 | grpc_server.py 实现全部 12 RPC(含 server-streaming),HealthService.Check |
| 3.2 core-edu CDC 通道接入 | ✅ 已完成 | cdc_consumer 处理 grades/exams/homework/attendance/classes CDC 事件 |
| 3.3 ExamCache 内存 LRU | ✅ 已完成 | exam_cache.py OrderedDict LRU max 10000,CDC exams 触发更新 |
| 3.4 掌握度算法 v1 | ✅ 已完成 | mastery_service.py 加权滑动平均 + 遗忘曲线衰减 |
| 3.5 ClickHouseRepository | ✅ 已完成 | repository/clickhouse_repository.py P0 整改版,FINAL/argMax 去重 |
6.3 P4 主战场期 — ✅ 完成
| 任务 | 状态 | 说明 |
|---|---|---|
| 4.1 gRPC 50055 正式启用 | ✅ 已完成 | main.py lifespan 启动 gRPC server :50055 |
| 4.2 analytics.proto 扩展 12 RPC | ✅ 已完成 | analytics.proto 已扩展至 12 RPC(ISSUE-003 已裁决) |
| 4.3 4 端 Dashboard RPC 实现 | ✅ 已完成 | grpc_server.py + analytics_service.py 4 端 Dashboard |
| 4.4 WarningService + TriggerWarning | ✅ 已完成 | warning_service.py 5 类预警 + Redis 去重 + 手动触发 |
| 4.5 GetMasteryDistribution + GetStudentMastery | ✅ 已完成 | analytics_service.py 实现 |
| 4.6 iam.GetEffectiveDataScope 集成 | ✅ 已完成 | repository/iam_client.py gRPC + Redis 缓存 + role 降级兜底(ISSUE-001 已裁决) |
| 4.7 DataScope 6 级 WHERE 注入 | ✅ 已完成 | shared/permissions.py build_datascope_where + 6 级枚举 |
| 4.8 attendance + content CDC 消费 | ✅ 已完成 | cdc_consumer.py 处理 attendance_logs + content_knowledge_points |
| 4.9 MasteryEvent + WarningTriggered 发布 | ✅ 已完成 | repository/kafka_producer.py idempotent + transactional_id |
| 4.10 HTTP 14 端点 + readyz 硬化 | ✅ 已完成 | main.py 14 端点 + /readyz 检查 4 依赖 |
6.4 P5 扩展期 — ✅ 基本完成
| 任务 | 状态 | 说明 |
|---|---|---|
| 5.1 SubscribeMasteryUpdate stream RPC | ✅ 已完成 | grpc_server.py 实现 asyncio.Queue 分发 + 30s 心跳 |
| 5.2 AIUsageEvent 消费 → ai_usage_log | ✅ 已完成 | cdc_consumer.py 处理 edu.insight.ai.usage(ISSUE-002 已裁决) |
| 5.3 手动 commit 替换 auto_commit | ✅ 已完成 | cdc_consumer.py enable_auto_commit=False + 手动 commit |
| 5.4 Admin Dashboard AI 用量区块 | ✅ 已完成 | analytics_service.py + grpc_server.py AdminDashboard 含 AI 用量 |
6.5 P6 硬化期 — ⏳ 未开始
| 任务 | 状态 | 说明 |
|---|---|---|
| 6.1 CDC 多实例水平扩展 | ⏳ 未开始 | cdc_consumer.py get_lag() 返回 0(占位) |
| 6.2 ExamCache Redis 化 | ⏳ 未开始 | exam_cache.py 仍为内存 LRU |
| 6.3 容量规划 + TTL 归档策略 | ⏳ 未开始 | 需创建 ClickHouse TTL 配置 |
| 6.4 监控告警完善 | ⏳ 未开始 | 需补 Prometheus 指标 + Grafana dashboard |
| 6.5 readyz 深度硬化 | ⏳ 未开始 | 当前 /readyz 基本功能已实现,需补超时控制 |
6.6 ISSUE 落实状态
| ISSUE | 状态 | 说明 |
|---|---|---|
| ISSUE-001 | ✅ 已裁决 | iam.proto 已补全 GetEffectiveDataScope RPC(现为 6 RPC) |
| ISSUE-002 | ✅ 已裁决 | events.proto 已补全 AIUsageEvent message(现为 15 message) |
| ISSUE-003 | ✅ 已裁决 | analytics.proto 已扩展至 12 RPC |
| ISSUE-004 | ✅ 已裁决 | coord 已仲裁,004 引用断裂临时改引 coord-cross-review.md |
| ISSUE-005 | ✅ 已裁决 | topic 命名统一为 edu.insight.mastery.updated |
| ISSUE-006 | ✅ 已裁决 | proto 文件已补全,声明与实际一致 |
6.7 代码清理
| 文件 | 处理 |
|---|---|
| src/data_ana/clickhouse_client.py | 已删除(与 repository/clickhouse_repository.py 重叠,缺少 FINAL/argMax) |
| src/health/health.py | 已删除(未接入 main.py,main.py 有完整内联实现) |