# User session report — v1.13.0 (the DeepSeek Harness port)

```
topic: (none — see below)                          mode: n/a
platform: @deepseek-ai/dsh via npx, web + headless profiles, sandboxed $DSH_HOME
real minutes: ~25 of installation-path verification    nodes encoded: 0    reviews cleared: 0
```

This release's §5.6 ran in a deliberately reduced form, and this report exists mainly to
record that fact and its boundary precisely. dsh has no bundled free models; the maintainer
chose to ship on keyless verification rather than hold the release on a DeepSeek API key
(the Antigravity precedent — port shipped, one surface honestly flagged as unverified).

## WHAT ACTUALLY RAN (keyless, real npm dsh, 2026-08-16)

- The documented install flow, end to end, in a sandboxed `$DSH_HOME`/`$DSH_AGENTS_HOME`:
  clone, three symlinks, nudge patch.
- `session.create` + `skill.list` over the web profile's RPC: **all three Engram skills
  discovered through the symlinks** with correct names, descriptions, and
  `modelInvocable: true` — the whole discovery chain (symlink following, frontmatter
  acceptance, catalog exposure) is real, not inferred.
- The complete nudge chain, end to end: the bridge + its peer installed per the doc's two
  `dsh plugin add` commands, the insert-form patch applied, a session prompted — the
  SessionStart hook FIRED at agent start (file-marker probe) and a probe
  `additionalContext` string was found injected in the session record
  (`agent/inbox/spliced`). This chain was dead in the first draft twice over (stdout
  discarded by the bridge; bridge not resolvable from the patch's override form) — the
  adversarial review caught both, and the fixes were then proven against the same runtime.
- `dsh --profile headless "…"` boots to the model-credential wall with a clean, specific
  error naming the env-var route — the exact first-run experience a keyless stranger gets.

## WHAT DID NOT RUN — the owed debt

No model turn ever executed. Unverified on dsh, verbatim: the learn loop itself, the
subagent spawn route (`skills/_shared/subagents.md` fallback), and sandbox behavior when
the engine writes `~/.claude/learning` under `workspace-write`. Every one of these is
exercised daily on the other seven platforms; none has run on dsh.

## WOULD A STRANGER GET THROUGH THIS?

Through the install: yes — every step they'd type was executed here, and the one failure
mode found (the YAML append) was fixed in the doc with its loud symptom described. Through
a session: unknown, and the doc says so in plain words rather than implying otherwise.

## VERDICT: **ship, with the debt stated everywhere a user will look**

The port adds no code paths to the engine or skills beyond one resolution candidate
(pinned by a new consistency test); everything else is documentation and a config file
whose load path was verified against the real loader. The unverified surface is confined,
named in INSTALL-DSH.md and the README sub-note, and is the first item owed on the next
release that touches dsh or whenever a key becomes available — whichever comes first.
