@mengyuly/dsh-ponytail 0.1.4 → 0.1.5

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
@@ -3,6 +3,49 @@
3
3
  All notable changes to `@mengyuly/dsh-ponytail` are documented here.
4
4
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
+ ## [0.1.5] - 2026-08-24
7
+
8
+ ### Fixed
9
+
10
+ - Windows 下验证脚本无法启动 `npm.cmd`:`spawnSync('npm', …)` 在 Windows 上对
11
+ `.cmd` 无效(`status === null`)。现在统一走 `process.execPath + npm_execpath`
12
+ (npm script 环境内为 npm 自身 CLI,跨平台可靠),并在 `npm_execpath` 缺失或
13
+ 指向其他包管理器(pnpm/yarn/bun shim)时回退到 `npm`/`npm.cmd`。
14
+ - `spawnSync` 启动失败时错误信息丢失:统一 `formatSpawnFailure` 输出 command、
15
+ args、cwd、status、signal、`result.error.message`、stdout/stderr 尾部
16
+ (各 4KB 上限);`status === null` 明确判为启动失败或被信号终止,不再显示为
17
+ 普通退出码。
18
+ - `verify-dist` 不再有未定义 `existsSync` 的潜伏分支:改为**直接拒绝**任何
19
+ `sourceMappingURL`(与 v0.1.4 起 `declarationMap: false` 的发布策略一致),
20
+ 并新增回归测试证明声明文件重现 source map 时验证会明确失败。
21
+ - 删除 CI 中 checkout 后立即执行的无效 `git diff --exit-code -- lib` 步骤
22
+ (工作区天然干净,证明不了任何事);防漂移表述与真实能力对齐。
23
+
24
+ ### Changed
25
+
26
+ - `verify-pack` / `test-consumer` 共用 `scripts/lib/run-command.mjs` 跨平台进程
27
+ 工具,不再各自维护一套 `spawnSync('npm', …)`。
28
+ - `verify-pack` 如实报告实际安装的依赖(npm 会解析全部声明 peers,包括宿主
29
+ 契约 peers;bundle 运行时只 import `@deepseek-ai/cordis` 由独立外链检查证明)。
30
+ - CI 增加 Windows Runner(`windows-latest` + `ubuntu-latest` 矩阵,Node 24,
31
+ 不允许跳过或 continue-on-error)。
32
+ - `sync:dist` 生成 `dist-provenance.json`:`sourceCommit` 来自权威 checkout 的
33
+ `git rev-parse HEAD`(真实 SHA,不手工填写),工具链版本取自 checkout 的
34
+ node_modules,不含本机绝对路径;`verify:dist` 校验其格式。
35
+ - tarball 现在包含 `dist-provenance.json`。
36
+ - 产物一致性检查命名与真实能力一致:`verify:dist` 是静态一致性检查(src/d.ts
37
+ 导出、关键签名、主入口运行时导出、无 source map、provenance),不是与权威
38
+ 构建的字节级等价证明。
39
+
40
+ ### Tests
41
+
42
+ - Ubuntu:verify:dist / verify:pack / test:consumer / test:regressions 全部通过。
43
+ - Windows:CI 矩阵真实执行 verify:dist / verify:pack / test:consumer。
44
+ - npm tarball smoke(仅声明依赖安装后加载)。
45
+ - NodeNext + skipLibCheck:false consumer。
46
+ - 子进程启动失败诊断回归测试。
47
+ - declaration source map 回归测试。
48
+
6
49
  ## [0.1.4] - 2026-08-24
7
50
 
8
51
  ### Fixed
package/README.md CHANGED
@@ -62,8 +62,8 @@ dsh plugin --profile web add @mengyuly/dsh-ponytail
62
62
 
63
63
  ## 测试环境与权威关系
64
64
 
65
- - Node.js **v24.16.0** 在本机 deepseek-harness checkout 上测试(`tsc -b` + `tsdown` host 构建通过)。与之精确匹配的已发布 DSH/Cordis 版本**待确认**——checkout 是预发布工作树,非发布 tag。
66
- - 权威源码在 deepseek-harness monorepo 的 `packages/community/ponytail`(`@deepseek-ai/dsh-ponytail`);本仓库(`@mengyuly/dsh-ponytail`)是**发行镜像**:随包附构建产物,`scripts/build.sh` 只做源码类型检查,不是独立真源。
65
+ - 本机(Linux,Node.js **v24.16.0**,deepseek-harness checkout 构建)与 CI 矩阵(**ubuntu-latest + windows-latest**,Node 24)上验证通过。与之精确匹配的已发布 DSH/Cordis 版本**待确认**——checkout 是预发布工作树,非发布 tag。
66
+ - 权威源码在 deepseek-harness monorepo 的 `packages/community/ponytail`(`@deepseek-ai/dsh-ponytail`);本仓库(`@mengyuly/dsh-ponytail`)是**发行镜像**:随包附构建产物,不是独立真源。
67
67
 
