@softspark/ai-toolkit 4.32.4 → 4.33.0

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
@@ -7,6 +7,31 @@ Versioning follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## v4.33.0 - DSH refresh and maintenance contracts (2026-09-06)
11
+
12
+ ### Changed
13
+
14
+ - Explicit DSH profile lifecycle targets runtime `0.1.2-rc.1` and exact packages
15
+ `@softspark/dsh-codex@1.5.0` and `@softspark/dsh-orchestrator@2.0.0`.
16
+ Upgrade the DSH runtime before updating the managed profile packages.
17
+ - Refresh the ecosystem source references and retain the pnpm 11 support range
18
+ declared by the reviewed upstream release.
19
+
20
+ ### Fixed
21
+
22
+ - Automatically select Claude Agent SDK `0.3.263` for the DSH Claude provider,
23
+ replacing the bundled CLI rejected by current models. Preserve unrelated
24
+ profile settings and restore prior configuration after failed installation
25
+ or update; concurrent file replacements remain preserved for recovery.
26
+ - Align the security support table with the current 4.x release line and describe
27
+ the actual scope of hooks, network-aware commands, and managed installation files.
28
+ - Require documentation, generated surfaces, and counts to change in the same
29
+ pull request as the corresponding behavior.
30
+ - Cover migration from the previously shipped DSH package pair and retain
31
+ rollback tests that restore the exact recorded package versions.
32
+ - Canonicalize temporary test roots on macOS so recovery assertions compare
33
+ the same paths reported by the lifecycle without weakening the assertions.
34
+
10
35
  ## v4.32.4 - Validation parity and API error contracts (2026-09-06)
11
36
 
12
37
  ### Changed
