feat: support dsh 0.1.7-rc.1 as the supported V4 line

Every runtime seam the plugin rides is source-identical from
0.1.7-alpha.2, so no code changes; the supported V4 baseline moves
from 0.1.7-alpha.2 to 0.1.7-rc.1 (the alphas leave the matrix). rc.1
adds the harness-side plugin peer-compatibility admission gate
(evaluatePluginCompatibility); the plugin's >=0.1.2-rc.1 dsh peers
satisfy it under the gate's includePrerelease check, so the bundle
composes with no exemption. The release workflow fetches the rc.1 tag
for the compat matrix and points the plugin checker at the npm next
dist-tag (0.1.7-rc.1).
This commit is contained in:
bowenliang123 committed 2026-09-24 11:05:05 +08:00
1 parent 091a8b3521
commit d72b6f8d12
4 files changed
+19 -11

No files matched your search

+3 -3
View File
@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v7
- name: Check the DeeSeek Harness plugin
# `alpha` = the newest published generation (0.1.7-alpha.1), whose npm
# `next` = the newest published generation (0.1.7-rc.1), whose npm
# dependency closure is complete. The 0.1.5-rc `latest` line is
# transitively broken on npm right now: web-app 0.1.5-rc.3 was
# published without the dsh-client-ui-sidebar-documentpreview rc.3 it
@@ -27,7 +27,7 @@ jobs:
# upstream republishes a complete stable closure.
uses: bowenliang123/dsh-plugin-checker@v1
with:
dshVersion: alpha
dshVersion: next
# Reads the pinned pnpm version from `packageManager` in package.json.
- uses: pnpm/action-setup@v6
@@ -65,7 +65,7 @@ jobs:
refs/tags/dsh-v0.1.2-rc.1:refs/tags/dsh-v0.1.2-rc.1 \
refs/tags/dsh-v0.1.3-alpha.2:refs/tags/dsh-v0.1.3-alpha.2 \
refs/tags/dsh-v0.1.5-rc.1:refs/tags/dsh-v0.1.5-rc.1 \
refs/tags/dsh-v0.1.7-alpha.2:refs/tags/dsh-v0.1.7-alpha.2
refs/tags/dsh-v0.1.7-rc.1:refs/tags/dsh-v0.1.7-rc.1
- name: Test
run: DSH_REPO="$PWD/.tmp/dsh-repo" pnpm test
+7 -3
View File
@@ -2,7 +2,7 @@
dsh-context declares per-release compatibility with `@deepseek-ai/dsh` in its package manifest (`dsh.compatibility.dshReleases`). This page records what is actually verified for each declared release, and how.
Last verified: **2026-09-23** (plugin `dsh-context@0.55.0` source tree, dsh `0.1.7-alpha.2`).
Last verified: **2026-09-24** (plugin `dsh-context@0.55.0` source tree, dsh `0.1.7-rc.1`).
## Supported dsh releases
@@ -11,11 +11,15 @@ Last verified: **2026-09-23** (plugin `dsh-context@0.55.0` source tree, dsh `0.1
| `0.1.2-rc.1` | V0 | compatible | ✅ baseline `v0.1.2-rc.1` | ✅ install OK → 1 composed row → uninstall OK → 0 rows (verified 2026-09-05) |
| `0.1.3-alpha.2` | V2 | compatible | ✅ baseline `v0.1.3-alpha.2` | ✅ install OK → 1 composed row → uninstall OK → 0 rows (verified 2026-09-09) |
| `0.1.5-rc.1` | V3 | compatible | ✅ baseline `v0.1.5-rc.1` | ✅ install OK → 1 composed row → uninstall OK → 0 rows (verified 2026-09-10) |
| `0.1.7-alpha.2` | V4 | compatible | ✅ baseline `v0.1.7-alpha.2` | — (not yet performed manually) |
| `0.1.7-rc.1` | V4 | compatible | ✅ baseline `v0.1.7-rc.1` | — (not yet performed manually) |
The automated seam matrix runs for every row on every `pnpm test`. The disposable-profile column is a manual, per-release check: each release's CLI was installed from npm into a temporary `DSH_HOME` (the real `~/.dsh` is never touched) — `0.1.2-rc.1` on 2026-09-05, `0.1.3-alpha.2` on 2026-09-09, and `0.1.5-rc.1` on 2026-09-10, against the official npm registry (a stale mirror can 404 the harness's own dependency closure before the plugin is even considered).
Releases older than `0.1.2-rc.1` — the `0.1.1` line and the `0.1.2-alpha.*` previews — were supported and verified through `dsh-context@0.41.x` and are no longer in the support matrix.
Releases older than `0.1.2-rc.1` — the `0.1.1` line and the `0.1.2-alpha.*` previews — were supported and verified through `dsh-context@0.41.x` and are no longer in the support matrix. The `0.1.7-alpha.*` previews are likewise out: they carried the V4 generation into the matrix through `0.1.7-alpha.2`, and the supported V4 line is now `0.1.7-rc.1`.
## Harness-side compatibility admission (0.1.7-rc.1+)
From `0.1.7-rc.1` the harness enforces a plugin's own `peerDependencies` at startup and install: a bundle whose `@deepseek-ai/dsh*` peer ranges do not satisfy the running version (semver, `includePrerelease: true`) is skipped at composition, refused at install, and only loads with an exact-version exemption (`dsh plugin allow-version`). This plugin's dsh peers are all `>=0.1.2-rc.1`, which every supported release — including every prerelease line — satisfies, so the plugin composes normally with no exemption.
## Baseline gate
+1 -1
View File
@@ -71,7 +71,7 @@
"0.1.2-rc.1": "compatible",
"0.1.3-alpha.2": "compatible",
"0.1.5-rc.1": "compatible",
"0.1.7-alpha.2": "compatible"
"0.1.7-rc.1": "compatible"
}
}
},
+8 -4
View File
@@ -16,7 +16,7 @@
*/
/** The supported dsh tags, in lockstep with the BASELINES entries below. */
export type BaselineId = 'v0.1.2-rc.1' | 'v0.1.3-alpha.2' | 'v0.1.5-rc.1' | 'v0.1.7-alpha.2'
export type BaselineId = 'v0.1.2-rc.1' | 'v0.1.3-alpha.2' | 'v0.1.5-rc.1' | 'v0.1.7-rc.1'
/** The harness web half's client faces, as far as the compat probes consume them. */
export interface ClientSeam {
@@ -330,10 +330,14 @@ export const BASELINES: readonly Baseline[] = [
// the Plugins page's keyed `plugins.bundle.config` slot there, keeping the
// old registration for the V0–V3 lines (each slot exists on exactly one
// side, so the deferred injects pick their generation and never pend).
id: 'v0.1.7-alpha.2',
tag: 'dsh-v0.1.7-alpha.2',
// 0.1.7-rc.1 additionally enforces plugin dsh-peer compatibility at
// startup and install (evaluatePluginCompatibility); this plugin's
// `>=0.1.2-rc.1` dsh peers satisfy every supported line under the gate's
// includePrerelease check.
id: 'v0.1.7-rc.1',
tag: 'dsh-v0.1.7-rc.1',
cordis: '4.0.4',
session: '0.1.7-alpha.2',
session: '0.1.7-rc.1',
foldEventTypes: [
'request/header', 'request/context', 'step/start', 'step/end',
'user/message', 'tool/call', 'tool/result', 'assistant/message', 'assistant/attempt',