dsh-request-doctor 0.16.7 → 0.16.9

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
4
  **产品标识**:request-doctor
5
- **版本**:0.16.7
5
+ **版本**:0.16.9
6
6
 
7
7
  ---
8
8
 
@@ -1,7 +1,7 @@
1
1
  # 软件设计说明
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
- **版本**:0.16.7
4
+ **版本**:0.16.9
5
5
  **编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.2
6
6
 
7
7
  ---
@@ -1,7 +1,7 @@
1
1
  # 软件测试报告
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
- **版本**:0.16.7
4
+ **版本**:0.16.9
5
5
  **编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.6;GB/T 8566-2007 验证与确认过程
6
6
 
7
7
  ---
@@ -62,6 +62,7 @@
62
62
  | `test/client-half.test.mjs` | 11 | 客户端半:模块身份、注入声明、apply 注册、组件能渲染 |
63
63
  | `test/diagnostics.test.mjs` | 3 | 快照可选写入:不配置不写盘、突发合并、坏路径不致命 |
64
64
  | `test/restart-notice.test.mjs` | 3 |
65
+ | `test/retry-contract.test.mjs` | 3 | 修复后的交接:回 retry 给下游、账本记账、下游已重试时不插手 |
65
66
  | `test/plugin-discovery.test.mjs` | 6 | 插件目录扫描:普通/作用域包、隐藏项跳过、缺 node_modules、条目解析 |
66
67
  | `test/repair-strategies.test.mjs` | 4 | 按策略本地修复:凭据刷新、历史落盘失败不致命、无服务不报错 |
67
68
  | `test/write-timing.test.mjs` | 3 | 写盘时序:合并窗口内手动写仍是最新、多次记录只排一个写 |
@@ -82,7 +83,7 @@
82
83
  | `test/verdict-report.test.mjs` | 29 | why 与 list:判定、理由、环境摘要、自动扫描、分组、缺口、按形态给建议 |
83
84
  | `test/restart-notice.test.mjs` | 3 | 缺导出判为需要重启;其它失败不误判;多次累积不覆盖 |
84
85
  | `test/symbol-alias.test.mjs` | 6 | 符号别名:同义导出能对上,缺失时不伪造 |
85
- | **合计** | **275** | **全部通过** |
86
+ | **合计** | **278** | **全部通过** |
86
87
 
87
88
  执行结果:
88
89
 
@@ -236,7 +237,7 @@
236
237
 
237
238
  ### 7.2 分文件执行结果
238
239
 
239
- 47 个测试文件逐个单独执行,每个都有用例且全部通过,不存在因导入失败而静默跳过的文件。用例数分布:compat.test.mjs 17、plugin.test.mjs 15、compat-env.test.mjs 14、classify.test.mjs 13,其余按职能分散,合计 275。
240
+ 48 个测试文件逐个单独执行,每个都有用例且全部通过,不存在因导入失败而静默跳过的文件。用例数分布:compat.test.mjs 17、plugin.test.mjs 15、compat-env.test.mjs 14、classify.test.mjs 13,其余按职能分散,合计 278。
240
241
  ## 8 覆盖率实测
241
242
 
242
243
  用 Node 自带的 `--experimental-test-coverage` 跑一遍,作为「分支有没有被真的走一遍」的证据。这不替代对断言质量的判断,只说明哪些代码从未被执行。
@@ -247,4 +248,37 @@ all files 行 85.76% 分支 77.28% 函数 86.90%
247
248
 
248
249
  分支覆盖率最低的两个模块是 `plugin-discovery.js`(55.38%)与 `version-repair.js`(47.47%)。它们的未覆盖部分集中在真实文件系统与插件管理器的交互上,需要构造更完整的替身才能走到,本轮未做。
249
250
 
