build(scripts): 发布护栏 fail-closed 与 flag 语义;文档对齐

- release.cjs:assertNoDowngrade 的通道探测原先对网络错误/5xx/解析失败
  一律放行(fail-open),旧分支发旧版本号撞上探测失败会覆盖 latest.yml
  并让 pruneChannel 删掉线上更新版本的 exe。现仅通道真空(404)放行,
  其余抛错中止发布;prune 前的探测保持 best-effort
- 新增 --skip-gitea-release(只跳 Gitea release、通道照常上传);
  --skip-gitea 保持原行为但打印醒目警告;usage 补全 flag 语义
- 文档对齐:STATE.md(v1.0.23、19→22 离线测试、清除 MSI 描述、bundle
  清单补全)、ROADMAP 补 M12/M13、ci.yml 与 AGENTS.md 测试计数、
  AGENTS.md 补录本轮关键不变式(legacy 模板门控、SESSION_STATE/
  pendingOpens、zmodem 背压钩子、主机密钥 TTL);.gitignore 清重复与
  死条目
This commit is contained in:
Bill committed 2026-10-09 11:31:25 +08:00
1 parent 6a218ec6c0
commit 64982993f3
6 files changed
+82 -28

No files matched your search

-3
View File
@@ -4,9 +4,7 @@ node_modules/
# build output
out/
dist/
tests/.session-e2e.cjs
tests/.sftp-svc.*
tests/.hl-smoke.*
# research artifacts (XTerminal reverse-engineering notes, not part of the app)
research/
@@ -52,7 +50,6 @@ release/
# stray local test artifacts
.min-test.bin
.min2-test.bin
.exact-test.bin
tests/.zm-src-*/
tests/.zm-out-*/