modules.yaml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # 观澜 · 模块登记表(用户令 2026-09-22:按算法/数据接入管理/前端/后端等模块重构,每模块一个目录)
  2. #
  3. # 这份表是**模块边界的单一真源**,由 scripts/module_boundary_audit.py 机器核对:
  4. # ① 每个模块目录的结构(common/<pkg>/{__init__,api}.py + README.md)必须在位;
  5. # ② 模块之间只许经对方 api.py 调用(不得直接 import 别的模块的实现包);
  6. # ③ 依赖方向只能是 allow 里列的那些(不得反向、不得成环);
  7. # ④ 公共层 app_common 不得依赖任何业务模块;
  8. # ⑤ 每个 api.py 的转发目标(P0 阶段指向既有实现)必须真实存在。
  9. #
  10. # 设计说明与分阶段迁移计划见 docs/重构方案_模块化_v0.1.md。
  11. version: 1
  12. layout:
  13. module_root: "app_<模块>" # 每个模块一个目录
  14. common_dir: common # 跨模块可复用的公共组件层
  15. package_pattern: "app_<模块>_guanlan" # 观澜在该模块的实现包
  16. public_face: api.py # 模块间调用只许走这里
  17. modules:
  18. - name: app_common
  19. cn: 公共层
  20. resp: 路径真源/版本真源/日志/进程/入口引用/控制台输出/运行态作业文件/产物派生台账
  21. allow: [] # 公共层不依赖任何业务模块
  22. impl_now: src/{paths,version,logfile,proc,entry_refs,console,opsjob,derived_manifest,tabfmt}.py
  23. phase: P1
  24. change_rate: 极少
  25. - name: app_ETL
  26. cn: 数据接入管理
  27. resp: 源件摄入(10 分钟/1 分钟/月度归档库/台账/振动)、放置与增量体检、标准仓、机型与场站契约、canonical 词典
  28. allow: [app_common]
  29. impl_now: src/windscada/{data,scada_source,slim,mdb_names}.py + scripts/rebuild_* 与 scada_* 等构建器
  30. phase: P2
  31. change_rate: 随现场数据形态
  32. plug_points: [TiDB community(标准仓读写), MinIO(源件与产物对象存储)]
  33. - name: app_algorithmModel
  34. cn: 算法
  35. resp: 七系统判级矩阵、七镜头曲线、可靠性指标、控制参数一致性、融合面四源、振动与温度面、趋势与可用率
  36. allow: [app_common, app_ETL]
  37. impl_now: src/windscada/{taxonomy,audit}.py、perf/*、subsys/*、src/windcms/{report_std,tcm,knowledge,cross_review,audit_rules,pipeline}.py
  38. phase: P3
  39. change_rate: 最快
  40. - name: app_ontology
  41. cn: 本体与知识层
  42. resp: 对象库与码表摄入、机制链、决策台、检索索引、实机参数表、SOP 场景与验收状态机、本机模型闸
  43. allow: [app_common]
  44. impl_now: src/ontology/*、src/sop/*
  45. phase: P6
  46. change_rate: 中
  47. - name: app_backEnd
  48. cn: 后端
  49. resp: 组件服务、统一网关、运维控制台与重算编排、作业状态、CLI 与进程管理
  50. allow: [app_common, app_ETL, app_algorithmModel, app_ontology]
  51. impl_now: guanlan.py、scripts/{windscada_serve,guanlan_gateway,guanlan_ops,_ops_*}.py、src/windscada/{config,terms,i18n,lang,report_export}.py
  52. phase: P4
  53. change_rate: 慢
  54. plug_points: [Redis(按时间窗缓存与作业状态), Nginx(统一入口与静态件)]
  55. - name: app_frontEnd
  56. cn: 前端
  57. resp: v2 工作台单页与交互、图表库、门户与静态件
  58. allow: [app_common]
  59. impl_now: src/windscada/ui/{app.js,charts.js,build.py,snapshot.py}、windscada_serve.py 内页面模板、release/portal.html、release/viewer/
  60. phase: P5
  61. change_rate: 中
  62. - name: app_qualityGate
  63. cn: 质量门与审计 + 打包安装
  64. resp: 审计器(反向呼应/页面归口/配置统一/日志/链路/可移植/安全)、交付文档三检、打包器与开箱验证、安装与卸载
  65. allow: [app_common, app_ETL, app_algorithmModel, app_ontology, app_backEnd, app_frontEnd]
  66. impl_now: scripts/{*_audit,check_*,detail_deps,page_fingerprint,pack_dist,pack_verify_entry,guanlan_uninstall,delivery_docs_*}.py、install.*、uninstall.*
  67. phase: P7
  68. change_rate: 慢