250
- `install-bundle.js` 原本只有 41.21% 行覆盖,`installRemoteBundle` 整块没人测。补上它的两条前置拒绝(非注册表名、缺 profile)之后升到 56.28%,其余部分需要真实访问 npm registry,不适合放进单测。
251
+ `install-bundle.js` 原本只有 41.21% 行覆盖,`installRemoteBundle` 整块没人测。补上它的两条前置拒绝(非注册表名、缺 profile)之后升到 56.28%,其余部分需要真实访问 npm registry,不适合放进单测。
252
+
253
+ ## 9 验证边界与已知限制
254
+
255
+ 下面这些内容**没有被验证**,或只验证了一半。写在这里是为了让人知道哪些结论可以直接采信,
256
+ 哪些还需要在真实环境里观察,而不是默认「测试全绿 = 全都验证过了」。
257
+
258
+ ### 9.1 只能验证到一半的
259
+
260
+ | 事项 | 验证到了 | 没验证 |
261
+ | --- | --- | --- |
262
+ | 失败修复后的重试 | 修复执行、账本记账、向下游回 `{ kind: 'retry' }` | 下游收到之后是否真的重发了请求——那在 DSH 内核里,插件侧观测不到 |
263
+ | 凭据 / 模型目录刷新 | 刷新被调用、provider 参数正确、服务抛错不致命 | 刷新之后对应失败是否真的消失——需要真实凭据层与模型服务 |
264
+ | 界面渲染 | React 服务端渲染出预期节点(输入框、按钮、判定行) | 真实浏览器里的视觉呈现与交互——测试环境无浏览器桥 |
265
+ | 兼容环境的实际效果 | 声明已对齐、所需符号确实由旧版本提供、符号核对通过 | 插件在运行时里是否真的工作正常——`dsh-hyper-tools` 走 typert remote,不出现在工具列表里 |
266
+
267
+ ### 9.2 完全没有覆盖的
268
+
269
+ - `installRemoteBundle` 的网络部分(取元数据、下载 tarball):`REGISTRY` 是硬编码常量,无法注入本地源。只覆盖了联网前的两道拒绝。
270
+ - `plugin-discovery.js` 的 `scanOne` 内部多级判定:需要同时构造「已启用但加载失败的插件 + 完整 probe + 兼容环境」,属于集成测试范畴。
271
+ - `version-repair.js` 中与真实插件管理器交互的路径:同理。
272
+
273
+ ### 9.3 不处理的情况(设计选择,非缺陷)
274
+
275
+ - **TLS 证书失败**:重试不会让证书变可信,因此不重试,只给出处理建议。
276
+ - **本机权限 / 路径 / 磁盘满**:重试一万次也不会变,因此不重试,只给出处理建议。
277
+ - **配额 / 限流 / 内容策略**:属于服务方状态,插件不处置。
278
+ - **运行时已删除的 API**:不伪造实现。找不到旧版本就如实报告缺哪个符号。
279
+
280
+ ### 9.4 关于「测试全绿」
281
+
282
+ 当前 278 条用例覆盖的是插件自己的逻辑:分类、判定、记账、拼装输出、写盘与恢复。
283
+ 凡涉及 DSH 内核、真实网络、真实浏览器、真实第三方服务的行为,都在上面列明了边界。
284
+ 把有限验证说成全验证,比不做验证更危险。
@@ -1,7 +1,7 @@
1
1
  # 软件安装部署说明
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
- **版本**:0.16.7
4
+ **版本**:0.16.9
5
5
  **编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.7
6
6
 
7
7
  ---
@@ -1,7 +1,7 @@
1
1
  # 软件用户手册
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
- **版本**:0.16.7
4
+ **版本**:0.16.9
5
5
  **编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.5
6
6
 
7
7
  ---
@@ -1,7 +1,7 @@
1
1
  # 软件质量度量报告
2
2
 
3
3
  **产品名称**:request-doctor(请求急救员)
4
- **版本**:0.16.7
4
+ **版本**:0.16.9
5
5
  **度量标准**:GB/T 45717-2025《信息技术 软件测量 软件质量测量 自动化的源代码质量测度》
6
6
  **度量工具**:`tools/quality-measure.mjs`(本仓库自带,可复现)
7
7
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "standard": "GB/T 45717-2025 信息技术 软件测量 软件质量测量 自动化的源代码质量测度",
3
- "generatedAt": "2026-10-29T17:24:06.177Z",
3
+ "generatedAt": "2026-10-29T17:28:02.655Z",
4
4
  "scope": {
5
5
  "files": 41,
6
6
  "totalLines": 5538,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-request-doctor",
3
- "version": "0.16.7",
3
+ "version": "0.16.9",
4
4
  "description": "自动修复客户端引起的请求失败,并让版本不匹配的 DSH 插件能装上、能跑起来。",
5
5
  "keywords": [
6
6
  "dsh-plugin",