dsh-primer 0.4.3 → 0.4.4

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/README.md CHANGED
@@ -366,10 +366,10 @@ This project is part of the DeepSeek Harness plugin family from [PerryLink](http
366
366
  | **[dsh-aqua-input-check](https://github.com/PerryLink/dsh-aqua-input-check)** | |
367
367
  | **[dsh-archive-check](https://github.com/PerryLink/dsh-archive-check)** | |
368
368
  | **[dsh-auto-review](https://github.com/PerryLink/dsh-auto-review)** | |
369
- | **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | |
369
+ | **[dsh-autotier](https://github.com/PerryLink/dsh-autotier)** | 🧊 FROZEN — see the repo README |
370
370
  | **[dsh-bid-ca-precheck](https://github.com/PerryLink/dsh-bid-ca-precheck)** | |
371
371
  | **[dsh-bid-qual-check](https://github.com/PerryLink/dsh-bid-qual-check)** | |
372
- | **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | |
372
+ | **[dsh-cert-mcp](https://github.com/PerryLink/dsh-cert-mcp)** | 🧊 FROZEN — see the repo README |
373
373
  | **[dsh-checkpoint-rewind](https://github.com/PerryLink/dsh-checkpoint-rewind)** | |
374
374
  | **[dsh-click](https://github.com/PerryLink/dsh-click)** | |
375
375
  | **[dsh-composer-history](https://github.com/PerryLink/dsh-composer-history)** | |
@@ -898,12 +898,13 @@ function checkManifestEngines(_root, pkg) {
898
898
  };
899
899
  const has22 = /\b22\b/.test(node);
900
900
  const has24 = /\b24\b/.test(node);
901
- if (!has22 || !has24) return {
901
+ const modernOnly = /^(>=\s*|\^|~)?\s*24(\.|$|\s)/.test(node.trim());
902
+ if (!has24 || !has22 && !modernOnly) return {
902
903
  id: "manifest-engines",
903
904
  severity: "error",
904
905
  kind: "deterministic",
905
906
  status: "fail",
906
- message: `engines.node "${node}" should allow Node 22 and 24 (^22.19.0 || >=24.0.0)`,
907
+ message: `engines.node "${node}" must cover Node 24; drop Node 22 only with a range that starts at 24 (e.g. ">=24.9.0")`,
907
908
  skillRef: ref
908
909
  };
909
910
  return {
@@ -70,7 +70,7 @@
70
70
  | `R3` | `cordis.patch.yml` 结构(启发式):存在、解析为顶层 YAML **数组**;空数组合法;非空必须含 `- insert:` 与 ≥1 个 `id:`;每个 `name:` 等于或命名空间在包名之下 | skip · fail · pass | 否 |
71
71
  | `R4` | 入口契约:`main`/`exports` 入口存在且同时导出 `apply` 与 `name`;`inject` 是字符串字面量数组 | fail · warn · pass · skip | 否 |
72
72
  | `R5` | 依赖策略:① 任何位置不许裸 `cordis`/`schemastery`;② 导入的 `@deepseek-ai/cordis` 必须被声明;③ 它必须在 `peerDependencies` **和** `devDependencies`,**绝不** `dependencies`;④ `@deepseek-ai/dsh` 不得是直接 `dependencies` | fail · pass · skip | 否(`policy`) |
73
- | `R6` | `engines.node` 兼容 `^22.19.0 \|\| >=24.0.0`(只声明 Node 23 会失败) | fail · warn · pass | 否 |
73
+ | `R6` | `engines.node` 覆盖 Node 24;`^22.19.0 \|\| >=24.0.0` 或(跟随 dsh 0.2.2-alpha.3 起)`>=24.9.0` 均可,只声明 Node 23 会失败 | fail · warn · pass | 否 |
74
74
  | `R7` | `files` 白名单已声明且覆盖入口 + patch;需要构建时入口不得指向源码 | fail · pass | 否 |
75
75
  | `R8` | 不得有指向已被取代的预发布线的陈旧 peer 范围(`0.1.0-rc.*`、`0.1.1-rc.*`、`0.1.2-alpha.*`、`0.1.3-alpha.*`),也不得有开顶 `>=` 范围 | skip · fail · warn · pass | 否(`policy`;"报告**陈旧**,不是**损坏**") |
76
76
 
@@ -23,7 +23,7 @@
23
23
  | npm `alpha` / `next` | `alpha`=`0.2.1-alpha.2`、`next`=`0.2.0-rc.2` |
24
24
  | 是否存在稳定版 | **否**。全部 31 个 npm 版本都是 `-alpha.N`/`-rc.N`,全部 26 个 GitHub Release 都是 `prerelease: true` |
25
25
  | 区间内发布线(9 个) | `0.1.6-alpha.2`(09-17) → `0.1.7-alpha.1`(09-22) → `0.1.5-rc.3`(09-22) → `0.1.7-alpha.2`(09-22) → `0.1.7-rc.1`(09-23) → `0.1.7-rc.2`(09-24) → `0.2.0-rc.1`(09-28) → `0.2.0-rc.2`(09-29) → `0.2.1-alpha.1`(10-03) |
26
- | Node 门槛 | `^22.19.0 \|\| >=24.0.0`,**区间内未变**(无 `.nvmrc`/`.node-version` 文件) |
26
+ | Node 门槛 | `^22.19.0 \|\| >=24.0.0`;跟随 dsh 0.2.2-alpha.3 的包可用 `>=24.9.0`(无 `.nvmrc`/`.node-version` 文件) |
27
27
  | `dsh.version` 字段 | **不存在**。DSH 的包清单只有 `dsh.bundle` / `dsh.profile` / `dsh.client` 三组键 |
28
28
  | 官方发布说明在哪 | 仓库里**没有 `CHANGELOG.md`**、也没有 `docs/persistence-changes/releases/*` 新条目,所以逐版本说明只在 GitHub **Releases** 的 body 里(`gh release view <tag>` 或 Releases API)。本文件的每一条都对照过 tag `dsh-v0.1.7-alpha.1` / `dsh-v0.2.0-rc.2` / `dsh-v0.2.1-alpha.1` 的发布说明 |
29
29
 
@@ -70,7 +70,7 @@ G0–G2 and G4 pass in static inspection, which supports `recognized`; `runtime`
70
70
 
71
71
  **What it does not claim.** Security, UI correctness, production readiness, full feature correctness, official endorsement, or that the plugin will work on an untested DSH line.
72
72
 
73
- **How to self-check.** Record `dsh --version`, the host commit, and the artifact mtime. Run `dsh-plugin-dev check --json` for the 16 local static checks (a subset of `dsh-plugin-doctor`'s 33 — see [family-toolchain.md](family-toolchain.md)), then the standards repo's entry checker (commands below). For bundles, also run `dsh --profile <name> --dump-config` and look for `patch: entry <id> not found`, then boot and read the row states. Write the claim as `DSH-ENTRY: runtime (dsh 0.2.1-rc.2, commit <sha>, 2026-11-01)`.
73
+ **How to self-check.** Record `dsh --version`, the host commit, and the artifact mtime. Run `dsh-plugin-dev check --json` for the 16 local static checks (a subset of `dsh-plugin-doctor`'s 33 — see [family-toolchain.md](family-toolchain.md)), then the standards repo's entry checker (commands below). For bundles, also run `dsh --profile <name> --dump-config` and look for `patch: entry <id> not found`, then boot and read the row states. Write the claim as `DSH-ENTRY: runtime (dsh 0.2.2-alpha.3, commit <sha>, 2026-11-04); Node >=24.9`.
74
74
 
75
75
  ## DSH-FLOW: adoption experience
76
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-primer",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "description": "DSH plugin development as an on-demand agent skill: official docs mirror, version-compatibility matrix, migration seams, measured pitfalls, plus a scaffolder, checker and pack verifier CLI.",
5
5
  "type": "module",
6
6
  "main": "index.js",