Two outcome classesA worker exit returns no IPC result. Unicode truncation returns a damaged path that later fails correctly at realpath.

Route by the last boundary that worked.

A · no resultNode / Koffi crash

The dialog accepts a folder, then the worker aborts while materializing the path.

Node 22 ↔ Node 24+
B · wrong resultUTF-16 truncation

The worker returns a path cut immediately before a U+XX00 character.

开 U+5F00 → 00 5F
C · before dialogNative install

The native artifact never built inside the exact dependency tree DSH resolves.

install + import evidence
D · unhealthy ownerStale DSH process

An unexpected listener survives after its terminal or wrapper disappeared.

PID + parent + command line

rc.7 still carries the reported decode path.

COM resultvoid **namenative address
readUtf16koffi.view(address, 32768)reported Node 24 abort
expectedIPC pathnever sent on crash

The discussion reports the picker path succeeding on Node 22.23.2 and aborting on Node 24.18.1 across multiple Koffi versions. Treat that as a focused component A/B, not a claim that every Node 24 DSH feature is broken.

A zero byte is not a two-byte terminator.

Character开 · U+5F0000 5Fvalid code unit
TerminatorNUL · U+000000 00end of string

rc.7 checks only the first byte, so it can return a shortened path and produce a downstream `ENOENT`. A regression fixture must contain an actual U+XX00 code point; “some CJK text” is not a sufficient test condition.

Recover through the shipped browse picker.

Current rowadaptive chooser@deepseek-ai/dsh-host-directory-picker-auto
Replace by the same IDbrowser picker@deepseek-ai/dsh-host-directory-picker-browse
- id: directory-picker
  name: '@deepseek-ai/dsh-host-directory-picker-browse'

Do not widen an unrelated boundary.

No compiled-lib editoverwritten and unaudited
No unrestricted modedecode abort is not permission denial
No global package guessnpx may resolve another tree
No kill-all Nodeidentify the exact DSH PID

Prove the fallback.

  1. OpenIn-browser directory card renders.
  2. NavigateDrive root and nested paths resolve.
  3. UnicodeASCII and CJK paths round-trip exactly.
  4. U+XX00A path containing round-trips exactly.
  5. CreateDisposable workspace is registered once.
  6. RestartWorkspace identity stays stable.

Primary evidence.

Keep the evidence matrix.

The full runbook includes PowerShell process capture, clean Node A/B, native-tree diagnosis, precise PID cleanup, rollback, and native-versus-browse acceptance.

Read the full runbook