dsh-doublecheck 0.9.16 → 0.9.18
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 +15 -0
- package/README-es.md +9 -2
- package/README-hi.md +9 -2
- package/README-pt.md +9 -2
- package/README-zh.md +8 -1
- package/README.md +10 -2
- package/package.json +31 -29
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to dsh-doublecheck are recorded here, newest first.
|
|
4
4
|
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.9.18] - 2026-10-04
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Host pins move to `0.2.1-alpha.1`; re-verified against that host line. Every `@deepseek-ai/dsh-*` dev/test dependency now pins `0.2.1-alpha.1`, the `dshWorkshop.compatibility.dshVersions` timeline appends `0.2.1-alpha.1`, and the compatibility baseline in every README records the `dsh-v0.2.1-alpha.1` host. The declared host ranges (`engines.dsh` and the `peerDependencies` union) gain the `|| >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0` clauses: the previous upper bound was `<0.2.0`, which under semver rejects every 0.2.x host, so the probe host itself was not installable. Nothing was narrowed — the `0.1.x` clauses are unchanged, in place and in order.
|
|
13
|
+
|
|
14
|
+
## [0.9.17] - 2026-09-25
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Host pins move to `0.1.7-rc.2`; re-verified against that host line. Every `@deepseek-ai/dsh-*` dev/test dependency now pins `0.1.7-rc.2`, the `dshWorkshop.compatibility.dshVersions` timeline appends `0.1.7-rc.2`, and the compatibility baseline in every README records the `dsh-v0.1.7-rc.2` host. The declared host ranges (`engines.dsh` and the `peerDependencies` union) are deliberately **unchanged** — they already admit `0.1.7-rc.2`, and a range is what the manifest accepts, not what has been tested.
|
|
19
|
+
|
|
5
20
|
## [0.9.16] - 2026-09-24
|
|
6
21
|
### Changed
|
|
7
22
|
|
package/README-es.md
CHANGED
|
@@ -25,11 +25,18 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
|
|
29
|
+
<!-- star-cta -->
|
|
30
|
+
## ⭐ 如果它帮到了你
|
|
31
|
+
|
|
32
|
+
Este plugin forma parte de la [familia de plugins DSH](https://github.com/PerryLink) (más de 40, todos Apache-2.0). Si te resulta útil, **dale una estrella**: no desbloquea nada, pero ayuda a que la siguiente persona lo encuentre antes.
|
|
33
|
+
|
|
34
|
+
*English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
|
|
28
35
|
## Compatibilidad
|
|
29
36
|
|
|
30
37
|
| Superficie | Estado |
|
|
31
38
|
|---|---|
|
|
32
|
-
| Harness | DeepSeek Harness `dsh-v0.1
|
|
39
|
+
| Harness | DeepSeek Harness `dsh-v0.2.1-alpha.1`. Verificado el 2026-09-24 (doble typecheck + suite completa en verde); el rango de peers admite `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.2`, `0.1.6-alpha.2`, `0.1.7-alpha.1` y `0.1.7-rc.2`, así que no se pierde ninguna línea soportada. |
|
|
33
40
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
34
41
|
| Plataformas | Todas (host puro; sin código nativo, sin solicitudes de red directas propias) |
|
|
35
42
|
| Modelo | Cualquiera (el guard nunca llama a un modelo; las fases de crítico y revisor se ejecutan como subagentes del harness) |
|
|
@@ -234,7 +241,7 @@ El CLI solo serializa el `GateState` ya asentado — nunca vuelve a ejecutar la
|
|
|
234
241
|
0.1.5-alpha.1 (adaptado el 2026-09-09): el formato de sesión V3 renombra el evento durable de subenvío `tool/code-dispatch` a `tool/ptc-dispatch` (carga útil sin cambios; ambas etiquetas se pliegan de forma idéntica). Session.append sigue sin canal `ignorable`, así que las escrituras durables se omiten y el interruptor permanece en proceso - comportamiento sin cambios. (El espacio de ajustes `doublecheck-gate` que introdujo esa entrada se eliminó en 0.1.7-alpha.1, cuando el host borró el registro de espacios de nombres.)
|
|
235
242
|
0.1.5-rc.1 (adaptado el 2026-09-10): los pines de dependencias pasan a la línea publicada 0.1.5-rc.1; ningún cambio de interfaz afecta el comportamiento de este plugin.
|
|
236
243
|
0.1.5-rc.2 (adaptado el 2026-09-11): los pines de dependencias pasan a la línea publicada 0.1.5-rc.2; ningún cambio de interfaz afecta el comportamiento de este plugin.
|
|
237
|
-
0.1.7-alpha.1 (adaptado el 2026-
|
|
244
|
+
0.1.7-alpha.1 (adaptado el 2026-10-04): el host eliminó el kind de fuente de mensaje catch-all compartido `plugin` (los avisos ahora llevan el kind propio `dsh-doublecheck`, y el plegado de `remindOnce` sigue leyendo las dos formas previas a la actualización que un registro durable puede contener) y sustituyó el registro de espacios de nombres de ajustes por `SettingsForms` (el espacio `doublecheck-gate` desaparece; la lista de la puerta pasa a ser el único campo `.volatile()` de la fila del guard, todavía leído una vez al cargar). Los pisos de peers de `@deepseek-ai/cordis` y `@deepseek-ai/schemastery` pasan a `^4.0.3` / `^3.18.3` en las dependencias de desarrollo; los rangos de peers siguen siendo `^4.0.2` / `^3.18.2` y la capacidad de campos en vivo se detecta al cargar, así que las líneas de host anteriores siguen montando la fila (sin tarjeta de ajustes). Sin cambios de comportamiento salvo la ubicación de almacenamiento de los ajustes.
|
|
238
245
|
- **Interfaces opcionales.** La tarjeta de ajustes de la fila del guard aparece cuando el servicio de ajustes está montado; la tarjeta es la Config de esta propia fila (espacio de nombres = su id de entrada de perfil), y el bloque `gate` se lee una vez al cargar, así que sus valores aplican al panel `/gate` y al aviso rojo en la siguiente carga. La capacidad de campos en vivo se detecta al cargar: si el schemastery del host es anterior a `.volatile()`, la fila monta igualmente — sin tarjeta, con el bloque `gate` tomado del parche de perfil. La línea de modo plan de `/gate status` lee el `ctx.planMode` opcional (muestra `unknown` sin él); la revisión adversarial necesita `ctx.subagents`; la verificación necesita `workflowEngine`.
|
|
239
246
|
- **Degradación local.** `gate.review.engine: auto` degrada al revisor local cuando dsh-auto-review está ausente o no tiene registros de veredicto en esta sesión — el informe nombra la razón en lugar de inventar un veredicto.
|
|
240
247
|
- **La evidencia dsh-eval se basa en archivos.** El motor de evaluación de dsh-auto-review (`dsh-eval`) escribe sus resultados de regresión de prompt / estrés / equidad en un archivo de informe del espacio de trabajo, no en el registro de sesión. `gate.tests.evalReports.enabled` pliega ese archivo (desactivado por defecto; salta cuando está ausente) y los recuentos pliegados viajan en el registro duradero `doublecheck/gate` para que una ejecución asentada siga siendo reproducible.
|
package/README-hi.md
CHANGED
|
@@ -25,11 +25,18 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
|
|
29
|
+
<!-- star-cta -->
|
|
30
|
+
## ⭐ 如果它帮到了你
|
|
31
|
+
|
|
32
|
+
यह प्लगइन [DSH प्लगइन परिवार](https://github.com/PerryLink) का हिस्सा है (40+ प्लगइन, सभी Apache-2.0)। अगर यह उपयोगी लगे, तो **एक स्टार दें** — इससे कोई सुविधा अनलॉक नहीं होती, पर अगला व्यक्ति इसे खोज में आसानी से पा लेता है।
|
|
33
|
+
|
|
34
|
+
*English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
|
|
28
35
|
## अनुकूलता
|
|
29
36
|
|
|
30
37
|
| सतह | स्थिति |
|
|
31
38
|
|---|---|
|
|
32
|
-
| Harness | DeepSeek Harness `dsh-v0.1
|
|
39
|
+
| Harness | DeepSeek Harness `dsh-v0.2.1-alpha.1`। 2026-09-25 को सत्यापित (दोहरा typecheck + पूरी टेस्ट सूट हरी); peer रेंज `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.2`, `0.1.6-alpha.2`, `0.1.7-alpha.1` और `0.1.7-rc.2` को स्वीकार करती है, इसलिए कोई समर्थित लाइन नहीं छूटती। |
|
|
33
40
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
34
41
|
| प्लेटफ़ॉर्म | सभी (शुद्ध host; कोई नेटिव कोड नहीं, स्वयं का कोई सीधा नेटवर्क अनुरोध नहीं) |
|
|
35
42
|
| मॉडल | कोई भी (guard स्वयं कभी मॉडल नहीं बुलाता; critic और reviewer चरण harness subagent के रूप में चलते हैं) |
|
|
@@ -234,7 +241,7 @@ CLI केवल पहले से स्थापित `GateState` को
|
|
|
234
241
|
0.1.5-alpha.1 (2026-09-09 को अनुकूलित): सत्र प्रारूप V3 टिकाऊ उप-प्रेषण इवेंट `tool/code-dispatch` का नाम `tool/ptc-dispatch` करता है (पेलोड अपरिवर्तित; दोनों लेबल समान रूप से फ़ोल्ड होते हैं)। Session.append में अभी भी `ignorable` चैनल नहीं है, इसलिए टिकाऊ लेखन छोड़े जाते हैं और स्विच प्रक्रिया-स्थानीय रहता है - व्यवहार अपरिवर्तित। (उस प्रविष्टि में जोड़ा गया `doublecheck-gate` सेटिंग्स नेमस्पेस 0.1.7-alpha.1 में हटा दिया गया, जब host ने नेमस्पेस रजिस्ट्री मिटा दी।)
|
|
235
242
|
0.1.5-rc.1 (2026-09-10 को अनुकूलित): निर्भरता पिन प्रकाशित 0.1.5-rc.1 लाइन पर चले जाते हैं; कोई इंटरफ़ेस परिवर्तन इस प्लगइन के व्यवहार को प्रभावित नहीं करता।
|
|
236
243
|
0.1.5-rc.2 (2026-09-11 को अनुकूलित): निर्भरता पिन प्रकाशित 0.1.5-rc.2 लाइन पर चले जाते हैं; कोई इंटरफ़ेस परिवर्तन इस प्लगइन के व्यवहार को प्रभावित नहीं करता।
|
|
237
|
-
0.1.7-alpha.1 (2026-
|
|
244
|
+
0.1.7-alpha.1 (2026-10-04 को अनुकूलित): host ने साझा catch-all `plugin` संदेश-स्रोत kind हटा दिया (नोटिस अब अपना `dsh-doublecheck` kind लेकर चलते हैं, और `remindOnce` फ़ोल्ड टिकाऊ लॉग में संभव दोनों अपग्रेड-पूर्व रूपों को अब भी पढ़ता है), और सेटिंग्स नेमस्पेस रजिस्ट्री को `SettingsForms` से बदल दिया (`doublecheck-gate` नेमस्पेस समाप्त; गेट सूची अब guard पंक्ति की एकमात्र `.volatile()` फ़ील्ड है, जो अब भी लोड पर एक बार पढ़ी जाती है)। `@deepseek-ai/cordis` और `@deepseek-ai/schemastery` के dev/test पिन `^4.0.3` / `^3.18.3` पर चले जाते हैं; peer रेंज `^4.0.2` / `^3.18.2` ही रहती है और लाइव-फ़ील्ड क्षमता लोड पर पहचानी जाती है, इसलिए पुरानी host लाइनें भी इस पंक्ति को माउंट करती हैं (बिना सेटिंग्स कार्ड के)। सेटिंग्स के भंडारण-स्थान के अलावा कोई व्यवहार परिवर्तन नहीं।
|
|
238
245
|
- **वैकल्पिक इंटरफ़ेस।** सेटिंग्स सेवा माउंट होने पर guard पंक्ति का अपना सेटिंग्स कार्ड दिखता है; वह कार्ड इसी पंक्ति का Config है (नेमस्पेस = इसकी profile प्रविष्टि id), और `gate` ब्लॉक लोड पर एक बार पढ़ा जाता है, इसलिए उसके मान अगले लोड पर `/gate` पैनल और लाल नोटिस पर लागू होते हैं। लाइव-फ़ील्ड क्षमता लोड पर पहचानी जाती है: यदि host का schemastery `.volatile()` से पुराना है, तो पंक्ति फिर भी माउंट होती है — कार्ड नहीं, और `gate` ब्लॉक profile patch से लिया जाता है। `/gate status` की प्लान-मोड पंक्ति वैकल्पिक `ctx.planMode` पढ़ती है (इसके बिना `unknown` दिखाती है); प्रतिकूल समीक्षा को `ctx.subagents` चाहिए; सत्यापन को `workflowEngine` चाहिए।
|
|
239
246
|
- **स्थानीय अवनति।** जब dsh-auto-review अनुपस्थित हो या इस सत्र में उसके कोई निर्णय रिकॉर्ड न हों, तो `gate.review.engine: auto` स्थानीय समीक्षक पर घट जाता है — रिपोर्ट निर्णय गढ़ने के बजाय कारण बताती है।
|
|
240
247
|
- **dsh-eval साक्ष्य फ़ाइल-आधारित है।** dsh-auto-review का मूल्यांकन इंजन (`dsh-eval`) अपने prompt-regression / stress / fairness परिणाम कार्यक्षेत्र रिपोर्ट फ़ाइल में लिखता है, सत्र लॉग में नहीं। `gate.tests.evalReports.enabled` उस फ़ाइल को मोड़ता है (डिफ़ॉल्ट रूप से बंद; अनुपस्थित होने पर छोड़ देता है) और मोड़ी गई गणनाएँ टिकाऊ `doublecheck/gate` रिकॉर्ड पर चलती हैं, ताकि तयशुदा रन फिर भी रीप्ले हो सके।
|
package/README-pt.md
CHANGED
|
@@ -25,11 +25,18 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
|
|
29
|
+
<!-- star-cta -->
|
|
30
|
+
## ⭐ 如果它帮到了你
|
|
31
|
+
|
|
32
|
+
Este plugin faz parte da [família de plugins DSH](https://github.com/PerryLink) (mais de 40, todos Apache-2.0). Se for útil, **deixe uma estrela**: não desbloqueia nada, mas ajuda a próxima pessoa a encontrá-lo.
|
|
33
|
+
|
|
34
|
+
*English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
|
|
28
35
|
## Compatibilidade
|
|
29
36
|
|
|
30
37
|
| Superfície | Status |
|
|
31
38
|
|---|---|
|
|
32
|
-
| Harness | DeepSeek Harness `dsh-v0.1
|
|
39
|
+
| Harness | DeepSeek Harness `dsh-v0.2.1-alpha.1`. Verificado em 2026-09-24 (typecheck duplo + suíte completa verde); o intervalo de peers admite `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.2`, `0.1.6-alpha.2`, `0.1.7-alpha.1` e `0.1.7-rc.2`, então nenhuma linha suportada é perdida. |
|
|
33
40
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
34
41
|
| Plataformas | Todas (host puro; sem código nativo, sem requisições de rede diretas próprias) |
|
|
35
42
|
| Modelo | Qualquer (o guard nunca chama um modelo; as fases de crítico e revisor rodam como subagentes do harness) |
|
|
@@ -234,7 +241,7 @@ O CLI apenas serializa o `GateState` já assentado — nunca reexecuta a porta d
|
|
|
234
241
|
0.1.5-alpha.1 (adaptado em 2026-09-09): o formato de sessão V3 renomeia o evento durável de subenvio `tool/code-dispatch` para `tool/ptc-dispatch` (carga útil inalterada; os dois rótulos são dobrados de forma idêntica). O Session.append continua sem canal `ignorable`, então as escritas duráveis são omitidas e o interruptor permanece em processo - comportamento inalterado. (O namespace de configurações `doublecheck-gate` que essa entrada introduziu foi removido em 0.1.7-alpha.1, quando o host apagou o registro de namespaces.)
|
|
235
242
|
0.1.5-rc.1 (adaptado em 2026-09-10): os pinos de dependências passam para a linha publicada 0.1.5-rc.1; nenhuma mudança de interface afeta o comportamento deste plugin.
|
|
236
243
|
0.1.5-rc.2 (adaptado em 2026-09-11): os pinos de dependências passam para a linha publicada 0.1.5-rc.2; nenhuma mudança de interface afeta o comportamento deste plugin.
|
|
237
|
-
0.1.7-alpha.1 (adaptado em 2026-
|
|
244
|
+
0.1.7-alpha.1 (adaptado em 2026-10-04): o host removeu o kind de fonte de mensagem catch-all compartilhado `plugin` (os avisos agora carregam o kind próprio `dsh-doublecheck`, e a dobra de `remindOnce` continua lendo as duas formas anteriores à atualização que um registro durável pode conter) e substituiu o registro de namespaces de configurações por `SettingsForms` (o namespace `doublecheck-gate` desaparece; a lista do portão passa a ser o único campo `.volatile()` da linha do guard, ainda lido uma vez ao carregar). Os pisos de peers de `@deepseek-ai/cordis` e `@deepseek-ai/schemastery` passam para `^4.0.3` / `^3.18.3` nas dependências de desenvolvimento; os intervalos de peers continuam `^4.0.2` / `^3.18.2` e a capacidade de campos ao vivo é detectada ao carregar, então as linhas de host anteriores ainda montam a linha (sem cartão de configurações). Sem mudança de comportamento além do local de armazenamento das configurações.
|
|
238
245
|
- **Interfaces opcionais.** O cartão de configurações da linha do guard aparece quando o serviço de configurações está montado; o cartão é a Config desta própria linha (namespace = seu id de entrada de perfil), e o bloco `gate` é lido uma vez ao carregar, então seus valores valem para o painel `/gate` e o aviso vermelho no próximo carregamento. A capacidade de campos ao vivo é detectada ao carregar: se o schemastery do host for anterior a `.volatile()`, a linha monta mesmo assim — sem cartão, com o bloco `gate` vindo do patch de perfil. A linha de modo plano de `/gate status` lê o `ctx.planMode` opcional (mostra `unknown` sem ele); a revisão adversarial precisa de `ctx.subagents`; a verificação precisa de `workflowEngine`.
|
|
239
246
|
- **Degradação local.** `gate.review.engine: auto` degrada para o revisor local quando o dsh-auto-review está ausente ou não tem registros de veredicto nesta sessão — o relatório nomeia a razão em vez de inventar um veredicto.
|
|
240
247
|
- **A evidência dsh-eval é baseada em arquivos.** O motor de avaliação do dsh-auto-review (`dsh-eval`) grava seus resultados de regressão de prompt / estresse / equidade em um arquivo de relatório do espaço de trabalho, não no registro de sessão. `gate.tests.evalReports.enabled` dobra esse arquivo (desativado por padrão; pula quando ausente) e as contagens dobradas viajam no registro durável `doublecheck/gate` para que uma execução assentada ainda seja reproduzível.
|
package/README-zh.md
CHANGED
|
@@ -25,11 +25,18 @@
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
|
|
29
|
+
<!-- star-cta -->
|
|
30
|
+
## ⭐ 如果它帮到了你
|
|
31
|
+
|
|
32
|
+
这个插件是 [DSH 插件家族](https://github.com/PerryLink)的一员(40+ 个,全部 Apache-2.0)。如果你在用,**给个 star** —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
|
|
33
|
+
|
|
34
|
+
*English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
|
|
28
35
|
## 兼容性
|
|
29
36
|
|
|
30
37
|
| 方面 | 状态 |
|
|
31
38
|
|---|---|
|
|
32
|
-
| Harness | DeepSeek Harness `dsh-v0.1
|
|
39
|
+
| Harness | DeepSeek Harness `dsh-v0.2.1-alpha.1`。已于 2026-09-24 核验(双 typecheck 尺子 + 全量测试绿);peer 区间接纳 `0.1.2-rc.1`、`0.1.5-alpha.1`、`0.1.5-rc.2`、`0.1.6-alpha.2`、`0.1.7-alpha.1` 与 `0.1.7-rc.2`,不丢任何已支持宿主线。 |
|
|
33
40
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
34
41
|
| 平台 | 全部(纯宿主;无原生代码,自身无直接网络请求) |
|
|
35
42
|
| 模型 | 任意(守卫本身从不调用模型;评审与批评阶段作为宿主 subagent 运行) |
|
package/README.md
CHANGED
|
@@ -26,11 +26,19 @@
|
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
29
|
+
<!-- star-cta -->
|
|
30
|
+
## ⭐ 如果它帮到了你
|
|
31
|
+
|
|
32
|
+
这个插件是 [DSH 插件家族](https://github.com/PerryLink)的一员(40+ 个,全部 Apache-2.0)。如果你在用,**给个 star** —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。
|
|
33
|
+
|
|
34
|
+
*English:* part of a 40+ plugin family for DeepSeek Harness. If it is useful, **a star helps the next person find it** — nothing is gated behind it.
|
|
35
|
+
|
|
36
|
+
|
|
29
37
|
## Compatibility
|
|
30
38
|
|
|
31
39
|
| Surface | Status |
|
|
32
40
|
|---|---|
|
|
33
|
-
| Harness | DeepSeek Harness `dsh-v0.1
|
|
41
|
+
| Harness | DeepSeek Harness `dsh-v0.2.1-alpha.1`. Verified 2026-09-24 (dual typecheck rulers + full test suite green); the peer range admits `0.1.2-rc.1`, `0.1.5-alpha.1`, `0.1.5-rc.2`, `0.1.6-alpha.2`, `0.1.7-alpha.1` and `0.1.7-rc.2`, so no supported host line is dropped. |
|
|
34
42
|
| Node | `^22.19.0 \|\| >=24.0.0` |
|
|
35
43
|
| Platforms | All (pure host; no native code, no direct network requests of its own) |
|
|
36
44
|
| Model | Any (the guard itself never calls a model; the critic and reviewer phases run as harness subagents) |
|
|
@@ -242,7 +250,7 @@ The CLI only serializes the already-settled `GateState` — it never re-runs the
|
|
|
242
250
|
0.1.5-alpha.1 (adapted 2026-09-09): session format V3 renames the durable sub-dispatch event `tool/code-dispatch` to `tool/ptc-dispatch` (payload unchanged; both labels fold identically). Session.append still exposes no `ignorable` channel, so durable writes stay skipped and the switch stays process-local - behavior unchanged. (The `doublecheck-gate` settings namespace this entry introduced was removed in 0.1.7-alpha.1, when the harness deleted the namespace registry.)
|
|
243
251
|
0.1.5-rc.1 (adapted 2026-09-10): dependency pins move to the published 0.1.5-rc.1 line; no seam change affects this plugin's behavior.
|
|
244
252
|
0.1.5-rc.2 (adapted 2026-09-11): dependency pins move to the published 0.1.5-rc.2 line; no seam change affects this plugin's behavior.
|
|
245
|
-
0.1.7-alpha.1 (adapted 2026-
|
|
253
|
+
0.1.7-alpha.1 (adapted 2026-10-04): the harness deleted the shared catch-all `plugin` message-source kind (notices now carry the producer-owned `dsh-doublecheck` kind, and the `remindOnce` fold still reads the two pre-upgrade shapes a durable log can hold), and it replaced the settings-namespace registry with `SettingsForms` (the `doublecheck-gate` namespace is gone; the gate checklist is now the guard row's one `.volatile()` field, still read once at load). Dev/test pins for `@deepseek-ai/cordis` and `@deepseek-ai/schemastery` move to `^4.0.3` / `^3.18.3`, where `Volatile` and `.volatile()` first exist; the peer ranges stay `^4.0.2` / `^3.18.2` and the live-field surface is detected at load, so the older host lines mount the row with no settings card. No behavior change beyond the settings storage location.
|
|
246
254
|
- **Optional seams.** The guard row's settings card appears when the settings service is mounted; the card is this row's own Config (namespace = its profile entry id), and the `gate` block is read once at load, so its values apply to the `/gate` panel and the gate-red notice on the next load. The live-field surface is detected at load, so on a host line whose schemastery predates `.volatile()` the row mounts anyway — without a card, with the `gate` block taken from the profile patch. The `/gate status` plan-mode line reads the optional `ctx.planMode` (shows `unknown` without it); the adversary review needs `ctx.subagents`; verification needs `workflowEngine`.
|
|
247
255
|
- **Local degrade.** `gate.review.engine: auto` degrades to the local reviewer when dsh-auto-review is absent or has no verdict records this session — the report names the reason instead of inventing a verdict.
|
|
248
256
|
- **dsh-eval evidence is file-based.** The dsh-auto-review eval engine (`dsh-eval`) writes its prompt-regression / stress / fairness results to a workspace report file, not the session log. `gate.tests.evalReports.enabled` folds that file (off by default; skips when absent) and the folded counts ride the durable `doublecheck/gate` record so a settled run still replays.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-doublecheck",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.18",
|
|
4
4
|
"description": "Delivery quality gate for DeepSeek Harness: grill the requirements, test the implementation, prove the delivery, and gate the handoff with a deliverable/rework decision.",
|
|
5
5
|
"packageManager": "pnpm@11.7.0",
|
|
6
6
|
"repository": {
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"license": "Apache-2.0",
|
|
85
85
|
"engines": {
|
|
86
86
|
"node": "^22.19.0 || >=24.0.0",
|
|
87
|
-
"dsh": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0"
|
|
87
|
+
"dsh": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0"
|
|
88
88
|
},
|
|
89
89
|
"dsh": {
|
|
90
90
|
"manifestVersion": 1,
|
|
@@ -119,7 +119,9 @@
|
|
|
119
119
|
"0.1.5-rc.2",
|
|
120
120
|
"0.1.7-alpha.1",
|
|
121
121
|
"0.1.7-alpha.2",
|
|
122
|
-
"0.1.7-rc.1"
|
|
122
|
+
"0.1.7-rc.1",
|
|
123
|
+
"0.1.7-rc.2",
|
|
124
|
+
"0.2.1-alpha.1"
|
|
123
125
|
]
|
|
124
126
|
},
|
|
125
127
|
"capability": {
|
|
@@ -136,38 +138,38 @@
|
|
|
136
138
|
}
|
|
137
139
|
},
|
|
138
140
|
"peerDependencies": {
|
|
139
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
140
|
-
"@deepseek-ai/dsh-agent": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
141
|
-
"@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
142
|
-
"@deepseek-ai/dsh-invariants": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
143
|
-
"@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
144
|
-
"@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
145
|
-
"@deepseek-ai/dsh-session-projection": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
146
|
-
"@deepseek-ai/dsh-skill": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
147
|
-
"@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0",
|
|
148
|
-
"@deepseek-ai/schemastery": "^3.18.
|
|
141
|
+
"@deepseek-ai/cordis": "^4.0.5-alpha.1",
|
|
142
|
+
"@deepseek-ai/dsh-agent": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
143
|
+
"@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
144
|
+
"@deepseek-ai/dsh-invariants": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
145
|
+
"@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
146
|
+
"@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
147
|
+
"@deepseek-ai/dsh-session-projection": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
148
|
+
"@deepseek-ai/dsh-skill": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
149
|
+
"@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0 || >=0.1.6-0 <0.2.0 || >=0.1.7-0 <0.2.0 || >=0.2.0-0 <0.3.0 || >=0.2.1-0 <0.3.0",
|
|
150
|
+
"@deepseek-ai/schemastery": "^3.18.5-alpha.1"
|
|
149
151
|
},
|
|
150
152
|
"dependencies": {
|
|
151
153
|
"typescript": "^5.7.0",
|
|
152
154
|
"zod": "^4.4.3"
|
|
153
155
|
},
|
|
154
156
|
"devDependencies": {
|
|
155
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
156
|
-
"@deepseek-ai/cordis-plugin-loader": "^1.0.
|
|
157
|
-
"@deepseek-ai/dsh-agent": "0.1
|
|
158
|
-
"@deepseek-ai/dsh-commands": "0.1
|
|
159
|
-
"@deepseek-ai/dsh-fs": "0.1
|
|
160
|
-
"@deepseek-ai/dsh-invariants": "0.
|
|
161
|
-
"@deepseek-ai/dsh-llm": "0.1
|
|
162
|
-
"@deepseek-ai/dsh-session": "0.1
|
|
163
|
-
"@deepseek-ai/dsh-session-projection": "0.1
|
|
164
|
-
"@deepseek-ai/dsh-settings": "0.1
|
|
165
|
-
"@deepseek-ai/dsh-skill": "0.1
|
|
166
|
-
"@deepseek-ai/dsh-subagent": "0.1
|
|
167
|
-
"@deepseek-ai/dsh-system-prompt": "0.1
|
|
168
|
-
"@deepseek-ai/dsh-tools": "0.1
|
|
169
|
-
"@deepseek-ai/dsh-workflow": "0.1
|
|
170
|
-
"@deepseek-ai/schemastery": "^3.18.
|
|
157
|
+
"@deepseek-ai/cordis": "^4.0.5-alpha.1",
|
|
158
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.6-alpha.1",
|
|
159
|
+
"@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
|
|
160
|
+
"@deepseek-ai/dsh-commands": "0.2.1-alpha.1",
|
|
161
|
+
"@deepseek-ai/dsh-fs": "0.2.1-alpha.1",
|
|
162
|
+
"@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
|
|
163
|
+
"@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
|
|
164
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.1",
|
|
165
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1",
|
|
166
|
+
"@deepseek-ai/dsh-settings": "0.2.1-alpha.1",
|
|
167
|
+
"@deepseek-ai/dsh-skill": "0.2.1-alpha.1",
|
|
168
|
+
"@deepseek-ai/dsh-subagent": "0.2.1-alpha.1",
|
|
169
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.1",
|
|
170
|
+
"@deepseek-ai/dsh-tools": "0.2.1-alpha.1",
|
|
171
|
+
"@deepseek-ai/dsh-workflow": "0.2.1-alpha.1",
|
|
172
|
+
"@deepseek-ai/schemastery": "^3.18.5-alpha.1",
|
|
171
173
|
"@eslint/js": "^9.30.0",
|
|
172
174
|
"@types/node": "^22.15.0",
|
|
173
175
|
"@vitest/coverage-v8": "^3.2.0",
|