zhouyang.xie 4630df6f32 2.58.1 重算链安全清理(⑦b/⑧b 按最小包含语句删, 28->26 步) + 逐件台账再生(products_restore_missing --refresh: _provenance.json::files 恢复 4170 条) => pages_audit 0 项要处理, 全门禁通过 vor 1 Woche
..
app_ETL_guanlan 4630df6f32 2.58.1 重算链安全清理(⑦b/⑧b 按最小包含语句删, 28->26 步) + 逐件台账再生(products_restore_missing --refresh: _provenance.json::files 恢复 4170 条) => pages_audit 0 项要处理, 全门禁通过 vor 1 Woche
common 26f1eca47f 2.13.0 P9 源码目录结构变更: 实现包上提模块根(app_X/app_X_guanlan)+旧前缀别名(同名同体)+每模块 common/configs/data/README.MD/install-run-uninstall 包装+配置双根(app_ETL/app_frontEnd configs 下放, 取用口多根+单源+owner); 修文档构建器死循环(落单反引号)并支持代码栅栏 vor 1 Woche
configs 26f1eca47f 2.13.0 P9 源码目录结构变更: 实现包上提模块根(app_X/app_X_guanlan)+旧前缀别名(同名同体)+每模块 common/configs/data/README.MD/install-run-uninstall 包装+配置双根(app_ETL/app_frontEnd configs 下放, 取用口多根+单源+owner); 修文档构建器死循环(落单反引号)并支持代码栅栏 vor 1 Woche
data 26f1eca47f 2.13.0 P9 源码目录结构变更: 实现包上提模块根(app_X/app_X_guanlan)+旧前缀别名(同名同体)+每模块 common/configs/data/README.MD/install-run-uninstall 包装+配置双根(app_ETL/app_frontEnd configs 下放, 取用口多根+单源+owner); 修文档构建器死循环(落单反引号)并支持代码栅栏 vor 1 Woche
README.md 26f1eca47f 2.13.0 P9 源码目录结构变更: 实现包上提模块根(app_X/app_X_guanlan)+旧前缀别名(同名同体)+每模块 common/configs/data/README.MD/install-run-uninstall 包装+配置双根(app_ETL/app_frontEnd configs 下放, 取用口多根+单源+owner); 修文档构建器死循环(落单反引号)并支持代码栅栏 vor 1 Woche
__init__.py 98adf72dce 2.11.0 命名对齐用户示例: app_algorithm->app_algorithmModel, app_dataAccess->app_ETL(目录/包/登记/文档/版本记录同步) vor 1 Woche
install.bat 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche
install.sh 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche
pack.bat 670153db71 2.51.0 交付形态补齐: pack_module.py + 四模块 pack.bat/sh + 根 run.bat/sh(start/stop/restart/status) + install/uninstall 支持 --module/--list; 四模块包 verify 全过; 总包 918MB/9237 条目, 开箱 页面 4/5 + 卸载核验通过; 修 .sh CRLF 与模块包漏 target vor 1 Woche
pack.sh 670153db71 2.51.0 交付形态补齐: pack_module.py + 四模块 pack.bat/sh + 根 run.bat/sh(start/stop/restart/status) + install/uninstall 支持 --module/--list; 四模块包 verify 全过; 总包 918MB/9237 条目, 开箱 页面 4/5 + 卸载核验通过; 修 .sh CRLF 与模块包漏 target vor 1 Woche
run.bat 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche
run.sh 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche
uninstall.bat 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche
uninstall.sh 899d17147f 2.14.0 分别打包: pack_dist --module(四模块各自成包, 真实依赖闭包=全模块) + MODULE_PACKAGE.json 标记 + 模块 install/run/uninstall 双模 + app_common bootstrap.py(独立装/检/跑/卸) + --verify --module; 根 VERSION 镜像纳入版本门; 文档与版本表同步 vor 1 Woche

README.md

观澜 · 数据接入管理(app_ETL/)

职责:现场源件摄入(10 分钟/1 分钟/月度归档库/台账/振动)、放置与增量体检、标准仓、机型与场站契约、canonical 词典

允许依赖:app_common

对外公开面:common/app_ETL_guanlan/api.py —— 模块间调用只许走这里(scripts/module_boundary_audit.py 机器检查)。

当前实现落点(P2 已实体迁入):src/windscada/{data,scada_source,slim,mdbnames}.py + scripts/{rebuild,scada_,raw_scan,raw_data_check,place_raw_data,pitch_face_build,baseline_38_build,component_history_build,csv_to_mdb}.py

迁移状态:P2 已完成(2026-09-22) —— 4 个库模块(data/scada_source/slim/mdb_names)实体迁入本目录(旧路径 src/windscada/<件>.py 留模块别名壳);12 个构建器迁入 builders/(scripts/<同名>.py 留 CLI 壳,链/审计/文档里约 269 处路径引用因此保持不变);构建器的安装根推算改用公共层公开面 app_common.app_common_guanlan.api.install_root(不再依赖 __file__.parents[1])。实逮并修掉:包内相对导入(from .config 等 6 处)在搬家后指向不存在的模块 ⇒ 改为绝对导入。

依据:docs/重构方案_模块化_v0.1.md(用户令 2026-09-22:只重构目录与接口、零行为变化、逐版本可回滚)。

安装部署与运行

本系统是单包离线交付:解压到无空格无中文路径 → 安装 → 自检 → 启动(一套安装,七个模块共用一份 .venv)。 本模块目录里的脚本只是入口包装,内部调安装根的统一入口,保证"进模块目录也能装/跑/卸":

动作 Windows Linux/macOS 内部实际调用
安装 install.bat sh install.sh 安装根 install.bat / install.sh(建 .venv、装依赖、自检、注册服务)
运行 run.bat sh run.sh 安装根 start.bat(Windows)/python guanlan.py serve(跨平台)
卸载 uninstall.bat sh uninstall.sh 安装根 uninstall.bat / uninstall.sh

目录约定(P9,2026-09-28 用户令):

app_ETL/
  common/               模块内通用插件/组件(旧导入前缀的兼容别名在此保留一个版本)
  configs/              本模块专属配置域(共用单件在安装根 configs/)
  data/                 模块相关数据件(运行期数据在安装根 data/、outputs/)
  app_ETL_guanlan/                观澜在本模块的实现包(模块间调用只许经其中的 api.py)
  README.MD             本文件(职责 / 公开面 / 安装部署与运行)
  install.bat|sh  uninstall.bat|sh  run.bat|sh

自检与打包:安装根 check.bat(=python guanlan.py check)、pack.bat / sh pack.sh (打包 + 开箱验证:页面 5/5 + 卸载核验)。