@guandata/guanwf 0.1.829 → 0.1.830

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## @guandata/guanwf 0.1.830 - 2026-08-28
4
+
5
+ - `run --validate` 会清空临时定义中的真实输出注册配置,只验证 Python 序列化,不再误触发输出数据集注册。
6
+ - 校验仅允许在已有草稿上执行,并在写入前和最终并发检查时确认版本状态,避免发布态工作流留下无法废弃的临时草稿。
7
+ - 强化校验失败后的恢复标记与草稿回滚,生命周期变化时保持线上零写入并提供明确诊断。
8
+
3
9
  ## @guandata/guanwf 0.1.829 - 2026-08-27
4
10
 
5
11
  - 新增 Python Runtime 查询与结构化上下文,生成脚本前可确认目标 Python 版本、运行模式和镜像来源;信息不足时按兼容规则保守处理。
package/README.md CHANGED
@@ -48,6 +48,12 @@ guanwf install-skill
48
48
 
49
49
  ## 版本更新
50
50
 
51
+ ### @guandata/guanwf 0.1.830
52
+
53
+ - `run --validate` 只验证 Python 序列化,不再误触发真实输出数据集注册。
54
+ - 校验仅允许在已有草稿上执行,并在写入前再次确认版本状态,避免发布态工作流残留临时草稿。
55
+ - 强化失败恢复与并发变化诊断,生命周期变化时保持线上零写入。
56
+
51
57
  ### @guandata/guanwf 0.1.829
52
58
 
53
59
  - 新增 Python Runtime 上下文和输入内存预检,脚本生成与运行会依据目标环境能力保守判断。
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guandata/guanwf",
3
- "version": "0.1.829",
3
+ "version": "0.1.830",
4
4
  "description": "观远工作流数据流编辑工具 - 创建、编辑、导出、预览、保存数据流",
5
5
  "bin": {
6
6
  "guanwf": "bin/run.js"
@@ -271,11 +271,13 @@ fail closed;用 `guanwf output capabilities` 查询当前矩阵。
271
271
  `run --recover` 和 `instance resume-failed` 的最外层实例只有传 `--wait` 才等待完成;嵌套
272
272
  PROCESS 子实例始终等待成功后才恢复父实例。长任务用 `--timeout` 调整等待上限。
273
273
 
274
- **`--validate` 是验证 Python 脚本的默认方法**:先对最终完整源码执行 WORKFLOW_PARAMS
275
- 唯一入口、类型、引号上下文和残留检查(dry-run 只显示类型/来源,不显示值),再在临时草稿中
276
- `save_outputN` 替换为 serializer stub。stub 会在任务唯一临时目录中用真实 PyArrow/Parquet
277
- 完成 `Table.from_pandas` 和 `write_table`,随后清理目录且不注册数据集;结束后自动恢复原始草稿。
278
- 日志中可看到 dtype、head、Arrow schema 和 `serializer=SUCCESS`。详见 `references/WORKFLOW_DSL.md`。
274
+ **`--validate` 是验证 Python 脚本的默认方法**:工作流必须先有草稿。CLI 先对最终完整源码
275
+ 执行 WORKFLOW_PARAMS 唯一入口、类型、引号上下文和残留检查(dry-run 只显示类型/来源,不显示
276
+ 值),再在临时定义中清空目标 Python 节点的输出注册配置,并把 `save_outputN` 替换为 serializer
277
+ stub。stub 会在任务唯一临时目录中用真实 PyArrow/Parquet 完成 `Table.from_pandas` 和
278
+ `write_table`,随后清理目录且不注册数据集;结束后自动恢复原始草稿。发布态工作流必须先执行
279
+ `save-draft --confirm`,CLI 不会为了校验擅自创建无法废弃的临时草稿。日志中可看到 dtype、
280
+ head、Arrow schema 和 `serializer=SUCCESS`。详见 `references/WORKFLOW_DSL.md`。
279
281
 
280
282
  ### 预览数据流节点
281
283
 
@@ -263,13 +263,14 @@ guanwf run --dir <workdir> --node "<节点名>" --validate --confirm # 3. 校
263
263
 
264
264
  `--validate` 的工作机制:
265
265
 
266
- 1. 在临时草稿中给目标 Python 节点脚本头部注入 stub,把 `save_outputN` 替换为
266
+ 1. 工作流必须已有草稿;临时定义会清空目标 Python 节点的 `outputDatasets` 注册配置,并给
267
+ 节点脚本头部注入 stub,把 `save_outputN` 替换为
267
268
  `print(df.dtypes)` + `print(df.head(20))` 并执行真实 PyArrow/Parquet 序列化的实现
268
269
  (BI 服务端把真实 `save_outputN`
269
270
  定义在用户脚本之前,用户脚本中的重定义会覆盖它)
270
271
  2. 单节点试运行草稿(TASK_ONLY + DRAFT),等待完成并拉取日志
271
- 3. stub 在任务唯一临时目录写入 `data.parquet` 验证真实 serializer,随后立即清理;它不写
272
- 服务端约定的输出位置,因此服务端跳过输出数据集注册——**不创建、不导入任何真实数据集**
272
+ 3. stub 在任务唯一临时目录写入 `data.parquet` 验证真实 serializer,随后立即清理;临时定义
273
+ 没有输出注册配置,因此服务端跳过输出数据集注册——**不创建、不导入任何真实数据集**
273
274
  4. 运行结束后自动把原始草稿(无 stub)重新保存回服务端
274
275
 
275
276
  校验日志中能看到(`--- 脚本输出 (DETAIL) ---` 段):
@@ -286,12 +287,15 @@ AI 应根据 dtypes/head 检查输出 schema 是否符合预期,确认后用 `
286
287
  如果校验中途断掉导致草稿仍带 stub,重新执行 `guanwf save-draft --confirm` 即可恢复(命令结束时
287
288
  会有显式警告)。
288
289
 
289
- `--validate` 必须搭配 `--node`(节点**显示名**不是 id),隐含 `--draft --wait --logs`。
290
+ `--validate` 必须搭配 `--node`(节点**显示名**不是 id),且线上工作流必须已有草稿,隐含
291
+ `--draft --wait --logs`。发布态工作流先执行 `save-draft --confirm`;8.2.0 没有废弃临时草稿
292
+ 接口,CLI 会在任何线上写入前拒绝直接校验纯发布态,避免校验后残留草稿。
290
293
  不带 `--validate` 的 `run --node --draft --wait --logs` 是真实单节点运行,**会创建
291
294
  输出数据集**,仅在确认要产出数据时使用。
292
295
 
293
296
  试运行失败时,根据日志区分:脚本语法/库缺失问题改 `script.py`;输入输出配置问题改
294
- `workflow.go`;平台/环境错误(如输出数据集注册失败)须排查环境,不要改本地源文件硬绕。
297
+ `workflow.go`;平台/环境错误须排查环境。validate 实例若出现输出数据集注册失败,优先确认
298
+ 所用 CLI 是否已清空临时定义的输出注册配置,不要改本地源文件硬绕。
295
299
 
296
300
  ## 编排工作流(子工作流节点)
297
301