package/README.md CHANGED
@@ -6,24 +6,21 @@
6
6
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
7
7
  [![Skills](https://img.shields.io/badge/skills-114-brightgreen)](app/skills/)
8
8
  [![Agents](https://img.shields.io/badge/agents-44-blue)](app/agents/)
9
- [![Tests](https://img.shields.io/badge/tests-1978%20passing-success)](tests/)
9
+ [![Tests](https://img.shields.io/badge/tests-1989%20passing-success)](tests/)
10
10
 
11
- ## What's New in v4.32.4
11
+ ## What's New in v4.33.0
12
12
 
13
- **v4.32.4** documents validation parity and reliable API error handling:
13
+ **v4.33.0** refreshes the explicit DSH lifecycle and public maintenance policies:
14
14
 
15
- - **One validation contract for frontend and backend.** Existing skills cover
16
- DTO groups/defaults, nested collections, Unicode, explicit server-only checks
17
- and shared regression fixtures, with backend enforcement kept authoritative.
18
- - **Errors preserve the API contract.** Guidance separates local refusals,
19
- domain conflicts and technical failures, retaining field paths, machine
20
- codes and safe recovery when a write outcome is uncertain.
21
- - **Schema examples match validator behavior.** Correct JSON Schema
22
- conditional requirements and Ajv strict-mode guidance; keep state-dependent
23
- domain checks alongside validation at the request boundary.
24
- - **Release smoke tests verify the installed artifact.** Procedures use
25
- disposable environments, current inventories and assertions for missing
26
- generated files, without modifying the operator's live installation.
15
+ - **Current DSH package pins.** Explicit profile installation and updates target
16
+ DSH `0.1.2-rc.1`, `dsh-codex 1.5.0`, and `dsh-orchestrator 2.0.0`.
17
+ - **Existing profile ownership survives the update.** Regression tests cover
18
+ refreshing the previously shipped package pair and restoring the recorded
19
+ versions when an update fails.
20
+ - **Accurate security scope.** The support table follows the current release
21
+ line, and the policy describes the actual installation and network boundaries.
22
+ - **Documentation travels with code.** Contributions update affected KB pages,
23
+ manifests, counts, and generated instructions in the same pull request.
27
24
 
28
25
  See [CHANGELOG.md](CHANGELOG.md) for full history.
29
26
 
@@ -96,7 +93,7 @@ ai-toolkit dsh doctor --profile web
96
93
  ai-toolkit dsh uninstall --profile web --yes
97
94
  ```
98
95
 
99
- DSH is excluded from `--editors all`, auto-detection, and defaults. Its only DSH-specific project output is `.agents/skills`; the normal `--local` Claude files, detected language rules, and other generic project outputs still apply. Project and profile `--dry-run` commands are read-only. The reviewed pins are DSH `0.1.1-rc.2`, `@softspark/dsh-codex@1.0.0`, and `@softspark/dsh-orchestrator@1.0.1`. Codex, Claude Code, and GitHub Copilot own their logins. ai-toolkit accepts no provider API keys, and GitHub AI credits apply to the Copilot Gemini route. Isolated pre-tag and exact-registry post-release qualification completed both Claude Code and Copilot Gemini marker roundtrips through the Codex parent. See [DSH Compatibility](kb/reference/dsh-compatibility.md).
96
+ DSH is excluded from `--editors all`, auto-detection, and defaults. Its only DSH-specific project output is `.agents/skills`; the normal `--local` Claude files, detected language rules, and other generic project outputs still apply. Project and profile `--dry-run` commands are read-only. The lifecycle targets DSH `0.1.2-rc.1`, `@softspark/dsh-codex@1.5.0`, and `@softspark/dsh-orchestrator@2.0.0`. Update the DSH runtime before updating this profile integration. Codex, Claude Code, and GitHub Copilot own their logins. ai-toolkit accepts no provider API keys, and GitHub AI credits apply to the Copilot Gemini route. See [DSH Compatibility](kb/reference/dsh-compatibility.md) for the exact contract and version-specific qualification evidence.
100
97
 
101
98
  ### Plugin Management
102
99
 
@@ -3,7 +3,7 @@
3
3
  "name": "ai-toolkit",
4
4
  "displayName": "AI Toolkit",
5
5
  "description": "Professional-grade engineering skills, agents, rules, and lifecycle guardrails for Claude Code, Claude Chat, and Cowork.",
6
- "version": "4.32.4",
6
+ "version": "4.33.0",
7
7
  "author": {
8
8
  "name": "SoftSpark",
9
9
  "url": "https://github.com/softspark"
@@ -3,7 +3,7 @@ title: "SOP: Release Verification"
3
3
  category: procedures
4
4
  service: ai-toolkit
5
5
  tags: [sop, verification, release, smoke-test, install, update, qa, provenance, sarif, dsh]
6
- version: "1.8.1"
6
+ version: "1.8.2"
7
7
  created: "2026-04-08"
8
8
  last_updated: "2026-09-06"
9
9
  description: "End-to-end smoke test after installing or updating @softspark/ai-toolkit. Verifies CLI, native Codex and GitHub Copilot surfaces, explicit DSH lifecycle, Claude app export, doctor, validation, tests, eject, provenance, SARIF, and per-skill permissions."
@@ -473,15 +473,17 @@ app-native rules skill, bundled agents/skills, and plugin-relative Cowork hooks.
473
473
 
474
474
  Run this phase whenever the release changes the `dsh` target, package pins, preset lifecycle, or DSH compatibility documentation. Use a new task-specific `DSH_HOME`; never replace `HOME` or reuse a regular profile.
475
475
 
476
- Prerequisites: DSH `0.1.1-rc.2`, pnpm `>=11.7.0,<12.0.0`, Codex logged in through ChatGPT, Claude Code logged in natively, and GitHub Copilot CLI logged in natively. Do not supply provider API keys.
476
+ Prerequisites: DSH `0.1.2-rc.1`, pnpm `>=11.7.0,<12.0.0`, Codex logged in through ChatGPT, Claude Code logged in natively, and GitHub Copilot CLI logged in natively. Do not supply provider API keys. The lifecycle automatically installs the scoped Claude Agent SDK `0.3.263` override and checks the actual provider and SDK metadata; no manual vendor configuration is needed.
477
477
 
478
478
  ```bash
479
479
  DSH_SMOKE_ROOT="$(mktemp -d)"
480
480
  export DSH_HOME="$DSH_SMOKE_ROOT/dsh-home"
481
+ export AI_TOOLKIT_HOME="$DSH_SMOKE_ROOT/toolkit-state"
482
+ mkdir -p "$DSH_HOME"
481
483
 
482
484
  ai-toolkit dsh install --profile web
483
485
  ai-toolkit dsh doctor --profile web
484
- dsh --profile web --host 127.0.0.1 --port 0 --no-open
486
+ DSH_TELEMETRY_DISABLED=1 dsh --profile web --host 127.0.0.1 --port 0 --no-open
485
487
  ```
486
488
 
487
489
  In a new `softspark-orchestrator` session, select the `codex` provider and run two standalone marker prompts:
@@ -495,7 +497,7 @@ Stop DSH, then remove only the managed profile artifacts:
495
497
  ai-toolkit dsh uninstall --profile web --yes
496
498
  ```
497
499
 
498
- **Verify:** both tool results have `isError=false`, both turns end as `completed`, `doctor` reports no recovery requirement before uninstall, and an unrelated preset fixture remains unchanged. Preserve only redacted event sequence evidence; never attach credentials, auth files, or full private prompts.
500
+ **Verify:** both tool results have `isError=false`, both turns end as `completed`, `doctor` reports `Claude SDK: compatible (0.3.263)` and no recovery requirement before uninstall, and an unrelated preset fixture remains unchanged. The task-specific `AI_TOOLKIT_HOME` keeps lifecycle state separate from the operator's installation; `HOME` remains unchanged. Preserve only redacted event sequence evidence; never attach credentials, auth files, or full private prompts.
499
501
 
500
502
  ---
501
503
 
@@ -3,9 +3,9 @@ title: "AI Toolkit - DSH Compatibility"
3
3
  category: reference
4
4
  service: ai-toolkit
5
5
  tags: [dsh, deepseek-harness, subscriptions, lifecycle, compatibility]
6
- version: "1.7.0"
6
+ version: "1.8.0"
7
7
  created: "2026-08-31"
8
- last_updated: "2026-09-01"
8
+ last_updated: "2026-09-06"
9
9
  description: "Compatibility contract for project skills and the explicit SoftSpark package lifecycle in DeepSeek Harness."
10
10
  ---
11
11
 
@@ -15,14 +15,14 @@ description: "Compatibility contract for project skills and the explicit SoftSpa
15
15
 
16
16
  ai-toolkit supports DeepSeek Harness as an explicit developer-preview target. The integration is maintained by SoftSpark as a community compatibility layer. DeepSeek AI has not endorsed it.
17
17
 
18
- The reviewed runtime is DSH `0.1.1-rc.2`. Newer upstream prereleases are not covered until they pass the same qualification. Isolated pre-tag and exact-registry post-release profiles completed the Claude Code and Copilot Gemini marker roundtrips through a Codex parent on 2026-09-01.
18
+ The 4.33.0 lifecycle targets DSH `0.1.2-rc.1`, with the exact package pair below. Other upstream prereleases require their own qualification. Historical marker roundtrips from 2026-09-01 used DSH `0.1.1-rc.2`; version-specific evidence is recorded under Qualification below.
19
19
 
20
20
  ## Project vs Profile Outputs
21
21
 
22
22
  | Surface | Command | Managed output | Explicit non-output |
23
23
  |---|---|---|---|
24
24
  | Project install | `ai-toolkit install --local --editors dsh` | `CLAUDE.md`, `.claude/settings.local.json`, `.claude/constitution.md`, detected language rules, other generic local outputs, and the DSH-specific one-level `.agents/skills/<name>/SKILL.md` catalog with bundled resources | No `$DSH_HOME` writes, npm package changes, profile changes, preset changes, or credential reads |
25
- | DSH profile | `ai-toolkit dsh install --profile web` | Two exact npm dependencies in the named profile, the released `softspark-orchestrator` preset, and ai-toolkit ownership state | No project files, provider login, API keys, unrelated plugins, or user presets |
25
+ | DSH profile | `ai-toolkit dsh install --profile web` | Two exact npm dependencies, the scoped Claude SDK override and missing profile initialization files, the released `softspark-orchestrator` preset, and ai-toolkit ownership state | No project files, provider login, API keys, unrelated plugins, or user presets |
26
26
 
27
27
  DSH is excluded from `--editors all`, auto-detection, default profiles, and default editor selection. Naming `dsh` without `--local` is not a supported project install route.
28
28
 
@@ -50,13 +50,31 @@ The DSH profile defaults to `web` when `--profile` is omitted. `DSH_HOME` select
50
50
 
51
51
  | Component | Reviewed version | Role |
52
52
  |---|---:|---|
53
- | DeepSeek Harness | `0.1.1-rc.2` | Profile host and plugin manager |
53
+ | DeepSeek Harness | `0.1.2-rc.1` | Profile host and plugin manager |
54
54
  | pnpm | `>=11.7.0,<12.0.0` | Package manager used by the DSH plugin command |
55
- | `@softspark/dsh-codex` | `1.0.0` | Codex parent provider through local `codex app-server` |
56
- | `@softspark/dsh-orchestrator` | `1.0.1` | Claude Code and GitHub Copilot Gemini delegation bundle plus released preset |
55
+ | `@softspark/dsh-codex` | `1.5.0` | Codex parent provider through local `codex app-server` |
56
+ | `@softspark/dsh-orchestrator` | `2.0.0` | Claude Code and GitHub Copilot Gemini delegation bundle plus released preset |
57
+ | Claude Agent SDK | `0.3.263` | Exact profile override for the DSH Claude provider's bundled CLI |
57
58
 
58
59
  Install and update use exact package arguments with `--save-exact`. Arbitrary DSH prereleases and unpinned SoftSpark packages are outside this contract.
59
60
 
61
+ Install and update also configure the exact profile selector
62
+ `@deepseek-ai/dsh-subagent-claude-code@0.1.2-rc.1>@anthropic-ai/claude-agent-sdk`
63
+ to `0.3.263`. DSH's original SDK `0.3.241` embeds Claude Code `2.1.241`, which
64
+ current models reject even when the standalone Claude command is up to date.
65
+ The override is applied through pnpm's JSON configuration API. Unrelated
66
+ settings and overrides are preserved; an incompatible SDK override or an
67
+ explicit non-hoisted package layout fails with guidance before modification.
68
+ The installed SDK's actual package metadata is checked before state is committed.
69
+
70
+ Upgrade the DSH runtime to `0.1.2-rc.1` before running this release's profile
71
+ update. Ownership records for the earlier exact package pair remain valid and
72
+ are migrated by `ai-toolkit dsh update`. On failure, rollback uses the versions
73
+ recorded before the operation. The optional `dsh-file-preview` and
74
+ `dsh-process-console` UI bundles are separate profile additions; their `2.0.0`
75
+ line targets the new DSH client APIs, and the toolkit preserves them as unrelated
76
+ dependencies.
77
+
60
78
  The reviewed DSH tag declares `pnpm@11.7.0`. The isolated cold-install environment used Corepack pnpm `11.24.0`, so the lifecycle accepts stable pnpm releases from `11.7.0` through the end of major 11. Before it creates the lifecycle lock or changes a profile, it resolves exact DSH and pnpm command paths from the minimal child `PATH`, records their command and resolved-file identities, and runs their version probes with a five-second bound. Missing, nonzero, timed-out, malformed, or unsupported pnpm probes fail with no package, preset, state, or lifecycle artifact.
61
79
 
62
80
  ## Subscription and Authentication Boundaries
@@ -111,6 +129,17 @@ The DSH record stores the canonical DSH home, profile, exact package versions, p
111
129
 
112
130
  The published npm packages own their installed code. The canonical preset source is `@softspark/dsh-orchestrator/agent-presets/softspark-orchestrator` inside the exact installed package. ai-toolkit copies and verifies that tree. It does not reconstruct the preset.
113
131
 
132
+ Missing profile initialization files are created exclusively under pinned
133
+ directories using the qualified DSH profile schema before invoking the external
134
+ configuration command. A file appearing concurrently is never adopted as owned,
135
+ even when its bytes match. The transaction snapshots `pnpm-workspace.yaml` bytes, mode and file identity in
136
+ addition to package state. Ordinary failures restore that prestate through the
137
+ same guarded file restoration used for the profile manifest. Default profile
138
+ files created during initialization are removed only while their recorded
139
+ identities still match. Unexpected settings changes or ambiguous failed
140
+ external writes remain preserved behind a recovery marker. Configuration
141
+ contents are never copied into lifecycle state, receipts, or error messages.
142
+
114
143
  Mutations first take a nonblocking exclusive POSIX `flock` on the already pinned `DSH_HOME` directory descriptor, then claim the bounded canonical lifecycle lock and use the shared state lock with compare-and-swap publication. Directory locking is independent of the replaceable lock filename. It remains held across sentinel scans, package and preset mutation, normal canonical-lock release, or recovery-sentinel creation plus file and directory `fsync`. A competing lifecycle must acquire the same directory lock before it can scan recovery state or claim the canonical name. The immutable prerequisite record is revalidated after lock acquisition and before every package mutation or package rollback. A replaced or removed executable, or a new earlier `pnpm` PATH shadow, blocks the command. The verified pnpm command directory is placed first in the child PATH so DSH's literal `pnpm` lookup resolves to the probed command. Install, update, and uninstall verify the profile manifest, package trees, preset identity, and unrelated dependencies before and after each external package-manager command. Rollback restores the immutable pre-operation target. It does not reinterpret concurrent bytes as owned data.
115
144
 
116
145
  Each DSH plugin add, update, remove, or rollback command has a 300-second process bound, separate from the short prerequisite probe. This bound accommodates cold package resolution without promising registry or network latency. Every mutation starts DSH in a dedicated POSIX session and process group. A timeout or interruption signals the complete group, escalates from `SIGTERM` to `SIGKILL` when needed, and waits for confirmed group exit before rollback. If exit cannot be confirmed, package rollback is blocked and deterministic inspection steps are reported. Child stdout and stderr remain suppressed from user-facing errors.
@@ -144,8 +173,17 @@ The first native target also excludes DSH hook bridging, MCP bridging, arbitrary
144
173
 
145
174
  `ai-toolkit dsh doctor` is read-only. It reports the DSH runtime version, pnpm availability and version, package pins, package-tree and preset ownership, state consistency, lifecycle lock recovery artifacts, staging paths, and recovery markers. A recovery marker keeps `Recovery needed: yes` visible until the operator resolves the named paths.
146
175
 
176
+ Doctor also checks the required SDK override and installed SDK version. It
177
+ queries pnpm directly only when the profile directory exists. It never uses
178
+ `dsh plugin` for inspection, because that command initializes missing profiles.
179
+
147
180
  `ai-toolkit dsh uninstall --yes` removes only the recorded SoftSpark packages, preset, and profile state. Drift or ownership ambiguity stops removal. Unrelated profile dependencies, patch files, presets, and state keys remain unchanged.
148
181
 
182
+ Successful uninstall retains the scoped SDK compatibility setting and the
183
+ profile's pnpm layout. They are runtime prerequisites for a later reinstall,
184
+ not ownership of the user's entire profile. Failed operations restore their
185
+ pre-operation configuration unless concurrent edits make that unsafe.
186
+
149
187
  ## Verification
150
188
 
151
189
  Run the static and isolated checks without modifying a regular DSH profile:
@@ -163,11 +201,45 @@ ai-toolkit dsh doctor --profile web
163
201
  ai-toolkit dsh uninstall --profile web --dry-run --yes
164
202
  ```
165
203
 
166
- Phase 3 real-profile qualification completed with a task-specific `DSH_HOME`, exact published package artifacts, and native vendor logins. The pre-tag candidate and exact npm registry package both produced successful child and parent markers through `subagent_claude_code` and `subagent_gemini_copilot`; no provider API key was supplied or handled. The isolated DSH processes stopped cleanly and the unrelated profile fixture remained intact.
204
+ ### Historical qualification, 2026-09-01
205
+
206
+ The earlier DSH `0.1.1-rc.2` package pair completed real-profile qualification
207
+ with a task-specific `DSH_HOME`, exact published package artifacts, and native
208
+ vendor logins. The pre-tag candidate and registry package produced successful
209
+ child and parent markers through `subagent_claude_code` and
210
+ `subagent_gemini_copilot`. No provider API key was supplied or handled; the
211
+ isolated processes stopped and the unrelated profile fixture remained intact.
212
+
213
+ ### DSH 0.1.2-rc.1 qualification
214
+
215
+ On 2026-09-06, the installed 4.33.0 candidate completed install, doctor,
216
+ update, doctor, a controlled second-package failure with real pnpm rollback,
217
+ doctor and uninstall against the published Codex 1.5.0/orchestrator 2.0.0
218
+ pair. Rollback preserved the manifest, pnpm settings, ownership state and
219
+ unrelated preset byte for byte. Doctor reported the exact package versions,
220
+ Claude SDK 0.3.263 and no recovery requirement. Uninstall removed the managed
221
+ packages, preset and profile ownership while retaining the unrelated preset
222
+ and runtime SDK prerequisite. Both state roots were disposable; HOME stayed
223
+ unchanged.
224
+
225
+ The composed web host returned the Claude and Gemini child markers through
226
+ the Codex parent. Browser checks covered cancellation, restart, the native
227
+ child transcript and preservation of the parent session. The DSH package
228
+ verification records retain those runtime results and their separate exact
229
+ registry signature/provenance checks.
230
+
231
+ The toolkit candidate also passed 1,989 Bats and 354 Python tests. An
232
+ unmounted disposable container passed global install, status, doctor, local
233
+ installation for all editors, repeated installation, eject and the official
234
+ Claude 2.1.263 plugin validator. Exact published toolkit artifact results are
235
+ recorded on the 4.33.0 release page after publication.
167
236
 
168
237
  ## Preview and Upstream Drift
169
238
 
170
- DeepSeek Harness describes itself as a developer preview with compatibility-breaking changes. The upstream release feed published `0.1.2-alpha.2` after the reviewed `0.1.1-rc.2` line. ai-toolkit does not adopt that prerelease by inference.
239
+ DeepSeek Harness is a developer preview with compatibility-breaking changes.
240
+ On 2026-09-06, npm `latest` pointed to `0.1.2-rc.1`. GitHub also listed
241
+ `0.1.3-alpha.1`, but that exact CLI version was absent from npm. It is outside
242
+ this lifecycle contract.
171
243
 
172
244
  Use the registry doctor to detect documentation, capability-marker, and local version changes. A new upstream version requires source review, focused fixture updates, isolated real-profile qualification, and explicit pin changes before support moves.
173
245
 
@@ -175,9 +247,9 @@ Use the registry doctor to detect documentation, capability-marker, and local ve
175
247
 
176
248
  - [DeepSeek Harness documentation](https://deepseek-harness.github.io/deepseek-harness/)
177
249
  - [DeepSeek Harness releases](https://github.com/deepseek-ai/deepseek-harness/releases)
178
- - [Reviewed DSH 0.1.1-rc.2 release](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.1-rc.2)
179
- - [Reviewed DSH package-manager declaration](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/package.json)
180
- - [Reviewed DSH CLI profile and plugin contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/apps/cli/reference/README.md)
181
- - [Reviewed DSH skill discovery contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/docs/subsystems/skills.md)
250
+ - [Reviewed DSH 0.1.2-rc.1 release](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.2-rc.1)
251
+ - [Reviewed DSH package-manager declaration](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/package.json)
252
+ - [Reviewed DSH CLI profile and plugin contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/apps/cli/reference/README.md)
253
+ - [Reviewed DSH skill discovery contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/docs/subsystems/skills.md)
182
254
  - [PATH: kb/reference/manifest-install.md]
183
255
  - [PATH: kb/history/completed/dsh-native-install-target-plan.md]
package/llms-full.txt CHANGED
@@ -8243,7 +8243,7 @@ title: "SOP: Release Verification"
8243
8243
  category: procedures
8244
8244
  service: ai-toolkit
8245
8245
  tags: [sop, verification, release, smoke-test, install, update, qa, provenance, sarif, dsh]
8246
- version: "1.8.1"
8246
+ version: "1.8.2"
8247
8247
  created: "2026-04-08"
8248
8248
  last_updated: "2026-09-06"
8249
8249
  description: "End-to-end smoke test after installing or updating @softspark/ai-toolkit. Verifies CLI, native Codex and GitHub Copilot surfaces, explicit DSH lifecycle, Claude app export, doctor, validation, tests, eject, provenance, SARIF, and per-skill permissions."
@@ -8713,15 +8713,17 @@ app-native rules skill, bundled agents/skills, and plugin-relative Cowork hooks.
8713
8713
 
8714
8714
  Run this phase whenever the release changes the `dsh` target, package pins, preset lifecycle, or DSH compatibility documentation. Use a new task-specific `DSH_HOME`; never replace `HOME` or reuse a regular profile.
8715
8715
 
8716
- Prerequisites: DSH `0.1.1-rc.2`, pnpm `>=11.7.0,<12.0.0`, Codex logged in through ChatGPT, Claude Code logged in natively, and GitHub Copilot CLI logged in natively. Do not supply provider API keys.
8716
+ Prerequisites: DSH `0.1.2-rc.1`, pnpm `>=11.7.0,<12.0.0`, Codex logged in through ChatGPT, Claude Code logged in natively, and GitHub Copilot CLI logged in natively. Do not supply provider API keys. The lifecycle automatically installs the scoped Claude Agent SDK `0.3.263` override and checks the actual provider and SDK metadata; no manual vendor configuration is needed.
8717
8717
 
8718
8718
  ```bash
8719
8719
  DSH_SMOKE_ROOT="$(mktemp -d)"
8720
8720
  export DSH_HOME="$DSH_SMOKE_ROOT/dsh-home"
8721
+ export AI_TOOLKIT_HOME="$DSH_SMOKE_ROOT/toolkit-state"
8722
+ mkdir -p "$DSH_HOME"
8721
8723
 
8722
8724
  ai-toolkit dsh install --profile web
8723
8725
  ai-toolkit dsh doctor --profile web
8724
- dsh --profile web --host 127.0.0.1 --port 0 --no-open
8726
+ DSH_TELEMETRY_DISABLED=1 dsh --profile web --host 127.0.0.1 --port 0 --no-open
8725
8727
  ```
8726
8728
 
8727
8729
  In a new `softspark-orchestrator` session, select the `codex` provider and run two standalone marker prompts:
@@ -8735,7 +8737,7 @@ Stop DSH, then remove only the managed profile artifacts:
8735
8737
  ai-toolkit dsh uninstall --profile web --yes
8736
8738
  ```
8737
8739
 
8738
- **Verify:** both tool results have `isError=false`, both turns end as `completed`, `doctor` reports no recovery requirement before uninstall, and an unrelated preset fixture remains unchanged. Preserve only redacted event sequence evidence; never attach credentials, auth files, or full private prompts.
8740
+ **Verify:** both tool results have `isError=false`, both turns end as `completed`, `doctor` reports `Claude SDK: compatible (0.3.263)` and no recovery requirement before uninstall, and an unrelated preset fixture remains unchanged. The task-specific `AI_TOOLKIT_HOME` keeps lifecycle state separate from the operator's installation; `HOME` remains unchanged. Preserve only redacted event sequence evidence; never attach credentials, auth files, or full private prompts.
8739
8741
 
8740
8742
  ---
8741
8743
 
@@ -12072,9 +12074,9 @@ title: "AI Toolkit - DSH Compatibility"
12072
12074
  category: reference
12073
12075
  service: ai-toolkit
12074
12076
  tags: [dsh, deepseek-harness, subscriptions, lifecycle, compatibility]
12075
- version: "1.7.0"
12077
+ version: "1.8.0"
12076
12078
  created: "2026-08-31"
12077
- last_updated: "2026-09-01"
12079
+ last_updated: "2026-09-06"
12078
12080
  description: "Compatibility contract for project skills and the explicit SoftSpark package lifecycle in DeepSeek Harness."
12079
12081
  ---
12080
12082
 
@@ -12084,14 +12086,14 @@ description: "Compatibility contract for project skills and the explicit SoftSpa
12084
12086
 
12085
12087
  ai-toolkit supports DeepSeek Harness as an explicit developer-preview target. The integration is maintained by SoftSpark as a community compatibility layer. DeepSeek AI has not endorsed it.
12086
12088
 
12087
- The reviewed runtime is DSH `0.1.1-rc.2`. Newer upstream prereleases are not covered until they pass the same qualification. Isolated pre-tag and exact-registry post-release profiles completed the Claude Code and Copilot Gemini marker roundtrips through a Codex parent on 2026-09-01.
12089
+ The 4.33.0 lifecycle targets DSH `0.1.2-rc.1`, with the exact package pair below. Other upstream prereleases require their own qualification. Historical marker roundtrips from 2026-09-01 used DSH `0.1.1-rc.2`; version-specific evidence is recorded under Qualification below.
12088
12090
 
12089
12091
  ## Project vs Profile Outputs
12090
12092
 
12091
12093
  | Surface | Command | Managed output | Explicit non-output |
12092
12094
  |---|---|---|---|
12093
12095
  | Project install | `ai-toolkit install --local --editors dsh` | `CLAUDE.md`, `.claude/settings.local.json`, `.claude/constitution.md`, detected language rules, other generic local outputs, and the DSH-specific one-level `.agents/skills/<name>/SKILL.md` catalog with bundled resources | No `$DSH_HOME` writes, npm package changes, profile changes, preset changes, or credential reads |
12094
- | DSH profile | `ai-toolkit dsh install --profile web` | Two exact npm dependencies in the named profile, the released `softspark-orchestrator` preset, and ai-toolkit ownership state | No project files, provider login, API keys, unrelated plugins, or user presets |
12096
+ | DSH profile | `ai-toolkit dsh install --profile web` | Two exact npm dependencies, the scoped Claude SDK override and missing profile initialization files, the released `softspark-orchestrator` preset, and ai-toolkit ownership state | No project files, provider login, API keys, unrelated plugins, or user presets |
12095
12097
 
12096
12098
  DSH is excluded from `--editors all`, auto-detection, default profiles, and default editor selection. Naming `dsh` without `--local` is not a supported project install route.
12097
12099
 
@@ -12119,13 +12121,31 @@ The DSH profile defaults to `web` when `--profile` is omitted. `DSH_HOME` select
12119
12121
 
12120
12122
  | Component | Reviewed version | Role |
12121
12123
  |---|---:|---|
12122
- | DeepSeek Harness | `0.1.1-rc.2` | Profile host and plugin manager |
12124
+ | DeepSeek Harness | `0.1.2-rc.1` | Profile host and plugin manager |
12123
12125
  | pnpm | `>=11.7.0,<12.0.0` | Package manager used by the DSH plugin command |
12124
- | `@softspark/dsh-codex` | `1.0.0` | Codex parent provider through local `codex app-server` |
12125
- | `@softspark/dsh-orchestrator` | `1.0.1` | Claude Code and GitHub Copilot Gemini delegation bundle plus released preset |
12126
+ | `@softspark/dsh-codex` | `1.5.0` | Codex parent provider through local `codex app-server` |
12127
+ | `@softspark/dsh-orchestrator` | `2.0.0` | Claude Code and GitHub Copilot Gemini delegation bundle plus released preset |
12128
+ | Claude Agent SDK | `0.3.263` | Exact profile override for the DSH Claude provider's bundled CLI |
12126
12129
 
12127
12130
  Install and update use exact package arguments with `--save-exact`. Arbitrary DSH prereleases and unpinned SoftSpark packages are outside this contract.
12128
12131
 
12132
+ Install and update also configure the exact profile selector
12133
+ `@deepseek-ai/dsh-subagent-claude-code@0.1.2-rc.1>@anthropic-ai/claude-agent-sdk`
12134
+ to `0.3.263`. DSH's original SDK `0.3.241` embeds Claude Code `2.1.241`, which
12135
+ current models reject even when the standalone Claude command is up to date.
12136
+ The override is applied through pnpm's JSON configuration API. Unrelated
12137
+ settings and overrides are preserved; an incompatible SDK override or an
12138
+ explicit non-hoisted package layout fails with guidance before modification.
12139
+ The installed SDK's actual package metadata is checked before state is committed.
12140
+
12141
+ Upgrade the DSH runtime to `0.1.2-rc.1` before running this release's profile
12142
+ update. Ownership records for the earlier exact package pair remain valid and
12143
+ are migrated by `ai-toolkit dsh update`. On failure, rollback uses the versions
12144
+ recorded before the operation. The optional `dsh-file-preview` and
12145
+ `dsh-process-console` UI bundles are separate profile additions; their `2.0.0`
12146
+ line targets the new DSH client APIs, and the toolkit preserves them as unrelated
12147
+ dependencies.
12148
+
12129
12149
  The reviewed DSH tag declares `pnpm@11.7.0`. The isolated cold-install environment used Corepack pnpm `11.24.0`, so the lifecycle accepts stable pnpm releases from `11.7.0` through the end of major 11. Before it creates the lifecycle lock or changes a profile, it resolves exact DSH and pnpm command paths from the minimal child `PATH`, records their command and resolved-file identities, and runs their version probes with a five-second bound. Missing, nonzero, timed-out, malformed, or unsupported pnpm probes fail with no package, preset, state, or lifecycle artifact.
12130
12150
 
12131
12151
  ## Subscription and Authentication Boundaries
@@ -12180,6 +12200,17 @@ The DSH record stores the canonical DSH home, profile, exact package versions, p
12180
12200
 
12181
12201
  The published npm packages own their installed code. The canonical preset source is `@softspark/dsh-orchestrator/agent-presets/softspark-orchestrator` inside the exact installed package. ai-toolkit copies and verifies that tree. It does not reconstruct the preset.
12182
12202
 
12203
+ Missing profile initialization files are created exclusively under pinned
12204
+ directories using the qualified DSH profile schema before invoking the external
12205
+ configuration command. A file appearing concurrently is never adopted as owned,
12206
+ even when its bytes match. The transaction snapshots `pnpm-workspace.yaml` bytes, mode and file identity in
12207
+ addition to package state. Ordinary failures restore that prestate through the
12208
+ same guarded file restoration used for the profile manifest. Default profile
12209
+ files created during initialization are removed only while their recorded
12210
+ identities still match. Unexpected settings changes or ambiguous failed
12211
+ external writes remain preserved behind a recovery marker. Configuration
12212
+ contents are never copied into lifecycle state, receipts, or error messages.
12213
+
12183
12214
  Mutations first take a nonblocking exclusive POSIX `flock` on the already pinned `DSH_HOME` directory descriptor, then claim the bounded canonical lifecycle lock and use the shared state lock with compare-and-swap publication. Directory locking is independent of the replaceable lock filename. It remains held across sentinel scans, package and preset mutation, normal canonical-lock release, or recovery-sentinel creation plus file and directory `fsync`. A competing lifecycle must acquire the same directory lock before it can scan recovery state or claim the canonical name. The immutable prerequisite record is revalidated after lock acquisition and before every package mutation or package rollback. A replaced or removed executable, or a new earlier `pnpm` PATH shadow, blocks the command. The verified pnpm command directory is placed first in the child PATH so DSH's literal `pnpm` lookup resolves to the probed command. Install, update, and uninstall verify the profile manifest, package trees, preset identity, and unrelated dependencies before and after each external package-manager command. Rollback restores the immutable pre-operation target. It does not reinterpret concurrent bytes as owned data.
12184
12215
 
12185
12216
  Each DSH plugin add, update, remove, or rollback command has a 300-second process bound, separate from the short prerequisite probe. This bound accommodates cold package resolution without promising registry or network latency. Every mutation starts DSH in a dedicated POSIX session and process group. A timeout or interruption signals the complete group, escalates from `SIGTERM` to `SIGKILL` when needed, and waits for confirmed group exit before rollback. If exit cannot be confirmed, package rollback is blocked and deterministic inspection steps are reported. Child stdout and stderr remain suppressed from user-facing errors.
@@ -12213,8 +12244,17 @@ The first native target also excludes DSH hook bridging, MCP bridging, arbitrary
12213
12244
 
12214
12245
  `ai-toolkit dsh doctor` is read-only. It reports the DSH runtime version, pnpm availability and version, package pins, package-tree and preset ownership, state consistency, lifecycle lock recovery artifacts, staging paths, and recovery markers. A recovery marker keeps `Recovery needed: yes` visible until the operator resolves the named paths.
12215
12246
 
12247
+ Doctor also checks the required SDK override and installed SDK version. It
12248
+ queries pnpm directly only when the profile directory exists. It never uses
12249
+ `dsh plugin` for inspection, because that command initializes missing profiles.
12250
+
12216
12251
  `ai-toolkit dsh uninstall --yes` removes only the recorded SoftSpark packages, preset, and profile state. Drift or ownership ambiguity stops removal. Unrelated profile dependencies, patch files, presets, and state keys remain unchanged.
12217
12252
 
12253
+ Successful uninstall retains the scoped SDK compatibility setting and the
12254
+ profile's pnpm layout. They are runtime prerequisites for a later reinstall,
12255
+ not ownership of the user's entire profile. Failed operations restore their
12256
+ pre-operation configuration unless concurrent edits make that unsafe.
12257
+
12218
12258
  ## Verification
12219
12259
 
12220
12260
  Run the static and isolated checks without modifying a regular DSH profile:
@@ -12232,11 +12272,45 @@ ai-toolkit dsh doctor --profile web
12232
12272
  ai-toolkit dsh uninstall --profile web --dry-run --yes
12233
12273
  ```
12234
12274
 
12235
- Phase 3 real-profile qualification completed with a task-specific `DSH_HOME`, exact published package artifacts, and native vendor logins. The pre-tag candidate and exact npm registry package both produced successful child and parent markers through `subagent_claude_code` and `subagent_gemini_copilot`; no provider API key was supplied or handled. The isolated DSH processes stopped cleanly and the unrelated profile fixture remained intact.
12275
+ ### Historical qualification, 2026-09-01
12276
+
12277
+ The earlier DSH `0.1.1-rc.2` package pair completed real-profile qualification
12278
+ with a task-specific `DSH_HOME`, exact published package artifacts, and native
12279
+ vendor logins. The pre-tag candidate and registry package produced successful
12280
+ child and parent markers through `subagent_claude_code` and
12281
+ `subagent_gemini_copilot`. No provider API key was supplied or handled; the
12282
+ isolated processes stopped and the unrelated profile fixture remained intact.
12283
+
12284
+ ### DSH 0.1.2-rc.1 qualification
12285
+
12286
+ On 2026-09-06, the installed 4.33.0 candidate completed install, doctor,
12287
+ update, doctor, a controlled second-package failure with real pnpm rollback,
12288
+ doctor and uninstall against the published Codex 1.5.0/orchestrator 2.0.0
12289
+ pair. Rollback preserved the manifest, pnpm settings, ownership state and
12290
+ unrelated preset byte for byte. Doctor reported the exact package versions,
12291
+ Claude SDK 0.3.263 and no recovery requirement. Uninstall removed the managed
12292
+ packages, preset and profile ownership while retaining the unrelated preset
12293
+ and runtime SDK prerequisite. Both state roots were disposable; HOME stayed
12294
+ unchanged.
12295
+
12296
+ The composed web host returned the Claude and Gemini child markers through
12297
+ the Codex parent. Browser checks covered cancellation, restart, the native
12298
+ child transcript and preservation of the parent session. The DSH package
12299
+ verification records retain those runtime results and their separate exact
12300
+ registry signature/provenance checks.
12301
+
12302
+ The toolkit candidate also passed 1,989 Bats and 354 Python tests. An
12303
+ unmounted disposable container passed global install, status, doctor, local
12304
+ installation for all editors, repeated installation, eject and the official
12305
+ Claude 2.1.263 plugin validator. Exact published toolkit artifact results are
12306
+ recorded on the 4.33.0 release page after publication.
12236
12307
 
12237
12308
  ## Preview and Upstream Drift
12238
12309
 
12239
- DeepSeek Harness describes itself as a developer preview with compatibility-breaking changes. The upstream release feed published `0.1.2-alpha.2` after the reviewed `0.1.1-rc.2` line. ai-toolkit does not adopt that prerelease by inference.
12310
+ DeepSeek Harness is a developer preview with compatibility-breaking changes.
12311
+ On 2026-09-06, npm `latest` pointed to `0.1.2-rc.1`. GitHub also listed
12312
+ `0.1.3-alpha.1`, but that exact CLI version was absent from npm. It is outside
12313
+ this lifecycle contract.
12240
12314
 
12241
12315
  Use the registry doctor to detect documentation, capability-marker, and local version changes. A new upstream version requires source review, focused fixture updates, isolated real-profile qualification, and explicit pin changes before support moves.
12242
12316
 
@@ -12244,10 +12318,10 @@ Use the registry doctor to detect documentation, capability-marker, and local ve
12244
12318
 
12245
12319
  - [DeepSeek Harness documentation](https://deepseek-harness.github.io/deepseek-harness/)
12246
12320
  - [DeepSeek Harness releases](https://github.com/deepseek-ai/deepseek-harness/releases)
12247
- - [Reviewed DSH 0.1.1-rc.2 release](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.1-rc.2)
12248
- - [Reviewed DSH package-manager declaration](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/package.json)
12249
- - [Reviewed DSH CLI profile and plugin contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/apps/cli/reference/README.md)
12250
- - [Reviewed DSH skill discovery contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/docs/subsystems/skills.md)
12321
+ - [Reviewed DSH 0.1.2-rc.1 release](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.2-rc.1)
12322
+ - [Reviewed DSH package-manager declaration](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/package.json)
12323
+ - [Reviewed DSH CLI profile and plugin contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/apps/cli/reference/README.md)
12324
+ - [Reviewed DSH skill discovery contract](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/docs/subsystems/skills.md)
12251
12325
  - [PATH: kb/reference/manifest-install.md]
12252
12326
  - [PATH: kb/history/completed/dsh-native-install-target-plan.md]
12253
12327
 
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.32.4",
2
+ "version": "4.33.0",
3
3
  "components": {
4
4
  "agents": {
5
5
  "description": "44 specialized agents (orchestrator, backend, frontend, security, devops, etc.)",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softspark/ai-toolkit",
3
- "version": "4.32.4",
3
+ "version": "4.33.0",
4
4
  "description": "AI coding toolkit: 114 skills, 44 agents, 14 developer-tool integrations, Claude Chat/Cowork export, safety constitution, SARIF audit, and signed npm provenance.",
5
5
  "keywords": [
6
6
  "claude",
@@ -136,7 +136,7 @@
136
136
  "kind": "harness",
137
137
  "status": "developer-preview",
138
138
  "selection_policy": "explicit-only",
139
- "reviewed_version": "0.1.1-rc.2",
139
+ "reviewed_version": "0.1.2-rc.1",
140
140
  "excluded_from": [
141
141
  "editors-all",
142
142
  "auto-detect",
@@ -145,9 +145,9 @@
145
145
  "urls": {
146
146
  "docs": "https://deepseek-harness.github.io/deepseek-harness/",
147
147
  "release_notes": "https://github.com/deepseek-ai/deepseek-harness/releases",
148
- "reviewed_release": "https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.1-rc.2",
149
- "reviewed_cli_docs": "https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/apps/cli/reference/README.md",
150
- "reviewed_skill_docs": "https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.1-rc.2/docs/subsystems/skills.md"
148
+ "reviewed_release": "https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.2-rc.1",
149
+ "reviewed_cli_docs": "https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/apps/cli/reference/README.md",
150
+ "reviewed_skill_docs": "https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.2-rc.1/docs/subsystems/skills.md"
151
151
  },
152
152
  "config_paths": [
153
153
  ".agents/skills/*/SKILL.md",
@@ -167,7 +167,7 @@
167
167
  "ai-toolkit dsh doctor --profile web",
168
168
  "ai-toolkit dsh uninstall --profile web"
169
169
  ],
170
- "status_note": "Community compatibility target maintained by SoftSpark. DeepSeek AI has not endorsed this integration. ai-toolkit reuses its native skill generator for project .agents/skills output and manages exact @softspark/dsh-codex@1.0.0 and @softspark/dsh-orchestrator@1.0.1 packages only through explicit profile lifecycle commands. Upstream has newer prereleases, but this entry remains pinned to the reviewed DSH 0.1.1-rc.2 contract pending qualification.",
170
+ "status_note": "Community compatibility target maintained by SoftSpark. DeepSeek AI has not endorsed this integration. ai-toolkit reuses its native skill generator for project .agents/skills output and manages exact @softspark/dsh-codex@1.5.0 and @softspark/dsh-orchestrator@2.0.0 packages only through explicit profile lifecycle commands. The lifecycle targets DSH 0.1.2-rc.1. Other prereleases require separate qualification before these pins change.",
171
171
  "capability_markers": [
172
172
  "Developer preview",
173
173
  "profiles",