modules.yaml 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. # P9(2026-09-28 用户令)新结构:每个模块一个目录,实现包直接挂模块根下
  14. module_root: "app_<模块>"
  15. package_pattern: "app_<模块>/app_<模块>_guanlan" # 观澜在该模块的实现包(旧 app_<模块>/common/app_<模块>_guanlan 留一版别名)
  16. common_dir: "app_<模块>/common" # 模块内通用插件/组件(跨模块复用的公共层是 app_common)
  17. per_module_dirs: [common, configs, data] # 每模块自带:通用组件 / 模块专属配置 / 模块相关数据
  18. per_module_files: [README.MD, install.bat, install.sh, uninstall.bat, uninstall.sh, run.bat, run.sh]
  19. public_face: api.py # 模块间调用只许走这里(<模块>/<模块>_guanlan/api.py)
  20. modules:
  21. - name: app_common
  22. cn: 公共层
  23. resp: 路径真源/版本真源/日志/进程/入口引用/控制台输出/运行态作业文件/产物派生台账
  24. allow: [] # 公共层不依赖任何业务模块
  25. impl_now: app_common/app_common_guanlan/{paths,version,logfile,proc,entry_refs,console,opsjob,derived_manifest,tabfmt}.py(旧路径 src/<件>.py 为兼容转发壳)
  26. phase: P1 已完成(2026-09-22)
  27. change_rate: 极少
  28. - name: app_ETL
  29. cn: 数据接入管理
  30. resp: 源件摄入(10 分钟/1 分钟/月度归档库/台账/振动)、放置与增量体检、标准仓、机型与场站契约、canonical 词典
  31. allow: [app_common]
  32. impl_now: app_ETL/app_ETL_guanlan/{data,scada_source,slim,mdb_names}.py + builders/(12 个构建器;scripts/<同名>.py 为 CLI 兼容壳)
  33. phase: P2 已完成(2026-09-22)
  34. change_rate: 随现场数据形态
  35. plug_points: [TiDB community(标准仓读写), MinIO(源件与产物对象存储)]
  36. - name: app_algorithmModel
  37. cn: 算法
  38. resp: 七系统判级矩阵、七镜头曲线、可靠性指标、控制参数一致性、融合面四源、振动与温度面、趋势与可用率
  39. allow: [app_common, app_ETL, app_ontology]
  40. impl_now: app_algorithmModel/app_algorithmModel_guanlan/{taxonomy,audit}.py、perf/*、subsys/*、windcms/*(旧路径为兼容转发壳)
  41. phase: P3 已完成(2026-09-22)
  42. change_rate: 最快
  43. - name: app_ontology
  44. cn: 本体与知识层
  45. resp: 对象库与码表摄入、机制链、决策台、检索索引、实机参数表、SOP 场景与验收状态机、本机模型闸
  46. allow: [app_common]
  47. impl_now: app_ontology/app_ontology_guanlan/{ontology/*,sop/*}(旧路径 src/ontology/<件>.py、src/sop/<件>.py 为兼容壳;`python -m src.ontology.<件>` 照旧可用)
  48. phase: P6 已完成(2026-09-28)
  49. change_rate: 中
  50. - name: app_backEnd
  51. cn: 后端
  52. resp: 组件服务、统一网关、运维控制台与重算编排、作业状态、CLI 与进程管理
  53. allow: [app_common, app_ETL, app_algorithmModel, app_ontology, app_frontEnd] # P5 起: 后端出页要用前端的经典页模板
  54. impl_now: app_backEnd/app_backEnd_guanlan/{cli,serve,gateway,ops,service,start_hidden,ops_*,windcms/*,config,i18n,report_export,deid*}.py(根 guanlan.py 与 scripts/<9 件> 为兼容壳;lang/terms 已随 P5 划归前端)
  55. phase: P4 已完成(2026-09-22)
  56. change_rate: 慢
  57. plug_points: [Redis(按时间窗缓存与作业状态), Nginx(统一入口与静态件)]
  58. - name: app_frontEnd
  59. cn: 前端
  60. resp: v2 工作台单页与交互、图表库、门户与静态件、经典页模板、设计系统与界面文案(语言包/显示层术语)
  61. allow: [app_common]
  62. impl_now: app_frontEnd/app_frontEnd_guanlan/{assets/*,pages/{build,snapshot,classic}.py,design.py,lang.py,terms.py,builders/*}(旧路径 src/windscada/ui/*、src/windscada/{design,lang,terms}.py 与 scripts/<3 件> 为兼容壳)
  63. phase: P5 已完成(2026-09-28)
  64. change_rate: 中
  65. - name: app_qualityGate
  66. cn: 质量门与审计 + 打包安装
  67. resp: 审计器(反向呼应/页面归口/配置统一/日志/链路/可移植/安全)、交付文档三检、打包器与开箱验证、安装与卸载
  68. allow: [app_common, app_ETL, app_algorithmModel, app_ontology, app_backEnd, app_frontEnd]
  69. impl_now: app_qualityGate/app_qualityGate_guanlan/{audits/*,docs/*,pack/*}(旧路径 scripts/<件>.py 为 CLI 壳;
  70. 根引导脚本 install.*/uninstall.*/check.bat/pack.* 按"解压即用"约定原地不动)
  71. phase: P7 已完成(2026-09-28)
  72. change_rate: 慢