dsh-plugin-compat-check 0.1.3 → 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/README.md +36 -20
- package/THIRD_PARTY_NOTICES.md +139 -0
- package/index.js +288 -55
- package/kernel/lib/author-ci-output.mjs +188 -0
- package/kernel/lib/author-ci-policy.mjs +285 -0
- package/kernel/lib/catalog.mjs +38 -0
- package/kernel/lib/contracts.mjs +88 -0
- package/kernel/lib/dependency-graph.mjs +650 -0
- package/kernel/lib/extract.mjs +14 -0
- package/kernel/lib/finding-guidance.mjs +72 -0
- package/kernel/lib/finding-review-store.mjs +245 -0
- package/kernel/lib/finding-review.mjs +338 -0
- package/kernel/lib/functional-health-contract.mjs +337 -0
- package/kernel/lib/issue-report.mjs +217 -0
- package/kernel/lib/observation.mjs +19 -9
- package/kernel/lib/owned-process.mjs +287 -0
- package/kernel/lib/report-identity-worker.mjs +153 -0
- package/kernel/lib/report-identity.mjs +15 -0
- package/kernel/lib/report-service.mjs +196 -11
- package/kernel/lib/report.mjs +76 -11
- package/kernel/lib/source-analysis.mjs +24 -6
- package/kernel/lib/upgrade-capture-worker.mjs +20 -0
- package/kernel/lib/upgrade-cleanup-worker.mjs +28 -0
- package/kernel/lib/upgrade-contract.mjs +471 -0
- package/kernel/lib/upgrade-input.mjs +309 -0
- package/kernel/lib/upgrade-preview.mjs +256 -0
- package/kernel/lib/upgrade-worker.mjs +50 -0
- package/kernel/lib/verdict.mjs +8 -1
- package/kernel/lib/version.mjs +1 -1
- package/kernel/lib/worker-analysis.mjs +16 -1
- package/kernel/lib/workflow-panels.mjs +706 -0
- package/kernel/rules/README.md +8 -6
- package/lib/client.js +2974 -69
- package/lib/dependency-graph.js +651 -0
- package/lib/finding-guidance.js +73 -0
- package/lib/finding-review.js +339 -0
- package/lib/functional-health-contract.js +338 -0
- package/lib/report-contract.js +88 -0
- package/lib/upgrade-contract.js +472 -0
- package/lib/workflow-panels.js +707 -0
- package/package.json +5 -3
- package/scripts/prepublish-check.mjs +28 -13
- package/scripts/stage-contract.mjs +91 -29
- package/scripts/stage-kernel.mjs +4 -3
- package/skill/SKILL.md +92 -39
package/kernel/rules/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# 严重度规则表与维护
|
|
2
2
|
|
|
3
|
-
适用于0.1.
|
|
3
|
+
适用于0.1.5;公开版本以registry和Plan发布记录为准。当前契约见 [Plan](../docs/Plan.md),验证见 [自动统计](../docs/current-state.json)。后半保留2026-10-11旧提取器的依据,历史表不是当前覆盖率或运行时真值。
|
|
4
4
|
|
|
5
5
|
## 文件与运行时消费者
|
|
6
6
|
|
|
7
7
|
| 文件 | 用途 |
|
|
8
8
|
|---|---|
|
|
9
9
|
| severity.json | 方法严重度/影响文案;引擎读取services下的方法规则,并与代码内默认档合用 |
|
|
10
|
-
| dsh-api-catalog.json / dsh-api-catalog-0.2.1-rc.2.json | 原0.2.0-rc.2(host91/client8)与新rc.2(host98/client8
|
|
10
|
+
| dsh-api-catalog.json / dsh-api-catalog-0.2.1-rc.2.json | 原0.2.0-rc.2(host91/client8)与新rc.2(host98/client8)契约快照;普通体检对DSH≥0.2.1-rc.2选新目录,其余/未知选旧目录,CLI显式覆盖优先;升级预检只接受这两个精确版本并拒绝未知版本,未来环境未认证 |
|
|
11
11
|
| usage-inventory.json | 带日期/版本/profile及完整性标记的AST库存快照;由coverage显式刷新,不保证与后续提取器重扫同数 |
|
|
12
12
|
|
|
13
13
|
严重度由 `lib/verdict.mjs` 的确定性逻辑、缺失证据、方法规则及默认档共同决定,不由LLM决定。方法规则的severity/impact参与判定与输出,layer控制端别:方法自身优先、服务layer回退。summary/basis/evidence/knownGoneIn/needsReview等用于解释与维护;knownExtractionArtifacts是历史反例登记,不是自动过滤黑名单。
|
|
@@ -28,11 +28,13 @@
|
|
|
28
28
|
|
|
29
29
|
宿主、客户端及shared调用点必须分开。客户端方法不能拿宿主probe判缺失;同名服务也不保证同一语义。对源码归属不确定的Context/别名保留suspected。certainty与impactBasis分别表达证据强度和影响是否实测。
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
0.1.4补强:必需inject未观测保持degraded/suspected,仅提示激活前提未确认;同profile明确absent才推断激活障碍,optional/scoped依赖与方法缺失分别处理,不借业务答案调严重度。`--observe-services`另记服务预测身份/摘要,不覆盖静态FN,也不改变生产certainty或impactBasis。
|
|
32
|
+
|
|
33
|
+
仓库独立业务队列将手审的功能调用区间内API风险与真实市场操作、侧栏HTTP/编辑器及有限模型回复结果对照,保持业务、loader标签及预测隔离;不把整个插件的其它发现挪给本功能。正常/自然失败与HTTP503/控件缺失故障组分别计分,限定样本不能改变生产报告中的certainty或impactBasis,也不是新增严重度规则的充分证据。复现见[使用指南](../docs/guide.md#工程与真实集成)。
|
|
32
34
|
|
|
33
35
|
## 如何更新
|
|
34
36
|
|
|
35
|
-
ASAR读取器已修正数据起点为8+headerSize,并校验头长、边界、完整读取、UTF-8/JSON及归档SHA256。2026-10-18与Electron原生ASAR读取逐字节及首尾交叉校验后生成独立rc.2目录,旧目录未改。新host增加8项、移除invariants;subagents移除start/startContinuable/drainContinuableChildren/drainContinuableDescendants,增加startActivation/drainChildren/drainDescendants/waitForChildren
|
|
37
|
+
ASAR读取器已修正数据起点为8+headerSize,并校验头长、边界、完整读取、UTF-8/JSON及归档SHA256。2026-10-18与Electron原生ASAR读取逐字节及首尾交叉校验后生成独立rc.2目录,旧目录未改。新host增加8项、移除invariants;subagents移除start/startContinuable/drainContinuableChildren/drainContinuableDescendants,增加startActivation/drainChildren/drainDescendants/waitForChildren;其它方法差异和源摘要保留在提交`10eaeba`的`docs/current-state.json`历史记录;当前认证字节见`lib/contracts.mjs`的`CATALOG_REFERENCES`,新候选按[维护流程](../docs/maintaining.md#api目录候选审查)核对。client方法集合未变。旧方法规则保留其原调用语义;不把新方法当同义重命名,也不只凭目录变化新增严重度,未知影响继续回退。
|
|
36
38
|
|
|
37
39
|
先读调用点和目标版本的真实描述符/官方源码,再修改规则,添加行为回归并审查快照差异。原needsReview已在2026-10-15逐条复核,决定与证据保留于severity.json的needsReview.reviewed/evidence及 [Plan](../docs/Plan.md)。
|
|
38
40
|
|
|
@@ -187,7 +189,7 @@ node tools/coverage.mjs --probe <报告> --write # 顺带刷新 rule
|
|
|
187
189
|
|
|
188
190
|
### F. 提取器已正确处理,无需规则(1 个)
|
|
189
191
|
|
|
190
|
-
`betterSidebar` —— 它是插件自己 `ctx.provide()` 出来的服务,**提取器已正确记入 `providedServices`**(同类的还有 dshmarket 的 `market`),因此不会产生假缺口。`pet` / `agentTeams` / `companionQq` / `betterLocale` 这些**没有**被 `ctx.provide()` 捕获的(见 `docs/Plan.md` §2.
|
|
192
|
+
`betterSidebar` —— 它是插件自己 `ctx.provide()` 出来的服务,**提取器已正确记入 `providedServices`**(同类的还有 dshmarket 的 `market`),因此不会产生假缺口。`pet` / `agentTeams` / `companionQq` / `betterLocale` 这些**没有**被 `ctx.provide()` 捕获的(见 `docs/Plan.md` §2.2 的提供方证据约束),就落进了上面 A 组。
|
|
191
193
|
|
|
192
194
|
## 历史补充:已知提取误报
|
|
193
195
|
|
|
@@ -202,7 +204,7 @@ node tools/coverage.mjs --probe <报告> --write # 顺带刷新 rule
|
|
|
202
204
|
|
|
203
205
|
## 历史待复核登记(2026-10-11;现已按上文处理)
|
|
204
206
|
|
|
205
|
-
|
|
207
|
+
改这些条目会改变输出,按当时的维护约定应先摊开差异再决定,故仅登记证据。以下保留当时的疑问;当前处理决定在needsReview.reviewed中:
|
|
206
208
|
|
|
207
209
|
- `sessions.open` / `sessions.getSnapshot`:两个目录里都没有;客户端真正的跳转入口是 `uiWorkspace.openSession`。
|
|
208
210
|
- `sessions.refresh`:两个目录里都没有(客户端目录里的是 `refreshProjections`)。
|