Validation guide
August 16, 2026 ยท View on GitHub
This guide separates repeatable automated checks from operator-observed integration evidence.
Automated checks
From a clean checkout:
npm ci
npm run check
npm pack --dry-run
The unit tests use mock DSH hosts. They cover bridge state, cursor recovery, event reduction, questions and approvals, cancellation, workspace claims, process reconnection, and MCP schemas without requiring a live model route.
Live Host preflight
Start dsh web separately under user or OS-service ownership, then run:
npm run doctor
Record, without credentials or session content:
dsh --version;host.describe.versionand the fact that it may be a product placeholder;- probed Host capabilities;
- configured model provider/model and
routablestate; - bridge commit or release tag;
- operating system and Node.js version.
Browser-visible acceptance
- Open the same DSH Web Host used by the bridge.
- Delegate a task with
workspaceMode="read-only"in a disposable workspace and keep its task/session identifiers private. Confirm the response reportsworkspaceClaimSemantics.controlsDshSandbox=false; this is a bridge-local claim, not a DSH sandbox assertion. - Confirm that the root session appears in DSH Web.
- Confirm that
dsh_waitand cursor-baseddsh_tailobserve progress without dropping or duplicating the terminal event. - Confirm that
dsh_statusreachesturn_completedand returns the final message from live DSH history. - Send one follow-up to the same task and confirm that it creates another turn in the same root session.
- If a harmless test can produce a typed question, answer it through
dsh_answer_questionand confirm that an ordinary follow-up does not resolve it. - Do not manufacture a sandbox escape only to test approval forwarding. When a legitimate approval occurs, verify that it is never auto-allowed and that rejection remains available.
- Release the workspace claim and confirm that the DSH session remains visible.
Repeat this acceptance after changing the DSH version, Web API behavior, model route, agent preset, event reconciliation, or mutation semantics.
Evidence boundary
A passing unit suite does not prove live Host compatibility. One live success proves only the recorded DSH version, route, preset, workspace, and bridge revision. Host-restart durability requires a separate test and must not be inferred from bridge-process reconnection.