Why themes are Cordis plugins
The DSH Web UI exposes ThemeRuntime as a client service. A generated client module registers through the Harness module loader, injects theme, and scopes its override through ctx.effect so Cordis can dispose it cleanly.
- Tested DSH version
- 0.1.3-alpha.1
- Token catalog hash
- fe38fdb18dae76f3cc93e3ca3a37bb1916f207180781b1aa8321ee2ddadcb926
Agent Skill safety contract
The included Skill never edits ~/.dsh directly. It checks the web profile, verifies the downloaded hash, removes the old @dsh-themes/* plugin, installs one exact package, dumps config, and records rollback state.
Keep a way back
Restart Harness when needed and check the result. The installation task keeps instructions to remove the item or restore your previous setup.