Case Study: dsh-shelf
August 31, 2026 ยท View on GitHub
This case study records a public, exact-artifact compatibility finding. It is community evidence for the value of a real-host lifecycle gate, not a ranking, security assessment, certification, or endorsement.
Finding
dsh-shelf@0.7.0 installed and assembled successfully, but the real DSH host
run stopped before registration. The published bundle accessed ctx.baseDir.
In the DSH host, an unknown context property is treated as an injection
lookup, so the run failed with:
cannot get property "baseDir" without inject
The result came from an immutable published artifact, not a checkout. The failure was recorded with the exact DSH host, runner, package artifact, stage, and machine-readable evidence. It is an environment-bound compatibility finding, not a claim that the plugin is universally defective.
Source report and maintainer discussion: zoahdev/dsh-shelf#1. The original ecosystem report is also recorded in DeepSeek Harness discussion #2088.
Maintainer response
The maintainer confirmed the supported path contract:
config.profileDir ?? ctx.dshHomePath?.() ?? join(homedir(), '.dsh')
The source fix is on commit b5a34e8, with a regression test that never probes the uninjected baseDir service. The local shelf suite passed 16/16. The issue remains open until the fix is published as a new immutable package artifact and that exact artifact is rerun.
Why this matters
This is the useful lifecycle boundary in one sequence:
- package installation and bundle assembly pass;
- the real host catches a registration-time incompatibility;
- the maintainer receives an actionable, reproducible report;
- the fix is made against the host contract;
- the release gate is rerun against the published fix, rather than trusting source-only tests.
The next rerun uses the current Testkit release, an explicit supported DSH
version, and a package version higher than dsh-shelf@0.7.0 once it is
available. The design-partner follow-up gate
records the required package identity and prevents a source-only fix from
being reported as a package pass.
Scope boundary
The case is intentionally narrow. It does not certify dsh-shelf, DSH, or any
other plugin; it does not prove security properties; and it does not replace
the maintainer's own test suite. It shows that testing a released bundle in a
disposable real host can find a defect that install-time and source-local tests
miss.