Skip to content

feat: 完成残余风险闭环修复(按 phase 收口)#4

Merged
fatehu merged 7 commits intomainfrom
feature/acceptance-risk-closure-20260215
Feb 15, 2026
Merged

feat: 完成残余风险闭环修复(按 phase 收口)#4
fatehu merged 7 commits intomainfrom
feature/acceptance-risk-closure-20260215

Conversation

@fatehu
Copy link
Owner

@fatehu fatehu commented Feb 15, 2026

变更概览

本 PR 按 scripts/code.md 分阶段提交,完成以下收口:

  1. 配置与凭据硬化(APP_ENV、弱默认凭据移除、生产环境强校验)
  2. API /api/v1 切换、限流落地(429 + X-RateLimit-* + Retry-After
  3. CodeLab 独立 runner 沙箱执行链路与 503 错误语义
  4. 关键服务大文件拆分(agent_toolsnotebook_tools
  5. broad catch 增量守卫脚本
  6. PR 冒烟与夜间全量 GitHub Actions 工作流
  7. 文档与测试记录补齐(docs/skills + docs/test

提交拆分(phase)

  • feat(config): 加固环境变量校验与安全默认值
  • feat(api): 切换 /api/v1 并接入限流与统一错误处理
  • feat(codelab): 引入独立 runner 沙箱执行链路
  • refactor(services): 拆分 agent_tools 与 notebook_tools 实现模块
  • test(e2e): 新增角色与剩余模块烟雾脚本
  • ci(workflows): 落地 PR 冒烟与夜间全量回归
  • docs(acceptance): 补齐残余风险闭环文档与补充测试记录

本地验证

  • ./acceptance_tests.ps1
  • ./e2e/role_business_api_smoke_e2e.ps1
  • ./e2e/remaining_modules_api_smoke_e2e.ps1
  • ./e2e/student_role_smoke_e2e.ps1
  • ./e2e/role_route_smoke_e2e.ps1 -Role mentor
  • ./e2e/role_route_smoke_e2e.ps1 -Role admin
  • ./e2e/mcp_settings_login_e2e.ps1
  • ./.venv-ragtest/Scripts/python.exe -m pytest backend/tests/test_rate_limit_dependency.py backend/tests/test_codelab_runner_unavailable.py backend/tests/test_codelab_policy_blocklist.py backend/tests/test_codelab_timeout_enforced.py backend/tests/test_codelab_direct_execute_guard.py backend/tests/test_cors_origin_whitelist.py backend/tests/test_tool_architecture_refactor.py -q
  • python backend/checks/check_no_new_broad_excepts.py

产物证据

  • output/playwright/student-role-smoke-e2e.png
  • output/playwright/mentor-role-smoke-e2e.png
  • output/playwright/admin-role-smoke-e2e.png
  • output/playwright/mcp-settings-login-e2e.png

引入 APP_ENV 分级校验,移除 SECRET_KEY 与 DATABASE_URL 的弱默认回退。

补充限流与 CodeLab runner 相关环境变量,并修正 .env.example 内联注释导致的解析风险。
后端主路由迁移到 /api/v1,新增限流模块与标准 429 响应头。

同步前端服务、页面调用与 E2E 脚本前缀,并补充限流/CORS 回归测试。
新增 sandbox runner 内部接口并改造 codelab 执行器为 HTTP client。

runner 不可用时返回 503 显式错误,补充对应回归测试与 compose 服务定义。
将超大服务文件迁移到 *_impl 目录,并保留入口 shim 兼容旧导入路径。

通过 sys.modules 转发保证 monkeypatch 与运行时行为一致,工具架构回归测试通过。
补充 role_business、remaining_modules、role_route、student_role 四套脚本。

用于 PR API smoke 与夜间 UI 链路回归,已完成本地执行验证。
新增 GitHub Actions 工作流,覆盖 API smoke、UI 链路与日志产物上传。

加入 broad catch 增量守卫检查,并为 CI 场景配置更高限流阈值。
提交阶段实施说明与分阶段提交流程说明,满足 code.md 文档要求。

追加夜间 UI 链路与全套回归结果,沉淀截图与产物证据路径。
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@fatehu fatehu merged commit b67a5bb into main Feb 15, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant