• 2 Open
    18 Closed
    Updated 2026-06-06 18:51:28 +08:00
    No due date

    目标

    修复当前后端中阻碍 iOS 真实接口对接的安全与功能缺陷。在 H0 完成之前,不允许启动真实 iOS 接口联调。

    背景

    经 iOS 端对接可行性审计发现,当前 api-server 存在以下阻断性问题:

    1. Apple 登录 mock fallback:生产环境 APPLE_BUNDLE_ID 缺失时退回 mock,任意长度 ≥4 的字符串即可登录
    2. /internal/* 无认证暴露:7 个内部端点可直接访问文档原文、写入 chunks/candidates、劫持导入作业
    3. 用户禁用后 JWT 仍有效:JwtAuthGuard 不检查用户状态
    4. Refresh Token 刷新不检查用户状态:禁用/删除用户仍可刷新 token
    5. 用户 JWT 与 Admin JWT 密钥混用:未彻底隔离
    6. iOS 核心接口 @Body() any:import/source/learning-session 缺少 DTO 校验
    7. CI/CD 硬编码生产数据库密码

    Issue 清单

    • H0-01 修复 Apple 登录 mock fallback
    • H0-02 为 /internal/* 增加 InternalAuthGuard
    • H0-03 JwtAuthGuard 增加用户状态检查
    • H0-04 Refresh Token 刷新时检查用户状态
    • H0-05 用户 JWT 和 Admin JWT 密钥彻底隔离
    • H0-06 补齐 iOS 核心流程 DTO(import / source / learning-session)
    • H0-07 修复后跑核心 CAPI E2E + 输出 iOS 对接文档

    验收标准

    • Apple 登录真实验证 identityToken,不再接受 mock
    • /internal/* 全部受 InternalAuthGuard 保护
    • 禁用/删除用户不能访问 /api/* 和刷新 token
    • user token 与 admin token 完全隔离
    • import/source/learning-session 有完整 DTO + ValidationPipe
    • 核心 CAPI E2E 全部通过
    • 输出 iOS 对接文档

    禁止事项

    • 禁止在 H0 未完成前启动真实 iOS 接口联调
    • 禁止绕过安全修复直接给 iOS 端发接口
    • CI/CD 密码必须迁移到 Secret 并轮换
  • 0 Open
    0 Closed
    Updated 2026-06-22 22:19:18 +08:00
    No due date

    Legacy 流量清零、观察期和退役。非业务迁移里程碑。

    前置条件

    • Unified 生产流量达到 100%
    • 连续观察期内无 P0/P1
    • 所有 Flag 可回滚
    • Legacy 流量为 0
    • Legacy Queue 无新任务

    范围

    • AiAnalysisWorker 退役
    • ReviewCardSubscriber 退役
    • 旧 ai-analysis Queue 删除
    • 旧 Runtime 轮询链路退役
    • Legacy 代码清理
  • 20 Open
    60 Closed
    Updated 2026-06-17 20:40:11 +08:00
    No due date

    主 API 接入 Rust Heavy Runtime,完成 AI 分析任务调度、Snapshot、模型 key 管理、Runtime 结果落库、用户侧查询、admin 诊断接口。本批不迁移 RAG。

  • 1 Open
    1 Closed
    Updated 2026-06-06 18:51:28 +08:00
    No due date

    测验题库生成/答题/评分/错题本