Overview
dsh-dialogue-cleanup
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
These are **measured** against the live runtime and differ from what the upstream package assumes. They are reported truthfully rather than papered over: - **No public stop for an idle agent.** The public `Agent` type is `{ readonly id: SessionId }` — no `status`, no `ctx`. Upstream's `agent.status === "running"` and `agent.ctx.fiber._unload()` therefore cannot be relied on (`_unload` is a Cordis *private* method and is deliberately never called). "Is it running?" comes from the public `sessionController.list()` → `SessionSummary.running`. A session that still has an attached agent and cannot be stopped safely is **refused**, and the UI shows why. - **Detaching the live entry is best-effort.** The public `sessions` service exposes create/prepare/enter/announce/flush/get/list/fork — **no** public `detach`. The plugin tries the public method first, then the internal `store` entry, and reports `detached: false` when neither is available instead of claiming success. - **Two on-disk id spellings coexist.** Observed in one `<DSH_HOME>`: `...\<uuid>\session.v4.jsonl.zstd` and `...\session-<uuid>\session.v4.jsonl.zstd`. An exact-id join can never delete the prefixed half. This plugin probes the alternate spelling **only** when it can confirm the candidate is not a different live session; with no such evidence it deletes nothing rather than risk a neighbour. - **The screenshots are real render output, not a live-GUI photograph.** They come from the actual component tree + actual CSS, rasterised headless; the theme tokens are pinned to a light theme and the row data is a demo fixture. What the panel looks like inside a running GUI with the real theme has not been captured here.
