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 +16 -0
- package/lib/guard.js +2 -2
- package/package.json +3 -2
- package/test/selftest.js +6 -0
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.
|
|
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);
|