@perrylink/dsh-plugin-doctor 0.1.6 → 0.1.7
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 +6 -0
- package/README.md +6 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.7
|
|
4
|
+
|
|
5
|
+
- **Gate form migration (family CI)**: the 36 plugin repos' `plugin-doctor.yml` no longer carries the `\u`-escaped `DOCTOR_ONLY` environment variable; the gate now runs `npx --yes @perrylink/dsh-plugin-doctor@0.1.6 --repo . --no-smoke --only "R,K"` directly, so the whole step is plain ASCII and self-explanatory. The R0/K1 self-check and the JSON gate (R2/R4 reported but gated by each repo's `ci.yml`) are unchanged. Rolled out canary-first (`gated 16 checks; build-dependent: R2=pass R4=pass`), then all 36 repos: 36/36 green, registry `gate=ascii-alias + self-check`, `doctorPinned=0.1.6`.
|
|
6
|
+
- **Registry discipline**: `scripts/verify.mjs` now labels the detected gate form (`ascii-alias` / `ascii-escaped` / `chinese-names`, each optionally `+ self-check`) instead of collapsing both ASCII forms into one label, and it fails the workflow loudly when *every* declared repo comes back `no-data` (expired `DOCTOR_AUDIT_TOKEN` or exhausted rate limit) while still committing the honest grey registry.
|
|
7
|
+
- **Docs**: README gate snippet, "状态" line and the family repo count now match the shipped gate. Published so the npm page matches the repository; the installed CLI surface is identical to 0.1.6.
|
|
8
|
+
|
|
3
9
|
## 0.1.6
|
|
4
10
|
|
|
5
11
|
- **Docs/design sync (no CLI behavior change)**: the README's verified-badge section now documents the final shipped badge design (monospace UPPERCASE + letter-spacing + shield-check mark + 5px corners; platinum/silver left panel with deep-navy label text; one solid GitHub-conventional state block on the right) and describes the family gate as reading the committed tree (no install/build; R2/R4 gated by each repo's own `ci.yml`). The "状态" section and CI snippet now pin 0.1.6. Published so the npm page matches the repository; `scripts/` and `badges/` are not in the npm `files` list, so the installed CLI surface is identical to 0.1.5.
|
package/README.md
CHANGED
|
@@ -67,16 +67,13 @@ node doctor.mjs --repo <路径> --json report.json
|
|
|
67
67
|
- 徽章外观:视觉语言对齐生态里较新的两枚徽章(`dsh.directory` 的等宽大写 + 字距 + 标记 + 渐变,`awesome-dsh-plugin` 的印章块)——**银白/铂金金属左段 + 盾牌勾标记 + 墨蓝等宽大写字**(金行主导、水行在字),右段是**整块 GitHub 惯例状态色**(绿/橙/红/灰)配等宽大写状态词,状态另用**路径绘制的图标**(✓ / ! / ✕ / –)冗余表达,色觉障碍下同样可读。5px 圆角 + 1px 描边;**描边是必需的**——去掉后银白左段在白色 README 背景上会消失。
|
|
68
68
|
- 四种状态(值文本用 shields / GitHub Actions 惯用词):`passing`(绿,HEAD 上 run success)/ `warning`(橙:HEAD 还没跑、run 仍在队列、或缺少门禁配置的前置条件)/ `failing`(红:HEAD 上 run 失败,或门禁配置不成立——含 `--only` 参数是双重编码乱码的"假门禁")/ `no data`(灰:API 查询失败)。徽章是**动态**的:不再通过就会变红。R+K 的精确口径不在徽章文字里,而在本节与注册表 `meaning` 字段(徽章链接指回本节)。
|
|
69
69
|
- 加入方式:向 `data/verified-repos.json` 提 PR 增加 `{ "repo": "<owner>/<name>", "package": "<npm 包名>" }`,并按下面的门禁在自己的仓里加 `plugin-doctor.yml`;条目必须通过上面的门禁核对。
|
|
70
|
-
- 门禁步骤(完整工作流见任一家族仓的 `.github/workflows/plugin-doctor.yml`;分组名用
|
|
70
|
+
- 门禁步骤(完整工作流见任一家族仓的 `.github/workflows/plugin-doctor.yml`;分组名用 **ASCII 别名 `R,K`**——0.1.5 起支持,文件与命令行全程纯 ASCII;末尾自校验 R0/K1 确实跑了。家族 36 仓当前 pin `0.1.6`):
|
|
71
71
|
|
|
72
72
|
```yaml
|
|
73
73
|
- name: Run dsh-plugin-doctor (static R/K on the committed tree)
|
|
74
|
-
env:
|
|
75
|
-
DOCTOR_ONLY: "\u9759\u6001\u00b7\u5305\u7ed3\u6784,\u9759\u6001\u00b7cordis \u5951\u7ea6\u626b\u63cf"
|
|
76
74
|
run: |
|
|
77
|
-
if [ -z "$DOCTOR_ONLY" ]; then echo "DOCTOR_ONLY is empty"; exit 1; fi
|
|
78
75
|
set +e
|
|
79
|
-
out="$(npx --yes @perrylink/dsh-plugin-doctor@0.1.
|
|
76
|
+
out="$(npx --yes @perrylink/dsh-plugin-doctor@0.1.6 --repo . --no-smoke --only "R,K" --json /tmp/doctor.json 2>&1)"
|
|
80
77
|
set -e
|
|
81
78
|
printf '%s\n' "$out"
|
|
82
79
|
echo "$out" | grep -q 'R0 ' || { echo "::error::doctor ran no R checks"; exit 1; }
|
|
@@ -92,7 +89,7 @@ node doctor.mjs --repo <路径> --json report.json
|
|
|
92
89
|
'
|
|
93
90
|
```
|
|
94
91
|
|
|
95
|
-
> 为什么门禁不 install/build、徽章也不由本仓自跑:静态 R/K 检查只读已提交的树(无需依赖);而 `npm run build` 在缺 harness 别名的环境里会失败,其 prebuild 还会清空已提交的 `lib
|
|
92
|
+
> 为什么门禁不 install/build、徽章也不由本仓自跑:静态 R/K 检查只读已提交的树(无需依赖);而 `npm run build` 在缺 harness 别名的环境里会失败,其 prebuild 还会清空已提交的 `lib/`,制造假红。把第三方仓的依赖安装集中到本仓 CI 执行则是供应链风险。因此门禁在各仓自己的 CI 里执行、只读提交树,本仓只做审计与发徽。
|
|
96
93
|
|
|
97
94
|
## 判据来源(SURVEY.md 有全文与 URL)
|
|
98
95
|
|
|
@@ -136,10 +133,10 @@ SURVEY.md 全渠道检测方法梳理 + 判据出处
|
|
|
136
133
|
## 状态
|
|
137
134
|
|
|
138
135
|
正式仓库:GitHub `PerryLink/dsh-plugin-doctor`(Apache-2.0),npm `@perrylink/dsh-plugin-doctor`
|
|
139
|
-
(**latest=0.1.
|
|
136
|
+
(**latest=0.1.7**,见 `CHANGELOG.md`)。CI 用法(**请用 ASCII 别名**):
|
|
140
137
|
|
|
141
138
|
```powershell
|
|
142
|
-
npx --yes @perrylink/dsh-plugin-doctor@0.1.
|
|
139
|
+
npx --yes @perrylink/dsh-plugin-doctor@0.1.7 --repo . --no-smoke --only "R,K"
|
|
143
140
|
```
|
|
144
141
|
|
|
145
|
-
|
|
142
|
+
36 个插件仓已内置 `.github/workflows/plugin-doctor.yml`(只读已提交树 → `--only "R,K"` 静态门禁 + R0/K1 实跑自校验,pin `@0.1.6`)。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@perrylink/dsh-plugin-doctor",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Zero-dependency static + sandbox smoke detector for DeepSeek Harness (dsh) plugins: package-structure gates (R), cordis contract scans (K), keyless-headless sandbox smoke (D), and ecosystem-listing checks (CC).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "doctor.mjs",
|