Просмотр исходного кода

版本 2.5.0 -> 2.6.0: 观澜生成端源代码化 + 包内输入目录骨架

- src/version.py: VERSION=2.6.0, HISTORY 增 2026-09-19 [minor] 一条
- docs/版本记录.md: 由 scripts/version_log.py --write 重生成 (v2.6.0, 4 条)
- docs/系统设计说明.md: 15.1/15.3 现行版本与版本表同步 2.6.0
- README_先读我.MD: 打包产物示例改为 app_guanlang_v2.6.0.zip

级别判据 (src/version.py::level_of): 本次为「非核心功能新增」(MDB 接入/四步脚本/
claim 生成/页面烘焙/目录骨架) 混合若干消缺 => 取最高级 = minor => 中版本 +1
=> 2.6.0。守卫: scripts/version_log.py --check 一致; guanlan.py version rc=0。
zhouyang.xie 3 недель назад
Родитель
Сommit
b790f8ef7d
4 измененных файлов с 26 добавлено и 9 удалено
  1. 1 1
      README_先读我.MD
  2. 6 5
      docs/版本记录.md
  3. 3 2
      docs/系统设计说明.md
  4. 16 1
      src/version.py

+ 1 - 1
README_先读我.MD

@@ -56,7 +56,7 @@
     pack.bat verify   对已打好的 zip 做开箱验证: 解压 → 离线安装 → 起服务核验页面 → 清理
     <PY> scripts/pack_dist.py --out <目标.zip>     指定输出路径
   输出: 默认写到**安装目录的上一级**, 文件名 app_guanlang_v<版本号>.zip
-        (例: 装到 D:\guanlan\app 且本包版本 2.5.0, 则产物在 D:\guanlan\app_guanlang_v2.5.0.zip)
+        (例: 装到 D:\guanlan\app 且本包版本 2.6.0, 则产物在 D:\guanlan\app_guanlang_v2.6.0.zip)
   ★ 版本号规则 (用户令 2026-09-17): 编号 v<大版本号>.<中版本号>.<小版本号>, 例 v2.5.0
       大版本号 —— 系统解决方案、架构或核心功能改变
       中版本号 —— 非核心功能新增、减少、修改

+ 6 - 5
docs/版本记录.md

@@ -7,7 +7,7 @@
 <!-- VERSION-LOG:BEGIN -->
 ## 版本号规则(用户令 2026-09-17)
 
-编号 **`v<大版本号>.<中版本号>.<小版本号>`**,例如 `v2.5.0`。
+编号 **`v<大版本号>.<中版本号>.<小版本号>`**,例如 `v2.6.0`。
 
 | 级别 | 含义 |
 |---|---|
@@ -17,20 +17,21 @@
 
 **怎么改**:改动落在"解决方案/架构/核心功能" → 大 +1(中/小归 0);落在"非核心功能的新增/减少/修改" → 中 +1(小归 0);只是"消缺完善" → 小 +1;一次发布混了几类,取最高那一级
 
-**打包文件名** = `app_guanlang_v2.5.0.zip`(规则:`app_guanlang_v<版本号>.zip`)。
+**打包文件名** = `app_guanlang_v2.6.0.zip`(规则:`app_guanlang_v<版本号>.zip`)。
 
-版本号只写在 `src/version.py` 一行(`VERSION = '2.5.0'`);打包器、安装脚本、安装记录 `install-info.json`、自检都读它,不另设真源。
+版本号只写在 `src/version.py` 一行(`VERSION = '2.6.0'`);打包器、安装脚本、安装记录 `install-info.json`、自检都读它,不另设真源。
 
 | 版本 | 日期 | 级别 | 主要变更 | 说明 |
 |---|---|---|---|---|
