dsh-research-report 0.3.7 → 0.3.8

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 CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.8] - 2026-09-09
9
+
10
+ ### Fixed
11
+
12
+ - Adapt the test harness to the renamed system-prompt persona config: `mountBase` mounts `SystemPrompt` with `{ personaPrefix: '' }` instead of the removed `{ persona: '' }` key, restoring green `typecheck` and `typecheck:ci` against DeepSeek Harness `dsh-v0.1.5-alpha.1`. The mount is behavior-identical (an empty prefix renders no section and `includeHarnessIdentity` keeps its default), so the rendered test prompt is unchanged.
13
+
14
+ ### Changed
15
+
16
+ - Align the `@deepseek-ai/dsh-*` peer ranges to `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`, pin the dev/test dependencies to the published `0.1.5-alpha.1` line, and record `0.1.5-alpha.1` in `dshWorkshop.compatibility.dshVersions`. The `0.1.5-alpha.1` seams (session format V3, `ctx.agent` removal, type-only `Inbox` interface) need no `src/` change: the plugin consumes none of them, keeps the `SessionEventMap` merges and the adaptive `research-report/*` event gate, and stays compatible with the `0.1.2-rc.1` line. No behavior change.
17
+ - Run the `compat` profile job as a matrix over both declared peer lines (`0.1.2-rc.1`, `0.1.5-alpha.1`), so every supported line keeps a real install/mount/uninstall smoke instead of only the older one.
18
+
19
+ ### Docs
20
+
21
+ - Refresh the five-language README compatibility sections to the `dsh-v0.1.5-alpha.1` baseline (verified 2026-09-09), the dual peer range, and the `0.1.5-alpha.1` dev pin; correct the stale `rc.2` `Session.append` wording. `AGENTS.md`, `THIRD_PARTY_NOTICES.md`, and the CI typecheck step label record the same facts, and the notices now match the manifest on `@deepseek-ai/cordis ^4.0.2` / `@deepseek-ai/schemastery ^3.18.2`.
22
+
8
23
  ## [0.3.7] - 2026-09-08
9
24
 
10
25
  ### Docs
