signoff-cli 4.0.0 → 4.0.2

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,3 +1,19 @@
1
+ ## 4.0.2
2
+
3
+ **修 MCP 注册表发布:`server.json` 里 `packages[0].version` 一直停在 3.9.4。**
4
+
5
+ - 现象:注册表返回 400 `version '3.9.4' was not found`,所以 4.x 一直注册不上,`isLatest` 卡在 3.15.3。
6
+ - 修法:`server.json` 的两个版本字段都由 `package.json` 派生;自测新增三条断言,版本漂移在提交前就会被拦下。
7
+ - 这一版没有改任何功能,只让注册表能被正确发布。
8
+
9
+ ## 4.0.1
10
+
11
+ **修 4.0.0 的 npx 入口:`npx signoff-cli` 找不到可执行文件。**
12
+
13
+ - `bin` 增加同名别名 `signoff-cli`,`npx signoff-cli` 直接可用。
14
+ - 生成的 CI workflow 改成 `npx --yes --package=signoff-cli@latest signoff ...`,不依赖 bin 名与包名一致。
15
+ - 4.0.0 的 `npm i -g` 与本地命令本身正常,只有 npx 这条路径坏。
16
+
1
17
  ## 4.0.0
2
18
 
3
19
  **改名:`dsh-signoff` → `signoff-cli`。命令 `signoff`、仓库地址、功能集都不变。**
package/lib/guard.js CHANGED
@@ -225,7 +225,7 @@ jobs:
225
225
  with: { node-version: "20" }
226
226
  - uses: actions/setup-python@v5
227
227
  with: { python-version: "3.11" }
228
- - run: npx --yes signoff-cli@latest guard --ci
228
+ - run: npx --yes --package=signoff-cli@latest signoff guard --ci
229
229
  - name: audit trailers
230
230
  env:
231
231
  GITHUB_EVENT_BEFORE: \${{ github.event.before }}
@@ -238,7 +238,7 @@ jobs:
238
238
  BASE=$(git rev-parse --verify --quiet "HEAD~1^{commit}" || true)
239
239
  fi
240
240
  if [ -n "$BASE" ]; then
241
- npx --yes signoff-cli@latest audit --range "$BASE..HEAD"
241
+ npx --yes --package=signoff-cli@latest signoff audit --range "$BASE..HEAD"
242
242
  else
243
243
  echo "no base commit in this clone; skipping the trailer audit"
244
244
  fi
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "signoff-cli",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
4
4
  "description": "SignOff (落印) — five gates that make an agent's \"done\" provable: verify, coverage, queue, ledger, anti-slop.",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "license": "MIT",
9
9
  "bin": {
10
- "signoff": "bin/signoff.js"
10
+ "signoff": "bin/signoff.js",
11
+ "signoff-cli": "bin/signoff.js"
11
12
  },
12
13
  "files": [
13
14
  "bin/",
package/test/selftest.js CHANGED
@@ -1156,6 +1156,12 @@ check("hook mark names the new package", bootlib.HOOK_MARK.includes("signoff-cli
1156
1156
  check("legacy mark still recognised", bootlib.markedByUs("# generated by dsh-signoff 3.9.4"), true);
1157
1157
  check("new mark recognised", bootlib.markedByUs(bootlib.HOOK_MARK + " 4.0.0"), true);
1158
1158
  check("foreign hook is not ours", bootlib.markedByUs("#!/bin/sh\nnpx lint-staged"), false);
1159
+ check("ci template pins the package", /--package=signoff-cli/.test(require(path.join(__dirname, "..", "lib", "guard.js")).CI_BODY), true);
1160
+ const pkgj = require(path.join(__dirname, "..", "package.json"));
1161
+ const srvj = require(path.join(__dirname, "..", "server.json"));
1162
+ check("server.json tracks the package version", srvj.version === pkgj.version, true);
1163
+ check("server.json package version tracks too", srvj.packages[0].version === pkgj.version, true);
1164
+ check("server.json names the package", srvj.packages[0].identifier === pkgj.name, true);
1159
1165
 
1160
1166
  check("action runs signoff", /run: signoff \$\{\{ inputs.args \}\}/.test(action), true);
1161
1167
  check("integrations doc lists actions", /uses: ayuanxx-max\/dsh-signoff/.test(fs.readFileSync(path.join(__dirname, "..", "docs", "integrations.md"), "utf8")), true);