@stalfh233/omc-cli 0.4.68 → 0.4.69

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.
@@ -1048,22 +1048,14 @@ export function registerRuntimeDataLane(tools) {
1048
1048
  draftObjectId = targetObjectId;
1049
1049
  }
1050
1050
  else if (formType === "2") {
1051
- const saved = await runtimeWriteWithAppMapping(session, args.schemaCode, 50000, "data.submit 运行时提交稳定失败(50000)", () => wireCall(session, {
1052
- path: ENDPOINTS.runtimeFormSave,
1053
- method: "POST",
1054
- body: { bizObject: { schemaCode: args.schemaCode, sheetCode, data: formData } },
1055
- }));
1056
- const savedData = (saved.data ?? {});
1057
- draftObjectId = typeof savedData.bizObjectId === "string" ? savedData.bizObjectId : typeof savedData.objectId === "string" ? savedData.objectId : null;
1058
- if (!draftObjectId)
1059
- throw new WireError("business", "submit chain: draft save returned no bizObjectId", 304001);
1060
- // No post-save form/load (ticket 18): the submit persists
1061
- // bizObject.data itself and updateBizObject merges patch-style onto
1062
- // the stored row, and initSubmitBizObject.setOwner re-reads the
1063
- // stored row's owner server-side — so formData + the saved id is the
1064
- // complete submit payload.
1051
+ // Live 1.1.25 (r7-vehicle 2026-10-21): the previous chain did
1052
+ // form/save (creating a DRAFT row) and then submitted with that id —
1053
+ // the platform INSERTED A SECOND ROW instead of completing the first,
1054
+ // leaving one COMPLETED + one orphan DRAFT per submit (verified in
1055
+ // ia38g_veh_vehicle: same plateNo, same second, statuses COMPLETED and
1056
+ // DRAFT). form/submit persists bizObject.data itself (ticket 18), so
1057
+ // skip the pre-save and let the platform create+complete in one call.
1065
1058
  payload.bizObject = {
1066
- id: draftObjectId,
1067
1059
  schemaCode: args.schemaCode,
1068
1060
  sheetCode,
1069
1061
  data: stripEngineOwnedKeys(formData),
@@ -77,7 +77,7 @@ const ruleBranchGraph = Object.freeze({
77
77
  conditionalRequirements: [
78
78
  "**系统节点顺序:BRANCH 必须排在 `SYSTEM_CREATE` 之后**——BRANCH 直接接在 START 后会运行时静默不生效、动作不回写(工具 fail closed)。注意这与 BIZ_ACTION 回写场景相反(那里系统节点要在动作之后)——本 recipe 是分支场景。**`SYSTEM_CREATE` 必须显式写**(工具对分支图的自动注入不可靠)。",
79
79
  "**出口条件叶只 4 个键** `{currentSchemaDataItem(左值字段),ruleDataConditionType(操作符),ruleValueType,value}`;用 UI 键 `targetSchemaDataItem`+`ruleConditionType` 会 save+publish 过但运行时 50000(工具 fail closed `rule-graph-branch-condition-keys`)。",
80
- "**下列键可省、工具自动补**(省 token;真机验证极简图 1170B vs 全显式 1690B,−31%):每个节点的 `nodeName`;BRANCH 的 `inputParam:\"_input\"`/`judgeMethod:\"DEFAULT\"`;自更新 UPDATE(`targetObjectCode`=本模型)的 `inputParam:\"_input\"`/`filterCondition`(身份匹配);非兜底路由的 `routeCondition:true`/`matchType`。仅 BRANCH 的 `sourceInputMethod` 与兜底 else 的 `routeCondition:false` 需显式。**跨模型写(UPDATE/CREATE/DELETE 的 `targetObjectCode`≠规则模型)运行时未验证:lint 给非阻断 warning `rule-graph-cross-model-unverified`(2026-09-27 真机 data.submit 探测只有同模型 UPDATE 生效),交付前必须实测;稳妥用同模型回写或 BIZ_ACTION/二开。**",
80
+ "**下列键可省、工具自动补**(省 token;真机验证极简图 1170B vs 全显式 1690B,−31%):每个节点的 `nodeName`;BRANCH 的 `inputParam:\"_input\"`/`judgeMethod:\"DEFAULT\"`;自更新 UPDATE(`targetObjectCode`=本模型)的 `inputParam:\"_input\"`/`filterCondition`(身份匹配);非兜底路由的 `routeCondition:true`/`matchType`。仅 BRANCH 的 `sourceInputMethod` 与兜底 else 的 `routeCondition:false` 需显式。**跨模型写(`targetObjectCode`≠规则模型)已真机验证可用**(1.1.25,2026-10-21:FIXED id / 文本字段 / 单跳关联字段三种 DYNAMIC 来源均命中)——前提是 ① 承载规则真的触发(Create 在提交时、Update 在 data.update、或绑流程事件);② **目标行必须已提交(COMPLETED)**,DRAFT 行不参与查询(日志「查找范围不存在数据」)。点号路径按子表解析:`关联字段.id` 与两跳 `a.b` 不可用。",
81
81
  "预置规则的系统节点类型必须与 ruleCode 匹配(Create→SYSTEM_CREATE);放 SYSTEM_UPDATE 会 data.submit 50000(工具 fail closed)。",
82
82
  ],
83
83
  priorToolReferences: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stalfh233/omc-cli",
3
- "version": "0.4.68",
3
+ "version": "0.4.69",
4
4
  "description": "CloudPivot 8.6 configuration capability CLI — governed, fail-closed, coverage-manifest bounded.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,9 +50,9 @@
50
50
  "access": "public"
51
51
  },
52
52
  "dependencies": {
53
- "@stalfh233/omc-fake-platform": "0.4.68",
53
+ "@stalfh233/omc-fake-platform": "0.4.69",
54
54
  "commander": "14.0.3",
55
- "omc-core": "0.4.68",
55
+ "omc-core": "0.4.69",
56
56
  "proper-lockfile": "4.1.2",
57
57
  "write-file-atomic": "6.0.0",
58
58
  "zod": "^3.23.8",