+| `v2.6.0` | 2026-09-19 | 中 | 「所有的计算均要形成观澜的源代码」:融合面/总览页/事实契约/发布层/掩码阈值/六层链两步 全部落成观澜自算;SCADA 接入兼容 CSV+MDB;交付包带输入数据目录结构(不含文件) | 功能新增为主、夹带多项消缺 ⇒ 按规则取最高一级(minor)。要点: ① 六层链 model_run/fusion 两步按口径重建(报告的"融合级"列从此有值)+ energy_share 步补上 + 峰值拾取口径定案(观澜口径,四件 *_freq_scan 形式不再复刻); ② 融合面 handoff 与总览页 windscada/index.html 由观澜自算生成(原为"包内无生成端",新机器上 /detail/v2 的"需要关注/全场状态"必空白); ③ 事实契约改为**从重算台账生成 claim**(门户结论段/问答/报告随重算刷新,/api/facts 不再 503); ④ 本体发布层 r1/r2、TCM 掩码阈值(观澜自算口径,非厂商)分别落成生成端; ⑤ SCADA 接入统一取数层兼容 CSV 与 MDB(含老库列位错位如实拒绝); ⑥ 打包:**带输入数据目录结构**(30 个空目录, 含 data/raw/西门子4.0技术资料)+ 放置说明文件随包, 仍不含数据文件; ⑦ 消缺: report 步踩可选包 tabulate 致整链中断、语言包闸拦下的 /v2 500、振动页看不出数据区间与"3 月数据消失"(趋势按日聚合)、账目单位错(kWh/MW)、Access 锁文件误报、日志保留策略等。交付包 app_guanlang_v2.6.0.zip |
 | `v2.5.0` | 2026-09-17 | 中 | 卸载闭环(uninstall.bat / uninstall.sh)+ 版本管理与打包命名规则 + 版本记录 | 二代架构(大版本 2,与 NAME 里的 v2 对齐)的第 5 次功能性发布,无消缺项;交付包 app_guanlang_v2.5.0.zip |
 | `v0.4.0` | 2026-09-17 | 旧编号 | 打包默认不含 输入数据/产物/日志/临时文件;无窗口启动(去掉 VBScript);统一配置与日志;页面归口审计;输入数据放置检查;安装时版本检查与服务化 | 旧编号体系;交付包 app_guanlan_v2_0.4.0.zip(= guanlan-v0.4.0_dist_20260917.zip) |
 | `v0.2.0` | 2026-09-01 | 旧编号 | 含产物的旧交付基线(留存的历史交付包,用作"包内无生成端"那批产物的补救源) | 旧编号体系;交付包 guanlan-rudong-v2_0.2.0_test_win64.zip(已入库备份) |
 
 ## 本次交付
 
-* 版本:`v2.5.0`(观澜·如东样板 v2)
-* 交付包:`app_guanlang_v2.5.0.zip`
+* 版本:`v2.6.0`(观澜·如东样板 v2)
+* 交付包:`app_guanlang_v2.6.0.zip`
 * 服务名:`guanlan`(Windows 服务 / systemd 单元)
 * 安装 / 卸载:`install.bat`、`install.sh` / `uninstall.bat`、`uninstall.sh`
 <!-- VERSION-LOG:END -->

+ 3 - 2
docs/系统设计说明.md

@@ -1050,7 +1050,7 @@ $ python scripts/win_service.py --debug --once
 
 ### 15.1 规则
 
-编号 **`v<大版本号>.<中版本号>.<小版本号>`**,例:`v2.5.0`(本包即此版本)。
+编号 **`v<大版本号>.<中版本号>.<小版本号>`**,例:`v2.6.0`(本包即此版本)。
 
 | 级别 | 含义(用户令原文) |
 |---|---|
@@ -1062,7 +1062,7 @@ $ python scripts/win_service.py --debug --once
 → 中 +1(小归 0);只是"消缺完善" → 小 +1;一次发布混了几类,**取最高那一级**。
 机器判据是 `src/version.py::level_of(旧, 新)` → `major|minor|patch|same`。
 
-**打包文件名** = `app_guanlang_v<版本号>.zip`,例:`app_guanlang_v2.5.0.zip`
+**打包文件名** = `app_guanlang_v<版本号>.zip`,例:`app_guanlang_v2.6.0.zip`
 (`src/version.py::package_name()` 是唯一出处,打包器默认用它命名;`--out` 可另指定)。
 
 ### 15.2 单一真源与三处机器守卫
