dsh-plugin-compat-check 0.1.1 → 0.1.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/README.md +6 -4
- package/kernel/lib/version.mjs +1 -1
- package/kernel/rules/README.md +4 -2
- package/package.json +1 -1
- package/skill/SKILL.md +2 -2
package/README.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
检查**已经安装的 DSH 插件**与当前 DSH 版本的兼容性,提供源码位置、运行时证据与覆盖限制。包含兼容性面板、插件详情角标、`compat_check` 对话工具和 skill provider。
|
|
4
4
|
|
|
5
|
-
本文件适用于 **0.1.
|
|
5
|
+
本文件适用于 **0.1.2**。安装指定版本:
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
dsh plugin --profile <profile> add dsh-plugin-compat-check@0.1.
|
|
8
|
+
dsh plugin --profile <profile> add dsh-plugin-compat-check@0.1.2
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## 从源码构建安装
|
|
@@ -20,13 +20,15 @@ dsh plugin --profile <临时profile> add file:<生成的tgz绝对路径>
|
|
|
20
20
|
|
|
21
21
|
prepack复制权威skill、同步单源报告契约的宿主/客户端产物,并暂存共享kernel和MIT LICENSE,postpack清理kernel。固定运行时依赖为 `@babel/parser@7.29.9` 与 `semver@7.7.3`,支持 Node `^22.19.0 || >=24`。源码裸复制或file安装不保证prepack运行,应使用完整仓库开发布局或预打包tarball。
|
|
22
22
|
|
|
23
|
-
npm产物**不带CLI bin、安装检查shell或probe入口**。CLI和安装检查从仓库使用;本插件不能做安装前检查。仓库使用说明:[README](https://github.com/lcy0121/dsh-plugin-compat-check#readme)
|
|
23
|
+
npm产物**不带CLI bin、安装检查shell或probe入口**。CLI和安装检查从仓库使用;本插件不能做安装前检查。仓库使用说明:[README](https://github.com/lcy0121/dsh-plugin-compat-check#readme)。版本说明与发布状态请查看[开发计划与验收记录](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/Plan.md),本地路径为docs/Plan.md。
|
|
24
|
+
|
|
25
|
+
0.1.2修正发布状态文案并统一版本标记;判定算法与0.1.1一致。规则/API目录仍基于0.2.0-rc.2,不把新版接入测试当作全面适配。
|
|
24
26
|
|
|
25
27
|
## 判定与边界
|
|
26
28
|
|
|
27
29
|
当前profile在宿主进程内采样服务描述符,不执行getter;未知访问器保留未知,并纳入能可靠映射的loader FAILED/PENDING。查询其它profile只用静态证据,不借用当前宿主服务。Babel AST扫描不执行目标源码,分析运行在有时间和内存上限的worker中;动态调用和跨函数数据流仍有限。
|
|
28
30
|
|
|
29
|
-
`certainty`为certain或suspected;过滤、守卫、弃权是独立去处。省略的probe键表示未采样,不表示服务缺失。现代观测匹配profile/DSH版本且默认24小时过期;旧报告标记未绑定。声明不能代替API实测,官方peer
|
|
31
|
+
`certainty`为certain或suspected;过滤、守卫、弃权是独立去处。省略的probe键表示未采样,不表示服务缺失。现代观测匹配profile/DSH版本且默认24小时过期;旧报告标记未绑定。声明不能代替API实测,官方peer冲突以推断影响呈现,当前实现仍按0.2.0-rc.2把engines.dsh作建议处理。0.2.1-rc.1宿主已优先按该字段判断,声明有误报/漏报风险,应核对实际宿主结果;本补丁未改判定算法。
|
|
30
32
|
|
|
31
33
|
转述时保留 `impactBasis=inferred`(影响为推断,非实测)、coverage限制和vacuous结果。API发现通常有file:line,loader/元数据发现可能没有源码位置。客户端服务列为待界面核验项;独立浏览器开发工具不属于本面板,且不验证业务交互。
|
|
32
34
|
|
package/kernel/lib/version.mjs
CHANGED
package/kernel/rules/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 严重度规则表与维护
|
|
2
2
|
|
|
3
|
-
适用于0.1.1
|
|
3
|
+
适用于0.1.2,判定算法与0.1.1一致。当前契约见 [Plan现行契约](../docs/Plan.md),验证见 [自动统计](../docs/current-state.json)。本页后半保留2026-10-11旧提取器的规则依据;其中表格不是当前覆盖率,也不是当前运行时真值。
|
|
4
4
|
|
|
5
5
|
## 文件与运行时消费者
|
|
6
6
|
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
严重度由 `lib/verdict.mjs` 的确定性逻辑、缺失证据、方法规则及默认档共同决定,不由LLM决定。方法规则的severity/impact参与判定与输出,layer控制端别:方法自身优先、服务layer回退。summary/basis/evidence/knownGoneIn/needsReview等用于解释与维护;knownExtractionArtifacts是历史反例登记,不是自动过滤黑名单。
|
|
14
14
|
|
|
15
|
+
0.2.1-rc.1宿主改为优先按engines.dsh判断;本版尚未同步该逻辑,已复现声明误报与漏报,规则/API目录也未更新为新版。新版接入验证不代表这些判定已适配,实施顺序见Plan后续。
|
|
16
|
+
|
|
15
17
|
## 当前证据与严重度
|
|
16
18
|
|
|
17
19
|
| 情形 | 处理 |
|
|
@@ -19,7 +21,7 @@
|
|
|
19
21
|
| 可映射loader条目FAILED/PENDING | fatal,影响依据measured;禁用、LOADING、无法映射不冒充同一事实 |
|
|
20
22
|
| 宿主硬依赖且明确absent | 可判fatal;仅catalog缺项不冒充运行时缺失 |
|
|
21
23
|
| 非硬依赖服务明确absent,或有足够方法证据 | 按规则/默认档给feature-dead或degraded;用户影响通常是inferred |
|
|
22
|
-
| 官方peer范围冲突 | declared-incompatible,degraded
|
|
24
|
+
| 官方peer范围冲突 | declared-incompatible,degraded及推断影响;不是实测加载失败;当前内核沿用0.2.0-rc.2,将engines.dsh作建议处理 |
|
|
23
25
|
| 未采样、读取失败、访问器未知、源码不完整 | 保留覆盖限制;不以省略键认定不存在 |
|
|
24
26
|
|
|
25
27
|
方法规则中的degraded应有具体降级/回退依据;peer声明冲突的degraded是引擎针对声明风险的独立默认,不代表观察到回退。方法缺失但没有语义规则时会明确“影响面未知”。声明provide只是候选提供方,不证明已激活,不能遮住完整的present方法观测。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-compat-check",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Checks installed DSH plugins against the current DSH version, with source locations, runtime evidence and coverage limits. Includes a compatibility panel and agent tool.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/skill/SKILL.md
CHANGED
|
@@ -63,7 +63,7 @@ node <repo>/bin/compat-check.mjs --nm ~/.dsh/profiles/<profile> --no-baseline
|
|
|
63
63
|
插件数: 4 有运行时面: 是
|
|
64
64
|
|
|
65
65
|
采样说明: 旧格式探针未绑定 profile/DSH 版本;仅使用显式记录的服务,不推断缺项
|
|
66
|
-
工具版本: 0.1.
|
|
66
|
+
工具版本: 0.1.2 证据覆盖有限: 4 个插件
|
|
67
67
|
结论: 可用 3 部分可用 1 不兼容 0 (其中 1 个「可用」是空洞的:它没有任何可检查的依赖)
|
|
68
68
|
|
|
69
69
|
部分可用 dsh-keep-awake@0.2.0
|
|
@@ -147,4 +147,4 @@ CI 里可以直接用:`0` 过,`1`/`2` 按你的策略处理,`3` 是**工
|
|
|
147
147
|
|
|
148
148
|
0.1.1:`root` 缺项是未采样,不能称为不存在;`coverage.status=limited` 与 `vacuous` 必须转述。现代探针绑定 profile/DSH/采样时间;旧报告明确标为未绑定。解析、读取、资源上限等诊断会限制覆盖,完整性不足不更新基线。当前统计见仓库 `docs/current-state.json`;npm 包是插件,CLI 从仓库使用并先运行 `npm ci --ignore-scripts`。显式安装检查会执行目标插件,临时 profile 不是不可信代码隔离沙箱。
|
|
149
149
|
|
|
150
|
-
官方 peer 范围冲突是 declared-incompatible
|
|
150
|
+
官方 peer 范围冲突是 declared-incompatible:影响为推断,不能凭声明写成实际加载失败;当前实现沿用DSH0.2.0-rc.2的声明规则,将engines.dsh作建议处理;0.2.1-rc.1宿主已优先按engines.dsh判断,存在声明误报/漏报风险,须说明该限制并核对宿主实际结果,不能称新版已全面适配。当前契约、施工记录和后续计划统一见仓库 docs/Plan.md,原始审计位于 docs/GPT审计及重构方案文档.md。本地版本以仓库文件为准;发布受理不等于公开可安装,公开版本以npm registry实时结果为准;本地修订不能视为已在公开包生效。
|