Skip to content

FedGuardLab v1.1.0-beta.1

Choose a tag to compare

@Calvin1989 Calvin1989 released this 31 May 02:18
· 287 commits to main since this release
9842229

FedGuardLab v1.1.0-beta.1

本次 beta 版本为 FedGuardLab 引入第一层实验任务生命周期管理能力,重点是提升后端 job 状态可见性、前端历史记录稳定性,以及为后续“后台训练 + WebSocket 订阅 + 真正取消任务”打基础。

该版本仍建议标记为 Pre-release。


主要更新

实验任务生命周期

  • 新增轻量级内存 JobStore。
  • 将原先 API 中直接使用的全局 job dict 迁移为 JobStore。
  • 新增 job 状态字段:
    • created
    • running
    • finished
    • failed
    • cancelled
    • disconnected
  • 新增 job 时间戳:
    • created_at
    • started_at
    • finished_at

新增 API

Method Endpoint 说明
GET /jobs 查看当前后端内存中的 job 列表
POST /jobs/{job_id}/cancel 将可取消的 job 标记为 cancelled
GET /status/{job_id} 查看 job 状态、指标数量、错误信息和时间戳
GET /results/{job_id} 查看 job 配置、指标和报告路径

前端历史记录改进

  • 前端支持从后端 /jobs 恢复 recent jobs。
  • /jobs 增加 has_report 字段,前端只把 report-ready 的 finished jobs 放入 comparison history。
  • 修复清理历史后刷新页面又恢复的问题:
    • 新增本地 hidden jobs 机制;
    • 用户清理或删除的 job 会保存在本地隐藏列表中;
    • 刷新页面后不会再次出现在 comparison history。
  • 新完成的实验会自动从 hidden jobs 中恢复,避免误隐藏新结果。

文档更新

  • README 增加 job lifecycle API 说明。
  • docs/development.md 增加 job lifecycle smoke test 示例。
  • docs/experiments.md 增加实验状态说明。
  • docs/roadmap.md 更新 v1.1.0-beta.1 方向。

本地验证

本版本已完成以下本地验证:

ruff check .
python quick_test.py