@@ -1092,6 +1092,7 @@ scripts/version_log.py             ← 由 HISTORY 生成 docs/版本记录.md
 
 | 版本 | 日期 | 级别 | 说明 |
 |---|---|---|---|
+| `v2.6.0` | 2026-09-19 | 中(第 6 次功能性发布) | 观澜生成端源代码化(MDB 接入 / 六层链四步脚本 / 台账生成 claim / 页面烘焙)+ 交付包输入目录骨架(只带目录不带文件);大版本 2 = 二代架构,中 +1 = 非核心功能新增 |
 | `v2.5.0` | 2026-09-17 | 中(第 5 次功能性发布) | 卸载闭环 + 版本管理与打包命名 + 版本记录;大版本 2 = 二代架构(与 `NAME` 里的 v2 对齐),小版本 0 = 无消缺项 |
 | `v0.4.0` | 2026-09-17 | 旧编号 | 打包默认不含数据/产物/日志/临时文件;无窗口启动;统一配置与日志;页面归口;输入数据检查;服务化 |
 | `v0.2.0` | 2026-09-01 | 旧编号 | 含产物的旧交付基线("包内无生成端"那批产物的补救源,已入库备份) |

+ 16 - 1
src/version.py

@@ -19,7 +19,7 @@ import json
 import pathlib
 
 NAME = '观澜·如东样板 v2'
-VERSION = '2.5.0'          # ★ 改版本只改这里
+VERSION = '2.6.0'          # ★ 改版本只改这里
 EDITION = 'offline-single-package'
 PACKAGE_STEM = 'app_guanlang'           # 交付包文件名前缀(用户令 2026-09-17)
 
@@ -49,6 +49,21 @@ BUMP_RULE = ('改动落在"解决方案/架构/核心功能" → 大 +1(中/
 #   level: major/minor/patch 表示这一版**相对上一版**是哪一级变化;legacy 表示该版用的是
 #   旧编号体系(0.x,未按本规则),仅作历史对账用。
 HISTORY: tuple[dict, ...] = (
+    dict(version='2.6.0', date='2026-09-19', level='minor',
+         title='「所有的计算均要形成观澜的源代码」:融合面/总览页/事实契约/发布层/掩码阈值/六层链两步 '
+               '全部落成观澜自算;SCADA 接入兼容 CSV+MDB;交付包带输入数据目录结构(不含文件)',
+         note='功能新增为主、夹带多项消缺 ⇒ 按规则取最高一级(minor)。要点: '
+              '① 六层链 model_run/fusion 两步按口径重建(报告的"融合级"列从此有值)+ energy_share 步补上 + '
+              '峰值拾取口径定案(观澜口径,四件 *_freq_scan 形式不再复刻); '
+              '② 融合面 handoff 与总览页 windscada/index.html 由观澜自算生成(原为"包内无生成端",'
+              '新机器上 /detail/v2 的"需要关注/全场状态"必空白); '
+              '③ 事实契约改为**从重算台账生成 claim**(门户结论段/问答/报告随重算刷新,/api/facts 不再 503); '
+              '④ 本体发布层 r1/r2、TCM 掩码阈值(观澜自算口径,非厂商)分别落成生成端; '
+              '⑤ SCADA 接入统一取数层兼容 CSV 与 MDB(含老库列位错位如实拒绝); '
+              '⑥ 打包:**带输入数据目录结构**(30 个空目录, 含 data/raw/西门子4.0技术资料)+ 放置说明文件随包, '
+              '仍不含数据文件; ⑦ 消缺: report 步踩可选包 tabulate 致整链中断、语言包闸拦下的 /v2 500、'
+              '振动页看不出数据区间与"3 月数据消失"(趋势按日聚合)、账目单位错(kWh/MW)、'
+              'Access 锁文件误报、日志保留策略等。交付包 app_guanlang_v2.6.0.zip'),
     dict(version='2.5.0', date='2026-09-17', level='minor',
          title='卸载闭环(uninstall.bat / uninstall.sh)+ 版本管理与打包命名规则 + 版本记录',
          note='二代架构(大版本 2,与 NAME 里的 v2 对齐)的第 5 次功能性发布,无消缺项;'