openxiangda 1.0.171 → 1.0.172

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/lib/cli.js CHANGED
@@ -288,7 +288,7 @@ Usage:
288
288
 
289
289
  OpenXiangda 应用开发使用普通用户登录 token,不需要 AK/SK;外部后端集成使用 open-api skill 与 AK/SK。
290
290
  所有直接配置写入必须携带 --change <id>,或先执行 release begin --change <id>;dry-run、schema-plan、validate、query/invoke 等只读/数据面命令不会获取发布租约。
291
- 正式发布会冻结 clean committed HEAD;上线后必须将该 SHA merge/fast-forward 并 push 到权威远端主分支,integration-status 通过后 normal release end 才会清理会话。
291
+ 正式发布只接受已经合并并 push、且与权威远端默认主分支完全一致的 clean HEAD;激活后直接运行 integration-status release end,不再补做发布后合并。
292
292
  表单页、流程表单页和代码页的主链路是 sy-lowcode-app-workspace + openxiangda workspace publish。
293
293
  新 React SPA 公开访问使用 public-access 命令和 src/resources/public-access;settings public-access 仅用于旧表单公开设置兼容/修复。
294
294
  JS_CODE V2 使用 trusted_node;AI 源码必须写在 src/js-code-nodes/<scriptCode>/index.ts,代码自动化源码写在 src/automations/<resourceCode>/index.ts。definition-json 中的 sourceFile.localPath 会在 validate/create/publish 时先 TS 校验、再构建并上传为快照。`);
@@ -10217,7 +10217,7 @@ async function commands(args) {
10217
10217
  'Direct live mutation commands should use --dry-run first and --write-manifest when the repository should remain source of truth.',
10218
10218
  'App Function Secret values never belong in a manifest or workspace file. Use top-level function secretRefs, ctx.secrets.get(name), and secret create/rotate via hidden TTY or --value-stdin.',
10219
10219
  'OpenXiangda native SDD uses openspec/ records; high-risk publishes require an approved change with coverage.json/release.json verification unless --sdd-bypass --reason is used.',
10220
- 'A formal release freezes the clean publish HEAD separately from the change base; after activation merge/fast-forward and push that exact SHA to the authoritative default branch, verify release integration-status, then run release end.',
10220
+ 'A formal release only starts from a clean local main/master that exactly equals the authoritative remote tip. Merge and push approved changes first; after activation verify release integration-status, then run release end without a post-release merge.',
10221
10221
  ],
10222
10222
  };
10223
10223
  if (flags.json) return writeJson(manifest);
@@ -185,13 +185,23 @@ function buildNextSteps(targetDir, installedDependencies, bound, runtime) {
185
185
  steps.push(`openxiangda env --profile ${profileArg}`);
186
186
  steps.push('git switch -c codex/<change>');
187
187
  steps.push('openxiangda sdd propose <change>');
188
+ steps.push('完成开发、测试、approve 并提交 codex/<change>,不要从 feature worktree 发布');
189
+ steps.push(
190
+ 'git switch <main-branch> && git merge --no-ff codex/<change> && git push origin <main-branch>'
191
+ );
192
+ steps.push(
193
+ 'openxiangda sdd bundle <release-change> --changes <change-a,change-b>'
194
+ );
195
+ steps.push(
196
+ 'git add openspec/changes/<release-change> && git commit -m "chore: prepare <release-change>" && git push origin <main-branch>'
197
+ );
188
198
  steps.push(
189
199
  runtime === 'react-spa'
190
- ? `openxiangda runtime deploy --no-activate --change <change> --profile ${profileArg}`
191
- : `openxiangda workspace publish --dry-run --only <exact-codes> --change <change> --profile ${profileArg}`
200
+ ? `openxiangda runtime deploy --no-activate --change <release-change> --profile ${profileArg}`
201
+ : `openxiangda workspace publish --dry-run --only <exact-codes> --change <release-change> --profile ${profileArg}`
192
202
  );
193
203
  steps.push(
194
- `发布后将冻结提交 merge/fast-forward push 到主分支,再运行 openxiangda release end --profile ${profileArg}`
204
+ `原子激活后运行 openxiangda release integration-status --profile ${profileArg},再运行 openxiangda release end --profile ${profileArg}`
195
205
  );
196
206
  return steps;
197
207
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda",
3
- "version": "1.0.171",
3
+ "version": "1.0.172",
4
4
  "description": "OpenXiangda CLI, workspace build tools, runtime SDK, and form components.",
5
5
  "private": false,
6
6
  "bin": {
@@ -16,7 +16,8 @@ if (!process.env.OPENXIANGDA_PROFILE) {
16
16
  '正确入口:',
17
17
  ' openxiangda workspace publish --change <change> --profile <name> --only pages/X,forms/Y --dry-run',
18
18
  ' openxiangda workspace publish --change <change> --profile <name> --only pages/X,forms/Y',
19
- ' 发布后 merge/fast-forward push 冻结 SHA,再运行 release integration-status 与 release end',
19
+ ' 先把 approved changes 合并并 push 到默认主分支,再从该 clean HEAD 一次发布',
20
+ ' 激活后运行 release integration-status 与 release end,不再补做发布后合并',
20
21
  '',
21
22
  '更多说明详见工作区根目录的 AGENTS.md。',
22
23
  '',