68
68
  ## 发行维护
69
69
 
@@ -72,14 +72,17 @@ dsh plugin --profile web add @mengyuly/dsh-ponytail
72
72
  ```bash
73
73
  DSH_CHECKOUT=/path/to/deepseek-harness npm run sync:dist
74
74
  ```
75
- 该命令在权威 checkout 中重建(`tsc` 生成声明 + `tsdown` 打包运行时),同步 `lib/index.js`、`lib/invariant.js`、`lib/types/*.d.ts`,并自动执行一致性校验;`lib/` 有变化时会提示提交。
76
- - **验证命令**:
75
+ 该命令在权威 checkout 中重建(`tsc` 生成声明 + `tsdown` 打包运行时),同步 `lib/index.js`、`lib/invariant.js`、`lib/types/*.d.ts`,生成 `dist-provenance.json`(记录权威 checkout 的真实 commit SHA 与工具链版本),并自动执行一致性校验;产物有变化时会提示提交。**完整构建一致性由本命令在发布流程中完成——发行镜像 CI 不会重新构建权威 monorepo。**
76
+ - **验证命令**(Linux / Windows 通用,跨平台进程调用见 `scripts/lib/run-command.mjs`):
77
77
  ```bash
78
- npm run verify:dist # 声明↔src↔运行时导出一致性、关键签名、无悬空 source map
79
- npm run verify:pack # tarball 内容、版本一致、仅 peer 安装后 smoke
78
+ npm run verify:dist # 静态一致性:src/d.ts 导出一致、关键签名、主入口运行时导出、无 source map、provenance 合法
79
+ npm run verify:pack # tarball 内容/版本、安装后 smoke(如实报告实际安装的依赖)
80
80
  npm run test:consumer # NodeNext + skipLibCheck:false 的声明消费测试(对打包产物)
81
+ npm run test:regressions # 验证工具自身的回归测试(source map 策略、provenance、spawn 诊断)
81
82
  ```
82
- - CI 对已提交产物执行上述全部校验;src 新增导出而 d.ts 未同步、或产物漂移都会失败。
83
+ - **CI 能力边界(如实)**:CI(ubuntu + windows 矩阵)执行上述静态验证与打包/消费测试,但**不重新构建权威 monorepo**;`verify:dist` 是导出表面/签名/运行时导出的一致性检查,**不是**与权威构建的字节级等价证明——后者由 `sync:dist` 在发布流程中保证。
84
+ - `dist-provenance.json` 随 npm 包发布,便于审计构建来源。
85
+ - 本机验证时若 `npm_execpath` 指向其他包管理器(如 pnpm/yarn shim),脚本会自动回退到 PATH 上的 `npm`;临时目录失败时保留需设 `PONYTAIL_VERIFY_KEEP_TEMP=1`。
83
86
 
84
87
  ## 许可
85
88
 
@@ -0,0 +1,10 @@
1
+ {
2
+ "sourceRepository": "https://github.com/deepseek-ai/deepseek-harness.git",
3
+ "sourceCommit": "b150a551b8d465e31e418e1b2eaf5e79bbb7d28e",
4
+ "sourcePackage": "packages/community/ponytail",
5
+ "generatedBy": {
6
+ "node": "v24.16.0",
7
+ "typescript": "6.0.3",
8
+ "tsdown": "0.22.2"
9
+ }
10
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mengyuly/dsh-ponytail",
3
3
  "description": "Lazy senior dev mode for DeepSeek Harness: always-on minimal-code ruleset, intensity switching, and short review/audit/debt/gain/help skills",
4
- "version": "0.1.4",
4
+ "version": "0.1.5",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -25,6 +25,7 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "files": [
28
+ "dist-provenance.json",
28
29
  "CHANGELOG.md",
29
30
  "lib/index.js",
30
31
  "lib/invariant.js",
@@ -49,6 +50,7 @@
49
50
  "sync:dist": "node scripts/sync-dist.mjs",
50
51
  "verify:dist": "node scripts/verify-dist.mjs",
51
52
  "verify:pack": "node scripts/verify-pack.mjs",
52
- "test:consumer": "node scripts/test-consumer.mjs"
53
+ "test:consumer": "node scripts/test-consumer.mjs",
54
+ "test:regressions": "node scripts/test-regressions.mjs"
53
55
  }
54
56
  }