Skip to content

v0.8.0

Choose a tag to compare

@sjh9714 sjh9714 released this 16 Aug 06:04
· 19 commits to master since this release

doctor --json now emits the community dsh-doctor/v1 envelope (deepseek-harness#1719), so CI and support flows can consume a doctor run from any conforming implementation.

npx dsh-win32 doctor --json

The skip status is new to the contract and came from this plugin. The vocabulary had pass / warn / fail. A check like git_bash is none of those on Linux, it does not apply, so a platform-scoped implementation had to either report pass (a lie) or fail (poisoning any cross-platform CI run). A fourth status with a mandatory reason, counting as neither pass nor fail, was accepted into v1.1. This is the first implementation where it actually fires, since every check here except node is win32-scoped.

Also in this release.

  • Checks carry the vocabulary names (node, git_bash, powershell, koffi, sandbox_shell), so a consumer asserts on name plus status and never parses detail.
  • Exit codes follow the contract, 0 all pass, 1 any warn, 2 any fail. This is a breaking change if you run doctor inside a script. Treat exit 1 as informational and gate on exit 2. Exit codes apply to a direct doctor run only, so setup still decides for itself whether a finding is fatal.
  • The standing "mode matters" warning became a real sandbox_shell check. It reports pass once the busybox variant is installed instead of nagging unconditionally.
  • The node range is now anchored to the deepseek-harness root package.json, which declares ^22.19.0 || >=24.0.0, rather than to an observed failure. Three doctor implementations had three different floors before this was found.
  • Fix. The Git Bash wrapper check was inverted. Git\usr\bin\bash.exe is the real shell and Git\bin\bash.exe is the 47KB wrapper, but both end in \bin\bash.exe, so a correctly installed Git Bash was reported as the wrapper. Caught by Windows CI before release.

49 unit tests, 3-OS CI matrix. The envelope is asserted on every push on all three systems, including that every skip carries a reason and that the summary adds up.