package/README.es.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
11
11
  [![DSH plugin](https://img.shields.io/badge/dsh--plugin-✅-green)](https://github.com/topics/dsh-plugin)
12
+ [![dsh-doctor](https://raw.githubusercontent.com/PerryLink/dsh-plugin-doctor/main/badges/PerryLink__dsh-research-report.svg)](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)
12
13
  [![Node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-brightgreen.svg)](#)
13
14
  [![CI](https://img.shields.io/github/actions/workflow/status/PerryLink/dsh-research-report/ci.yml?branch=main&label=CI)](https://github.com/PerryLink/dsh-research-report/actions)
14
15
  [![Version](https://img.shields.io/github/v/tag/PerryLink/dsh-research-report?label=version)](https://github.com/PerryLink/dsh-research-report/releases)
@@ -23,10 +24,10 @@
23
24
 
24
25
  ## Compatibility
25
26
 
26
- - DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, verificado el 2026-09-06). Línea de dependencias npm `0.1.2-rc.1`; peers `>=0.1.2-rc.1 <0.2.0`.
27
- 0.1.2-rc.1 (adaptado el 2026-09-04): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. Verificado el 2026-09-06 contra el checkout master dsh-v0.1.3-alpha.1 (cadena completa de puertas + smoke de instalación del profile).
27
+ - DeepSeek Harness `dsh-v0.1.5-alpha.1` (GitHub tag, verificado el 2026-09-09). Línea de dependencias npm `0.1.5-alpha.1`; peers `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
28
+ 0.1.5-alpha.1 (adaptado el 2026-09-09): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. Verificado el 2026-09-09 contra los tipos publicados 0.1.5-alpha.1 (cadena completa de puertas local); el workflow compat fija ambas líneas peer declaradas.
28
29
  - Node `^22.19.0 || >=24.0.0`, solo ESM (`"type": "module"`).
29
- - Dependencias peer: `@deepseek-ai/cordis ^4.0.1`, `@deepseek-ai/schemastery ^3.18.0`, y `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` en `0.1.2-rc.1`.
30
+ - Dependencias peer: `@deepseek-ai/cordis ^4.0.2`, `@deepseek-ai/schemastery ^3.18.2`, y `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` en `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
30
31
  - Hermanos opcionales (nunca obligatorios): proveedores de `ctx.web` para captura URL/recolección, `ctx.jobs` para ensamblado en segundo plano, `ctx.dataQuality` (dsh-data-quality) para verificación de citas sobre datasets.
31
32
 
32
33
  ## What you get
@@ -116,7 +117,7 @@ Todos los ajustes son campos `Config` de Schemastery; los valores inválidos fal
116
117
  ## Known limitations
117
118
 
118
119
  - **A nivel de byte, no semántico** — la comprobación incorporada localiza literales numéricos/entrecomillados verbatim; los claims parafraseados sin literal comprobable quedan `unverified`, y un claim verdadero cuyo número está ausente mientras su etiqueta aparece con otro valor queda `contradicted`. Es una decisión deliberada de v1 (auditable antes que listo).
119
- - **Eventos de sesión adaptativos** — el plugin declara los eventos de sesión tipados `research-report/evidence`, `research-report/verify` y `research-report/seal`, pero el `Session.append` de rc.2 sigue sin opción `ignorable` ni superficie de registro de eventos para plugins, así que los appends se activan solo cuando el build del host conoce los tipos (si no, la capa de persistencia rechazaría el log al restaurar). Los diarios del libro son siempre la fuente durable de verdad.
120
+ - **Eventos de sesión adaptativos** — el plugin declara los eventos de sesión tipados `research-report/evidence`, `research-report/verify` y `research-report/seal`, pero el `Session.append` de 0.1.5-alpha.1 sigue sin opción `ignorable` ni superficie de registro de eventos para plugins, así que los appends se activan solo cuando el build del host conoce los tipos (si no, la capa de persistencia rechazaría el log al restaurar). Los diarios del libro son siempre la fuente durable de verdad.
120
121
  - **Los profiles por defecto no montan proveedor de fetch** — el `dsh-base` distribuido monta solo búsqueda, así que la captura de URLs falla ruidosamente (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`) hasta configurar un proveedor de fetch; el `gather` basado en búsqueda lista las fuentes no capturadas en la lista de brechas.
121
122
  - **Ámbito de un solo workspace** — las raíces de libro e informes se resuelven contra el directorio de trabajo del harness al montar; los despliegues multi-workspace deben configurar raíces absolutas por profile.
122
123
 
@@ -148,8 +149,8 @@ node scripts/verify-frozen-contract.mjs
148
149
  pnpm pack
149
150
  ```
150
151
 
151
- - `typecheck` resuelve `@deepseek-ai/*` a través de los peers 0.1.2-rc.1 instalados; `typecheck:ci` desactiva `skipLibCheck` y activa `verbatimModuleSyntax` contra los tipos publicados. Ambos deben permanecer verdes.
152
- - Las pruebas usan los `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` reales de los peers 0.1.2-rc.1; solo los backends de red son proveedores scriptados registrados a través de los registros reales de `ctx.web`.
152
+ - `typecheck` resuelve `@deepseek-ai/*` a través de los peers 0.1.5-alpha.1 instalados; `typecheck:ci` desactiva `skipLibCheck` y activa `verbatimModuleSyntax` contra los tipos publicados. Ambos deben permanecer verdes.
153
+ - Las pruebas usan los `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` reales de los peers 0.1.5-alpha.1; solo los backends de red son proveedores scriptados registrados a través de los registros reales de `ctx.web`.
153
154
  - Release: `node scripts/release.mjs <x.y.z>` (sube versión, sella CHANGELOG, re-ejecuta la puerta, commitea + etiqueta; nunca hace push).
154
155
 
155
156
  ## Topics
package/README.hi.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
11
11
  [![DSH plugin](https://img.shields.io/badge/dsh--plugin-✅-green)](https://github.com/topics/dsh-plugin)
12
+ [![dsh-doctor](https://raw.githubusercontent.com/PerryLink/dsh-plugin-doctor/main/badges/PerryLink__dsh-research-report.svg)](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)
12
13
  [![Node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-brightgreen.svg)](#)
13
14
  [![CI](https://img.shields.io/github/actions/workflow/status/PerryLink/dsh-research-report/ci.yml?branch=main&label=CI)](https://github.com/PerryLink/dsh-research-report/actions)
14
15
  [![Version](https://img.shields.io/github/v/tag/PerryLink/dsh-research-report?label=version)](https://github.com/PerryLink/dsh-research-report/releases)
@@ -23,10 +24,10 @@
23
24
 
24
25
  ## Compatibility
25
26
 
26
- - DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, 2026-09-06 को सत्यापित)। npm डिपेंडेंसी लाइन `0.1.2-rc.1`; peers `>=0.1.2-rc.1 <0.2.0`।
27
- 0.1.2-rc.1 (2026-09-04 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। 2026-09-06 को dsh-v0.1.3-alpha.1 master checkout के विरुद्ध सत्यापित (पूर्ण गेट-शृंखला + profile इंस्टॉल smoke)।
27
+ - DeepSeek Harness `dsh-v0.1.5-alpha.1` (GitHub tag, 2026-09-09 को सत्यापित)। npm डिपेंडेंसी लाइन `0.1.5-alpha.1`; peers `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`।
28
+ 0.1.5-alpha.1 (2026-09-09 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। 2026-09-09 को प्रकाशित 0.1.5-alpha.1 टाइप्स के विरुद्ध सत्यापित (पूर्ण स्थानीय गेट-शृंखला); compat workflow दोनों घोषित peer लाइनों को पिन करता है।
28
29
  - Node `^22.19.0 || >=24.0.0`, केवल ESM (`"type": "module"`)।
29
- - Peer डिपेंडेंसी: `@deepseek-ai/cordis ^4.0.1`, `@deepseek-ai/schemastery ^3.18.0`, तथा `0.1.2-rc.1` के `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs`।
30
+ - Peer डिपेंडेंसी: `@deepseek-ai/cordis ^4.0.2`, `@deepseek-ai/schemastery ^3.18.2`, तथा `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` के `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs`।
30
31
  - वैकल्पिक सहयोगी (कभी अनिवार्य नहीं): URL कैप्चर/गैदर के लिए `ctx.web` provider; बैकग्राउंड असेंबली के लिए `ctx.jobs`; डेटासेट उद्धरण जाँच के लिए `ctx.dataQuality` (dsh-data-quality)।
31
32
 
32
33
  ## What you get
@@ -116,7 +117,7 @@ dsh plugin --profile demo remove dsh-research-report # अनइंस्ट
116
117
  ## Known limitations
117
118
 
118
119
  - **बाइट-स्तरीय, सिमैंटिक नहीं** — अंतर्निर्मित जाँच अंक/उद्धरण शाब्दिक मिलान करती है; बिना जाँच-योग्य शाब्दिक वाले पुनःपरिभाषित claim `unverified` रहते हैं, और जिस claim का अंक अनुपस्थित है पर लेबल दूसरे मान के साथ मिलता है वह `contradicted` पढ़ा जाता है। यह v1 का जानबूझ निर्णय है (चतुर से बढ़कर ऑडिट-योग्य)।
119
- - **अनुकूली सत्र-इवेंट** — प्लगिन टाइप किए गए `research-report/evidence`, `research-report/verify`, `research-report/seal` सत्र-इवेंट घोषित करता है, पर rc.2 के `Session.append` में `ignorable` विकल्प नहीं और न ही प्लगिन इवेंट-पंजीकरण सतह है; अतः append तभी सक्रिय होते हैं जब होस्ट बिल्ड उन प्रकारों को जानता हो (वरना persistence परत रिस्टोर पर लॉग अस्वीकार कर देगी)। बही-खाता जर्नल ही सदैव टिकाऊ सत्य का स्रोत है।
120
+ - **अनुकूली सत्र-इवेंट** — प्लगिन टाइप किए गए `research-report/evidence`, `research-report/verify`, `research-report/seal` सत्र-इवेंट घोषित करता है, पर 0.1.5-alpha.1 के `Session.append` में `ignorable` विकल्प नहीं और न ही प्लगिन इवेंट-पंजीकरण सतह है; अतः append तभी सक्रिय होते हैं जब होस्ट बिल्ड उन प्रकारों को जानता हो (वरना persistence परत रिस्टोर पर लॉग अस्वीकार कर देगी)। बही-खाता जर्नल ही सदैव टिकाऊ सत्य का स्रोत है।
120
121
  - **डिफ़ॉल्ट profile में fetch provider नहीं** — shipped `dsh-base` केवल search माउंट करता है, इसलिए fetch provider कॉन्फ़िगर होने तक URL कैप्चर ठोंककर विफल होता है (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`); search-आधारित `gather` अकैप्चर स्रोतों को गैप-सूची में डालता है।
121
122
  - **एकल-workspace दायरा** — बही-खाता व रिपोर्ट रूट माउंट पर harness वर्किंग डायरेक्टरी के सापेक्ष resolve होते हैं; बहु-workspace डिप्लॉयमेंट को प्रति-profile निरपेक्ष रूट कॉन्फ़िगर करने चाहिए।
122
123
 
@@ -148,8 +149,8 @@ node scripts/verify-frozen-contract.mjs
148
149
  pnpm pack
149
150
  ```
150
151
 
151
- - `typecheck` इंस्टॉल किए गए 0.1.2-rc.1 peers से `@deepseek-ai/*` resolve करता है; `typecheck:ci` प्रकाशित टाइप्स के विरुद्ध `skipLibCheck` बंद और `verbatimModuleSyntax` चालू करता है। दोनों हरे रहने चाहिए।
152
- - टेस्ट 0.1.2-rc.1 peers के वास्तविक `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` उपयोग करते हैं; केवल नेटवर्क बैकएंड वास्तविक `ctx.web` रजिस्ट्री में पंजीकृत scripted providers हैं।
152
+ - `typecheck` इंस्टॉल किए गए 0.1.5-alpha.1 peers से `@deepseek-ai/*` resolve करता है; `typecheck:ci` प्रकाशित टाइप्स के विरुद्ध `skipLibCheck` बंद और `verbatimModuleSyntax` चालू करता है। दोनों हरे रहने चाहिए।
153
+ - टेस्ट 0.1.5-alpha.1 peers के वास्तविक `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` उपयोग करते हैं; केवल नेटवर्क बैकएंड वास्तविक `ctx.web` रजिस्ट्री में पंजीकृत scripted providers हैं।
153
154
  - रिलीज़: `node scripts/release.mjs <x.y.z>` (वर्ज़न बम्प, CHANGELOG स्टैम्प, गेट पुनःचालन, कमिट + टैग; कभी push नहीं)।
154
155
 
155
156
  ## Topics
package/README.md CHANGED
@@ -10,6 +10,7 @@
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
12
12
  [![DSH plugin](https://img.shields.io/badge/dsh--plugin-✅-green)](https://github.com/topics/dsh-plugin)
13
+ [![dsh-doctor](https://raw.githubusercontent.com/PerryLink/dsh-plugin-doctor/main/badges/PerryLink__dsh-research-report.svg)](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)
13
14
  [![Node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-brightgreen.svg)](#)
14
15
  [![CI](https://img.shields.io/github/actions/workflow/status/PerryLink/dsh-research-report/ci.yml?branch=main&label=CI)](https://github.com/PerryLink/dsh-research-report/actions)
15
16
  [![Version](https://img.shields.io/github/v/tag/PerryLink/dsh-research-report?label=version)](https://github.com/PerryLink/dsh-research-report/releases)
@@ -24,10 +25,10 @@
24
25
 
25
26
  ## Compatibility
26
27
 
27
- - DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, verified 2026-09-06). npm dependency line `0.1.2-rc.1`; peers `>=0.1.2-rc.1 <0.2.0`.
28
- 0.1.2-rc.1 (adapted 2026-09-04): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. Verified 2026-09-06 against the dsh-v0.1.3-alpha.1 master checkout (full gate chain + profile install smoke).
28
+ - DeepSeek Harness `dsh-v0.1.5-alpha.1` (GitHub tag, verified 2026-09-09). npm dependency line `0.1.5-alpha.1`; peers `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
29
+ 0.1.5-alpha.1 (adapted 2026-09-09): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. Verified 2026-09-09 against the published 0.1.5-alpha.1 types (full local gate chain); the compat workflow pins both declared peer lines.
29
30
  - Node `^22.19.0 || >=24.0.0`, ESM only (`"type": "module"`).
30
- - Peer dependencies: `@deepseek-ai/cordis ^4.0.1`, `@deepseek-ai/schemastery ^3.18.0`, and `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` at `0.1.2-rc.1`.
31
+ - Peer dependencies: `@deepseek-ai/cordis ^4.0.2`, `@deepseek-ai/schemastery ^3.18.2`, and `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` at `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
31
32
  - Optional siblings (never required): `ctx.web` providers for URL capture/gather, `ctx.jobs` for background assembly, `ctx.dataQuality` (dsh-data-quality) for dataset citation cross-checks.
32
33
 
33
34
  ## What you get
@@ -118,7 +119,7 @@ All tunables are Schemastery `Config` fields; invalid values fail the profile lo
118
119
  ## Known limitations
119
120
 
120
121
  - **Byte-level, not semantic** — the built-in check locates number/quote literals verbatim; paraphrased claims without a checkable literal verify as `unverified`, and a true claim whose number is absent while its label appears with a different value reads `contradicted`. This is a deliberate v1 choice (auditable beats clever).
121
- - **Session events are adaptive** — the plugin declares typed `research-report/evidence`, `research-report/verify`, and `research-report/seal` session events, but the rc.2 `Session.append` still exposes no `ignorable` option and no plugin event-registration surface, so appends activate only when the host build knows the types (otherwise the persistence layer would refuse the log on restore). The ledger journals are always the durable source of truth.
122
+ - **Session events are adaptive** — the plugin declares typed `research-report/evidence`, `research-report/verify`, and `research-report/seal` session events, but the 0.1.5-alpha.1 `Session.append` still exposes no `ignorable` option and no plugin event-registration surface, so appends activate only when the host build knows the types (otherwise the persistence layer would refuse the log on restore). The ledger journals are always the durable source of truth.
122
123
  - **Default profiles mount no fetch provider** — the shipped `dsh-base` mounts search only, so URL capture fails loud (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`) until a fetch provider is configured; search-based `gather` lists uncaptured sources in the gap list.
123
124
  - **Single-workspace scope** — ledger and report roots resolve against the harness working directory at mount; multi-workspace deployments should configure absolute roots per profile.
124
125
 
@@ -150,8 +151,8 @@ node scripts/verify-frozen-contract.mjs
150
151
  pnpm pack
151
152
  ```
152
153
 
153
- - `typecheck` resolves `@deepseek-ai/*` through the installed 0.1.2-rc.1 peers; `typecheck:ci` clears `skipLibCheck` and enables `verbatimModuleSyntax` against the published types. Both must stay green.
154
- - Tests use the real `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` from the 0.1.2-rc.1 peers; only network backends are scripted providers registered through the real `ctx.web` registries.
154
+ - `typecheck` resolves `@deepseek-ai/*` through the installed 0.1.5-alpha.1 peers; `typecheck:ci` clears `skipLibCheck` and enables `verbatimModuleSyntax` against the published types. Both must stay green.
155
+ - Tests use the real `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` from the 0.1.5-alpha.1 peers; only network backends are scripted providers registered through the real `ctx.web` registries.
155
156
  - Release: `node scripts/release.mjs <x.y.z>` (bumps, stamps CHANGELOG, re-runs the gate, commits + tags; never pushes).
156
157
 
157
158
  ## Topics
package/README.pt.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
11
11
  [![DSH plugin](https://img.shields.io/badge/dsh--plugin-✅-green)](https://github.com/topics/dsh-plugin)
12
+ [![dsh-doctor](https://raw.githubusercontent.com/PerryLink/dsh-plugin-doctor/main/badges/PerryLink__dsh-research-report.svg)](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)
12
13
  [![Node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-brightgreen.svg)](#)
13
14
  [![CI](https://img.shields.io/github/actions/workflow/status/PerryLink/dsh-research-report/ci.yml?branch=main&label=CI)](https://github.com/PerryLink/dsh-research-report/actions)
14
15
  [![Version](https://img.shields.io/github/v/tag/PerryLink/dsh-research-report?label=version)](https://github.com/PerryLink/dsh-research-report/releases)
@@ -23,10 +24,10 @@
23
24
 
24
25
  ## Compatibility
25
26
 
26
- - DeepSeek Harness `dsh-v0.1.3-alpha.1` (GitHub tag, verificado em 2026-09-06). Linha de dependências npm `0.1.2-rc.1`; peers `>=0.1.2-rc.1 <0.2.0`.
27
- 0.1.2-rc.1 (adaptado em 2026-09-04): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. Verificado em 2026-09-06 contra o checkout master dsh-v0.1.3-alpha.1 (cadeia completa de portas + smoke de instalação do profile).
27
+ - DeepSeek Harness `dsh-v0.1.5-alpha.1` (GitHub tag, verificado em 2026-09-09). Linha de dependências npm `0.1.5-alpha.1`; peers `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
28
+ 0.1.5-alpha.1 (adaptado em 2026-09-09): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. Verificado em 2026-09-09 contra os tipos publicados 0.1.5-alpha.1 (cadeia completa de portas local); o workflow compat fixa ambas as linhas peer declaradas.
28
29
  - Node `^22.19.0 || >=24.0.0`, apenas ESM (`"type": "module"`).
29
- - Dependências peer: `@deepseek-ai/cordis ^4.0.1`, `@deepseek-ai/schemastery ^3.18.0`, e `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` em `0.1.2-rc.1`.
30
+ - Dependências peer: `@deepseek-ai/cordis ^4.0.2`, `@deepseek-ai/schemastery ^3.18.2`, e `@deepseek-ai/dsh-session`, `@deepseek-ai/dsh-tools`, `@deepseek-ai/dsh-system-prompt`, `@deepseek-ai/dsh-web`, `@deepseek-ai/dsh-jobs` em `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`.
30
31
  - Irmãos opcionais (nunca obrigatórios): providers de `ctx.web` para captura de URL/coleta, `ctx.jobs` para montagem em segundo plano, `ctx.dataQuality` (dsh-data-quality) para verificação de citações em datasets.
31
32
 
32
33
  ## What you get
@@ -116,7 +117,7 @@ Todos os ajustes são campos `Config` de Schemastery; valores inválidos falham
116
117
  ## Known limitations
117
118
 
118
119
  - **Ao nível do byte, não semântico** — a verificação incorporada localiza literais numéricos/entre aspas verbatim; claims parafraseados sem literal verificável ficam `unverified`, e um claim verdadeiro cujo número está ausente enquanto o seu rótulo aparece com outro valor fica `contradicted`. É uma escolha deliberada da v1 (auditável acima de inteligente).
119
- - **Eventos de sessão adaptativos** — o plugin declara os eventos de sessão tipados `research-report/evidence`, `research-report/verify` e `research-report/seal`, mas o `Session.append` de rc.2 continua sem opção `ignorable` nem superficie de registo de eventos para plugins, por isso os appends só ativam quando o build do host conhece os tipos (caso contrário a camada de persistência recusaria o log no restore). Os diários do livro são sempre a fonte durável da verdade.
120
+ - **Eventos de sessão adaptativos** — o plugin declara os eventos de sessão tipados `research-report/evidence`, `research-report/verify` e `research-report/seal`, mas o `Session.append` de 0.1.5-alpha.1 continua sem opção `ignorable` nem superficie de registo de eventos para plugins, por isso os appends só ativam quando o build do host conhece os tipos (caso contrário a camada de persistência recusaria o log no restore). Os diários do livro são sempre a fonte durável da verdade.
120
121
  - **Profiles por omissão não montam provider de fetch** — o `dsh-base` distribuído monta apenas pesquisa, por isso a captura de URLs falha ruidosamente (`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`) até configurar um provider de fetch; o `gather` baseado em pesquisa lista as fontes não capturadas na lista de lacunas.
121
122
  - **Âmbito de um só workspace** — as raízes de livro e relatórios resolvem contra o diretório de trabalho do harness no mount; deployments multi-workspace devem configurar raízes absolutas por profile.
122
123
 
@@ -148,8 +149,8 @@ node scripts/verify-frozen-contract.mjs
148
149
  pnpm pack
149
150
  ```
150
151
 
151
- - `typecheck` resolve `@deepseek-ai/*` através dos peers 0.1.2-rc.1 instalados; `typecheck:ci` desativa `skipLibCheck` e ativa `verbatimModuleSyntax` contra os tipos publicados. Ambos têm de ficar verdes.
152
- - Os testes usam os `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` reais dos peers 0.1.2-rc.1; apenas os backends de rede são providers scriptados registados através dos registos reais de `ctx.web`.
152
+ - `typecheck` resolve `@deepseek-ai/*` através dos peers 0.1.5-alpha.1 instalados; `typecheck:ci` desativa `skipLibCheck` e ativa `verbatimModuleSyntax` contra os tipos publicados. Ambos têm de ficar verdes.
153
+ - Os testes usam os `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime` reais dos peers 0.1.5-alpha.1; apenas os backends de rede são providers scriptados registados através dos registos reais de `ctx.web`.
153
154
  - Release: `node scripts/release.mjs <x.y.z>` (sobe versão, carimba CHANGELOG, re-executa a gate, commita + etiqueta; nunca faz push).
154
155
 
155
156
  ## Topics
package/README.zh.md CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
11
11
  [![DSH plugin](https://img.shields.io/badge/dsh--plugin-✅-green)](https://github.com/topics/dsh-plugin)
12
+ [![dsh-doctor](https://raw.githubusercontent.com/PerryLink/dsh-plugin-doctor/main/badges/PerryLink__dsh-research-report.svg)](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)
12
13
  [![Node](https://img.shields.io/badge/node-%5E22.19%20%7C%7C%20%3E%3D24-brightgreen.svg)](#)
13
14
  [![CI](https://img.shields.io/github/actions/workflow/status/PerryLink/dsh-research-report/ci.yml?branch=main&label=CI)](https://github.com/PerryLink/dsh-research-report/actions)
14
15
  [![Version](https://img.shields.io/github/v/tag/PerryLink/dsh-research-report?label=version)](https://github.com/PerryLink/dsh-research-report/releases)
@@ -23,10 +24,10 @@
23
24
 
24
25
  ## Compatibility
25
26
 
26
- - DeepSeek Harness `dsh-v0.1.3-alpha.1`(GitHub tag,2026-09-06 已核验)。npm 依赖线 `0.1.2-rc.1`;peers `>=0.1.2-rc.1 <0.2.0`。
27
- 0.1.2-rc.1(2026-09-04 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。已于 2026-09-06 对照 dsh-v0.1.3-alpha.1 master checkout 核验通过(完整门禁链 + profile 安装冒烟)。
27
+ - DeepSeek Harness `dsh-v0.1.5-alpha.1`(GitHub tag,2026-09-09 已核验)。npm 依赖线 `0.1.5-alpha.1`;peers `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0`。
28
+ 0.1.5-alpha.1(2026-09-09 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。已于 2026-09-09 对照已发布的 0.1.5-alpha.1 类型核验通过(完整本地门禁链);compat workflow 同时钉住两条已声明 peer 线。
28
29
  - Node `^22.19.0 || >=24.0.0`,仅 ESM(`"type": "module"`)。
29
- - Peer 依赖:`@deepseek-ai/cordis ^4.0.1`、`@deepseek-ai/schemastery ^3.18.0`,以及 `0.1.2-rc.1` 的 `@deepseek-ai/dsh-session`、`@deepseek-ai/dsh-tools`、`@deepseek-ai/dsh-system-prompt`、`@deepseek-ai/dsh-web`、`@deepseek-ai/dsh-jobs`。
30
+ - Peer 依赖:`@deepseek-ai/cordis ^4.0.2`、`@deepseek-ai/schemastery ^3.18.2`,以及 `>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0` 的 `@deepseek-ai/dsh-session`、`@deepseek-ai/dsh-tools`、`@deepseek-ai/dsh-system-prompt`、`@deepseek-ai/dsh-web`、`@deepseek-ai/dsh-jobs`。
30
31
  - 可选协同(绝不强制):URL 抓取/检索用 `ctx.web` provider;后台组装用 `ctx.jobs`;数据集引文核查用 `ctx.dataQuality`(dsh-data-quality)。
31
32
 
32
33
  ## What you get
@@ -116,7 +117,7 @@ dsh plugin --profile demo remove dsh-research-report # 卸载
116
117
  ## Known limitations
117
118
 
118
119
  - **字节级而非语义级**——内置核查只做数字/引文字面定位;没有可核查字面量的转述性 claim 判 `unverified`;声称值缺失而标签对应其他数值时判 `contradicted`。这是 v1 的刻意选择(可审计优先于聪明)。
119
- - **会话事件自适应**——插件声明了类型化的 `research-report/evidence`、`research-report/verify`、`research-report/seal` 会话事件,但 rc.2 的 `Session.append` 仍不提供 `ignorable` 选项、也没有插件事件注册面,所以只有宿主 build 认识这些类型时才真正落盘(否则持久化层会在恢复时拒绝该日志)。账本日志始终是权威的持久事实源。
120
+ - **会话事件自适应**——插件声明了类型化的 `research-report/evidence`、`research-report/verify`、`research-report/seal` 会话事件,但 0.1.5-alpha.1 的 `Session.append` 仍不提供 `ignorable` 选项、也没有插件事件注册面,所以只有宿主 build 认识这些类型时才真正落盘(否则持久化层会在恢复时拒绝该日志)。账本日志始终是权威的持久事实源。
120
121
  - **默认 profile 不挂载 fetch provider**——官方 `dsh-base` 只挂搜索,所以配置 fetch provider 之前 URL 抓取会响亮失败(`WEB_UNAVAILABLE`/`WEB_PROVIDER_UNAVAILABLE`);基于搜索的 `gather` 会把未捕获的来源列入缺口清单。
121
122
  - **单 workspace 作用域**——账本与报告根目录在挂载时相对 harness 工作目录解析;多 workspace 部署应在各 profile 配置绝对路径。
122
123
 
@@ -148,8 +149,8 @@ node scripts/verify-frozen-contract.mjs
148
149
  pnpm pack
149
150
  ```
150
151
 
151
- - `typecheck` 经已安装的 0.1.2-rc.1 peer 解析 `@deepseek-ai/*`;`typecheck:ci` 关闭 `skipLibCheck` 并开启 `verbatimModuleSyntax` 对照已发布类型。两者都必须保持绿。
152
- - 测试使用 0.1.2-rc.1 peer 的真实 `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime`;只有网络后端是注册进真实 `ctx.web` 注册表的脚本化 provider。
152
+ - `typecheck` 经已安装的 0.1.5-alpha.1 peer 解析 `@deepseek-ai/*`;`typecheck:ci` 关闭 `skipLibCheck` 并开启 `verbatimModuleSyntax` 对照已发布类型。两者都必须保持绿。
153
+ - 测试使用 0.1.5-alpha.1 peer 的真实 `Context`/`Session`/`ToolRuntime`/`LocalJobRegistry`/`WebRuntime`;只有网络后端是注册进真实 `ctx.web` 注册表的脚本化 provider。
153
154
  - 发布:`node scripts/release.mjs <x.y.z>`(bump、盖 CHANGELOG、重跑门禁、提交 + 打 tag;绝不 push)。
154
155
 
155
156
  ## Topics
@@ -11,9 +11,9 @@ published tarball except where noted; these are install-time dependencies:
11
11
  |---|---|---|---|
12
12
  | [tsdown](https://github.com/rolldown/tsdown) | `^0.22.14` | MIT | Build-time bundling of `lib/` (a regular dependency so the git-install channel's `prepare` script can build) |
13
13
  | [typescript](https://github.com/microsoft/TypeScript) | `^5.9.0` | Apache-2.0 | Build-time declaration emission (`lib/types/`) |
14
- | [@deepseek-ai/cordis](https://www.npmjs.com/package/@deepseek-ai/cordis) | `^4.0.1` (peer) | See package | The plugin runtime |
15
- | [@deepseek-ai/schemastery](https://www.npmjs.com/package/@deepseek-ai/schemastery) | `^3.18.0` (peer) | See package | Configuration schema |
16
- | `@deepseek-ai/dsh-*` peers | `0.1.1-rc.2` (peer) | See packages | Official harness seams (`dsh-session`, `dsh-tools`, `dsh-system-prompt`, `dsh-web`, `dsh-jobs`) |
14
+ | [@deepseek-ai/cordis](https://www.npmjs.com/package/@deepseek-ai/cordis) | `^4.0.2` (peer) | See package | The plugin runtime |
15
+ | [@deepseek-ai/schemastery](https://www.npmjs.com/package/@deepseek-ai/schemastery) | `^3.18.2` (peer) | See package | Configuration schema |
16
+ | `@deepseek-ai/dsh-*` peers | `>=0.1.2-rc.1 <0.2.0 \|\| >=0.1.5-alpha.1 <0.2.0` (peer) | See packages | Official harness seams (`dsh-session`, `dsh-tools`, `dsh-system-prompt`, `dsh-web`, `dsh-jobs`) |
17
17
 
18
18
  At runtime the plugin talks only to the harness services listed as
19
19
  peerDependencies (plus the optional `ctx.dataQuality` sibling, consumed
package/lib/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as sha256Of, a as renderSarif, o as renderVerificationJson, r as buildVerificationReport, s as verifySealedReport } from "./verify-sealed-C6HJvcUN.js";
1
+ import { _ as sha256Of, a as renderSarif, o as renderVerificationJson, r as buildVerificationReport, s as verifySealedReport } from "./verify-sealed-DFNZYs5W.js";
2
2
  import path from "node:path";
3
3
  import { readFile } from "node:fs/promises";
4
4
  //#region src/cli.ts
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as sha256Of, a as renderSarif, c as VERSION, d as extractCitations, f as mapBridgeResults, g as LedgerError, h as EvidenceLedger, i as renderMachineCheckMarkdown, l as combineOutcomes, m as verifyClaimText, n as VERIFIER_TOOL, o as renderVerificationJson, p as normalizeNumber, r as buildVerificationReport, s as verifySealedReport, t as SARIF_SCHEMA, u as contextLabelOf } from "./verify-sealed-C6HJvcUN.js";
1
+ import { _ as sha256Of, a as renderSarif, c as VERSION, d as extractCitations, f as mapBridgeResults, g as LedgerError, h as EvidenceLedger, i as renderMachineCheckMarkdown, l as combineOutcomes, m as verifyClaimText, n as VERIFIER_TOOL, o as renderVerificationJson, p as normalizeNumber, r as buildVerificationReport, s as verifySealedReport, t as SARIF_SCHEMA, u as contextLabelOf } from "./verify-sealed-DFNZYs5W.js";
2
2
  import path from "node:path";
3
3
  import z from "@deepseek-ai/schemastery";
4
4
  import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
@@ -3,5 +3,5 @@
3
3
  * @module dsh-research-report/version
4
4
  */
5
5
  /** The published package version. */
6
- export declare const VERSION = "0.3.7";
6
+ export declare const VERSION = "0.3.8";
7
7
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * @module dsh-research-report/version
4
4
  */
5
5
  /** The published package version. */
6
- export const VERSION = '0.3.7';
6
+ export const VERSION = '0.3.8';
7
7
  //# sourceMappingURL=version.js.map
@@ -491,7 +491,7 @@ function combineOutcomes(byte, bridge) {
491
491
  * @module dsh-research-report/version
492
492
  */
493
493
  /** The published package version. */
494
- const VERSION = "0.3.7";
494
+ const VERSION = "0.3.8";
495
495
  //#endregion
496
496
  //#region src/verify-sealed.ts
497
497
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-research-report",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "Verifiable research-report engine for DeepSeek Harness: a content-addressed evidence ledger (claim ↔ snapshot binding, tamper-evident) plus versioned sealed reports where every claim carries a verification verdict and the manifest hash seals the directory. Retrieval orchestration reuses the official ctx.web / ctx.jobs seams — no deep-research loop.",
5
5
  "author": "dsh-research-report contributors",
6
6
  "repository": {
@@ -69,9 +69,7 @@
69
69
  "native-code:none"
70
70
  ],
71
71
  "compatibility": {
72
- "dshVersions": [
73
- "0.1.2-rc.1"
74
- ]
72
+ "dshVersions": ["0.1.2-rc.1","0.1.5-alpha.1"]
75
73
  },
76
74
  "capability": {
77
75
  "id": "research-report",
@@ -104,11 +102,11 @@
104
102
  "peerDependencies": {
105
103
  "@deepseek-ai/cordis": "^4.0.2",
106
104
  "dsh-data-quality": ">=0.1.0 <0.4.0",
107
- "@deepseek-ai/dsh-jobs": ">=0.1.2-rc.1 <0.2.0",
108
- "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0",
109
- "@deepseek-ai/dsh-system-prompt": ">=0.1.2-rc.1 <0.2.0",
110
- "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0",
111
- "@deepseek-ai/dsh-web": ">=0.1.2-rc.1 <0.2.0",
105
+ "@deepseek-ai/dsh-jobs": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0",
106
+ "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0",
107
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0",
108
+ "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0",
109
+ "@deepseek-ai/dsh-web": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0",
112
110
  "@deepseek-ai/schemastery": "^3.18.2"
113
111
  },
114
112
  "peerDependenciesMeta": {
@@ -121,19 +119,19 @@
121
119
  "typescript": "^5.9.0"
122
120
  },
123
121
  "devDependencies": {
124
- "@deepseek-ai/dsh-util-values": "0.1.2-rc.1",
125
- "@deepseek-ai/dsh-attachment": "0.1.2-rc.1",
122
+ "@deepseek-ai/dsh-util-values": "0.1.5-alpha.1",
123
+ "@deepseek-ai/dsh-attachment": "0.1.5-alpha.1",
126
124
  "@deepseek-ai/cordis": "^4.0.2",
127
125
  "@deepseek-ai/cordis-plugin-include": "^1.0.7",
128
126
  "@deepseek-ai/cordis-plugin-loader": "^1.0.3",
129
- "@deepseek-ai/dsh-agent": "0.1.2-rc.1",
130
- "@deepseek-ai/dsh-jobs": "0.1.2-rc.1",
131
- "@deepseek-ai/dsh-jobs-local": "0.1.2-rc.1",
132
- "@deepseek-ai/dsh-llm": "0.1.2-rc.1",
133
- "@deepseek-ai/dsh-session": "0.1.2-rc.1",
134
- "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1",
135
- "@deepseek-ai/dsh-tools": "0.1.2-rc.1",
136
- "@deepseek-ai/dsh-web": "0.1.2-rc.1",
127
+ "@deepseek-ai/dsh-agent": "0.1.5-alpha.1",
128
+ "@deepseek-ai/dsh-jobs": "0.1.5-alpha.1",
129
+ "@deepseek-ai/dsh-jobs-local": "0.1.5-alpha.1",
130
+ "@deepseek-ai/dsh-llm": "0.1.5-alpha.1",
131
+ "@deepseek-ai/dsh-session": "0.1.5-alpha.1",
132
+ "@deepseek-ai/dsh-system-prompt": "0.1.5-alpha.1",
133
+ "@deepseek-ai/dsh-tools": "0.1.5-alpha.1",
134
+ "@deepseek-ai/dsh-web": "0.1.5-alpha.1",
137
135
  "@deepseek-ai/schemastery": "^3.18.2",
138
136
  "@types/node": "^22.19.0",
139
137
  "@vitest/coverage-v8": "^3.2.0",
package/src/version.ts CHANGED
@@ -4,4 +4,4 @@
4
4
  */
5
5
 
6
6
  /** The published package version. */
7
- export const VERSION = '0.3.7'
7
+ export const VERSION = '0.3.8'