Skip to content

进度状态(Status)

本文件用于记录“需求 -> 实现 -> 可复现实验/演示”的当前状态与变更历史。

更新规则(必须遵守):

  • 任何会影响 Demo 行为/验收口径/命令行的改动,都要在本文件追加一条“更新记录”。
  • 如影响路线图/优先级:同步更新 docs/roadmap.md。
  • 如影响验收口径:同步更新 docs/srs/07-acceptance.md。

当前状态

  • ✅ Demo-0:离线闭环(mock traces,可交付兜底)
  • ✅ Demo-1:UNET Gateway 接入(Tx/Rx + 真实 traces 落盘)
  • ✅ Demo-2:Dashboard 可视化 + 运行控制 + A/B 对比(已完成)

更新记录

日期影响版本/Demo摘要影响文件验证方式关联 commit
2026-02-01Demo-0建立离线闭环:场景 -> mock traces -> metrics -> report,可兜底交付orchestrator + metrics + docspython -m unet_dt.orchestrator.runner --mode mock ...1dcd9d2
2026-02-01Demo-1初版 UNET gateway 接入:probe/tx/rx 脚本 + runner --mode gateway 端到端落盘 traces(header 可解析)scripts + unet_adapter + orchestrator + docs见 docs/srs/07-acceptance.md Demo-1 步骤1dcd9d2
2026-02-02Demo-1稳定性修复:1) backend 探测避免选择无 gateway 能力的 arlpy;2) fjagepy 使用 DatagramReq + ARP 解析动态 UNET 地址;3) RX 订阅在 services 为空时自动订阅所有 agent topic;4) fjagepy receive timeout 单位兼容(秒/毫秒);5) runner gateway 模式:自动地址映射、payload 自动裁剪到 MTU-24、增加 --rx-grace 等待在途包、避免 RX/TX 共享 gateway 导致 request 响应被抢走src/unet_dt/** + scripts/** + docs/srs/07-acceptance.mdpython scripts\unet_probe_gateway.py --scenario scenarios\demo_2node_handbook.yaml --all;python scripts\unet_send_ping_or_tx.py --scenario scenarios\demo_2node_handbook.yaml --node-id 1 --to 2 --payload-bytes 32 --json;python scripts\unet_subscribe_rx.py --scenario scenarios\demo_2node_handbook.yaml --node-id 2 --seconds 30 --debug;python -m unet_dt.orchestrator.runner --scenario scenarios/demo_2node_handbook.yaml --mode gateway --steps 10 --dt 1 --seed 42 --rx-grace 15f7f2951
2026-02-11Demo-2(后端进行中)完成后端基础设施第一步:新增 runtime settings(DB/UNET/位置初始化)、SQLAlchemy+PyMySQL 持久化层(runs/run_summary/run_events)、仓储状态迁移与 summary upsert;补充配置与 DB 映射开发文档pyproject.toml;src/unet_dt/config/settings.py;src/unet_dt/persistence/*;tests/test_settings.py;tests/test_repo.py;docs/dev/03-development-guide.mdpython -m compileall src;pytest -q testspending
2026-02-11Demo-2(后端进行中)完成 FastAPI 基线 API 骨架:启动/关闭生命周期、依赖注入、健康检查、场景列表、Run 创建与列表;新增场景空目录/坏文件容错测试与接口契约测试src/unet_dt/api/*;tests/test_api_baseline.py;docs/dev/01-backend-api.md;docs/dev/03-development-guide.mdpytest -q tests/test_api_baseline.pypending
2026-02-11Demo-2(后端进行中)完成 Run 生命周期服务:新增 RunService + ExecutionWorker,落地 POST /runs/{id}/startPOST /runs/{id}/stopGET /runs/{id};接入后台线程执行、停止信号、失败处理、summary 回写;补充并发/幂等与接口契约测试src/unet_dt/service/*;src/unet_dt/api/main.py;src/unet_dt/api/deps.py;src/unet_dt/api/routes/runs.py;src/unet_dt/orchestrator/runner.py;tests/test_run_service.py;tests/test_api_baseline.py;docs/dev/03-development-guide.mdpython3 -m compileall src;PYTHONPATH=src .venv/bin/python -m pytest -q testspending
2026-02-11Demo-2(后端进行中)集成 7 节点位置初始化(A 方案):新增 scripts/unet_test_location.py、新增 LocationInitializer 封装并接入 run 启动前流程;默认 fail-fast,支持 best-effort 警告继续;补充配置优先级(ENDPOINT/HTTP/TCP)与单测scripts/unet_test_location.py;src/unet_dt/service/location_initializer.py;src/unet_dt/service/run_service.py;src/unet_dt/orchestrator/runner.py;src/unet_dt/config/settings.py;tests/test_location_initializer.py;tests/test_run_service.py;tests/test_settings.py;docs/dev/03-development-guide.mdpytest -q tests/test_location_initializer.py tests/test_run_service.py tests/test_settings.pypending
2026-02-11Demo-2(后端进行中)完成 artifact 查询接口:新增 GET /runs/{run_id}/metricsGET /runs/{run_id}/traces,支持 traces 分页、metrics sanity 校验、缺失/损坏 artifact 的 404/422 错误返回,并补充接口文档与测试src/unet_dt/api/artifact_reader.py;src/unet_dt/api/routes/runs.py;src/unet_dt/api/schemas.py;tests/test_api_artifacts.py;docs/dev/01-backend-api.md;docs/dev/03-development-guide.mdpytest -q tests/test_api_artifacts.pypending
2026-02-11Demo-2(后端进行中)新增 Run WebSocket 实时流:WS /ws/runs/{run_id}、统一事件包络、按 run 广播通道、断连清理与队列背压(满队列丢弃最旧);提供 app.state.run_event_publisher 供后台线程发布事件;补充 WS 契约与测试src/unet_dt/api/ws.py;src/unet_dt/api/main.py;src/unet_dt/api/deps.py;tests/test_api_ws.py;docs/dev/01-backend-api.md;docs/dev/03-development-guide.mdpytest -q tests/test_api_ws.pypending
2026-02-11Demo-2(后端已完成)完成后端验收闭环:配置 MySQL 接入 unet_dt + dt_runs/dt_run_summary/dt_run_events 映射表;实现全量 API 接口 start/stop/detail/metrics/tracesWS 推送;通过 run acceptance-20260211084739 验证端到端流程,DB summary 对齐且指标 sanity 通过docs/dev/01-backend-api.md;docs/dev/03-development-guide.md;docs/dev/04-frontend-ui-design.md;docs/roadmap.md;docs/srs/07-acceptance.mdpython -m compileall src;pytest -q tests;FastAPI TestClient 冒烟测试;WS 连接验证pending
2026-02-11Demo-2(后端验收)完成端到端后端验证:MySQL 接入 unet_dt 元数据表,全量 REST+WS API 验证通过(health/scenarios/create/start/stop/list/detail/metrics/traces/ws),一次完整 run 通过 API 流程完成(acceptance-e2e-20260211090035),artifact 与 DB summary 对齐且指标正常;位置初始化 A 方案 dry-run 通过docs/dev/01-backend-api.md;docs/dev/03-development-guide.md;docs/dev/04-frontend-ui-design.md;docs/roadmap.md;docs/srs/07-acceptance.mdpython -m compileall src;pytest -q tests;FastAPI TestClient 端到端 API+WS 冒烟测试pending
2026-02-28Demo-2(全部完成)Demo-2 全量交付:前端 Dashboard(列表/详情/控制/实时图表/A/B 对比)、后端全量 REST+WS API、MySQL 持久化、7 节点位置初始化、网关 PHY 预检、健康监控;文档站全量更新(SRS 10篇 + 架构 12篇 + 关键技术 5篇 + 前端 3篇 + 开发 6篇 + VitePress 配置/首页/路线图/进度同步)docs/**;src/unet_dt/**;docs/.vitepress/config.jsVitePress 本地构建无断链;全量文档侧边栏可导航pending
2026-02-28C-1 修复修复 C-1 时间同步空壳缺陷:新增 MonoClock(单调+墙钟+漂移检测)、StepTiming + StepBarrier(per-step overhead/sync 采集);compute_window_metrics 接受 step_timings 参数;gateway 和 mock 模式均接入 StepBarrier,metrics.csv 中 overhead_ms 和 sync_error_ms 输出真实度量值src/unet_dt/orchestrator/clock.py;src/unet_dt/orchestrator/barrier.py;src/unet_dt/metrics/compute.py;src/unet_dt/orchestrator/runner.py;tests/test_clock.py;tests/test_barrier.pypytest tests/test_clock.py tests/test_barrier.py (11 passed);mock 模式 metrics.csv overhead_ms>0 验证通过a9bdf33

补充:Demo-1 踩坑与排查过程详见 docs/progress/01-demo1-pitfalls.md。