[migrate]:[FL-18][迁移故障复现工具]
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
@@ -73,3 +73,51 @@
|
||||
|
||||
- 风险与关注点:
|
||||
- 本次仅调整前端展示文案,不涉及页面交互、数据请求或接口契约。
|
||||
|
||||
## Work Log - 迁移故障复现工具(2026-06-07)
|
||||
|
||||
- 背景:
|
||||
- Issue `FL-18` 要求把源端 `/home/ck/fl-knowledge/LP/Form7_GuZhangFuXian.cs` 与 `LP/FuXian.cs` 的“故障复现”能力迁入 `fquiz`。
|
||||
- 源端工具是一个独立分析器:上传基础数据文件后,按波形、类型和耐雷水平做复现计算,并返回最可能的波头/波尾组合。
|
||||
- 目标仓库现有 `fl-analysis` 聚焦任务化风险评估,不适合硬塞入同一任务模型;因此本次采用独立无状态工具页 + 上传接口的最小闭环接入。
|
||||
|
||||
- 本次改动:
|
||||
- 后端
|
||||
- `api/app/services/fault_recurrence_service.py`
|
||||
- 纯 Python 迁移 `FuXian` 核心逻辑:文件解码、源端分段文本/普通 CSV 双格式解析、2.6/50 基准点判断、按同波头分组插值、KDE 概率密度比选。
|
||||
- `api/app/schemas/fault_recurrence.py`
|
||||
- 新增故障复现结果 schema,统一前端契约。
|
||||
- `api/app/api/v1/fault_recurrence.py`
|
||||
- 新增 `POST /api/v1/fault-recurrence/analyze`,接收 `multipart/form-data` 上传并返回结构化结果。
|
||||
- `api/app/api/router.py`
|
||||
- 注册故障复现路由。
|
||||
- `api/app/services/seed_service.py`
|
||||
- 新增默认菜单 `admin.fault_recurrence`,路径 `/admin/fault-recurrence`,并加入 admin 默认菜单绑定。
|
||||
- `api/app/services/legacy_authz_service.py`
|
||||
- 补 legacy 权限映射与 synthetic menu,兼容旧菜单表场景。
|
||||
- `api/app/services/legacy_admin_rbac_service.py`
|
||||
- 将 `admin.fault_recurrence` 加入受保护菜单集合。
|
||||
- 前端
|
||||
- `web/src/app/admin/fault-recurrence/page.tsx`
|
||||
- 新增独立 admin 工具页,支持选择基础数据文件、配置波形/类型/耐雷水平、执行复现、展示结构化结果与基础数据表格预览。
|
||||
- `web/src/types/auth.ts`
|
||||
- 新增故障复现前端类型定义。
|
||||
- 测试
|
||||
- `api/tests/test_fault_recurrence_service.py`
|
||||
- 新增纯 Python 服务测试,覆盖分段文本解析、`No need!` 分支、插值结果与缺基准点 warning。
|
||||
- `api/tests/test_fault_recurrence_contract.py`
|
||||
- 新增 AST 契约测试,覆盖 router 注册与菜单/权限落点。
|
||||
|
||||
- 验证:
|
||||
- 基线:
|
||||
- `python3 -m unittest tests.test_line_contract` 通过。
|
||||
- 迁移后:
|
||||
- `python3 -m unittest tests.test_fault_recurrence_service tests.test_fault_recurrence_contract` 通过。
|
||||
- `python3 -m unittest tests.test_line_contract` 通过。
|
||||
- `npm --workspace web run lint -- src/app/admin/fault-recurrence/page.tsx` 通过。
|
||||
- `npm --workspace web exec tsc --noEmit` 通过。
|
||||
- `npm --workspace web run build` 未完成,进程被环境以 `code 137` 杀掉;构建日志未给出新增代码级报错,更像资源限制。
|
||||
|
||||
- 风险与关注点:
|
||||
- 当前工具仍是“上传文件即时计算”模式,未与现有线路台账做持久化绑定;若后续需要从已导入线路直接发起故障复现,需要再评估与 `line/tower profile` 的联动入口。
|
||||
- 前端完整 `next build` 在当前执行环境被 `SIGKILL/137` 中断,虽然 lint 与 `tsc --noEmit` 已通过,但仍需在资源更充足的 CI/部署环境再确认一次全量构建。
|
||||
|
||||
Reference in New Issue
Block a user