Repository navigation
Releases: haruri03/dsh-todo-ledger
Release list
v0.3.1 — floating window surface
A follow-up on the floating window: its surface now matches the host's own floating panels, and the status colours are the ones the panel has always used.
Fixed
- The window surface no longer reads as a lighter grey than everything around it. It used
--dsw-alias-bg-overlay, which resolves to a mid grey in the dark theme. It now takes the raised layer the host's own floating panels use, taken from the host panel stylesheet:--dsw-alias-bg-layer-1surface, a--dsw-alias-border-l2border, a 14px radius and the same two-layer shadow.
Changed
- Status colours are the previous palette again — blue in progress, slate to do, violet awaiting review, red blocked. Only the accept action and the error text use the host state tokens.
- Count chips and task rows stay on
--dsw-alias-bg-layer-2with a--dsw-alias-border-l1border, and section titles, slugs and the footer use--dsw-alias-label-secondary.
Added
- A storefront icon (
assets/icon-180.png, rendered fromassets/icon.svg) andscreenshots.jsondeclaring the sidebar and floating-window captures. - Install-from-npm instructions in both READMEs, plus the npm version badge.
Verification
node test/floating-panel.mjs (client slot, layout persistence, drag/resize clamps, scroll contract, per-group collapse, badge jump, session-scoped refresh, and now the surface tokens plus the status palette) and node test/smoke.mjs (11 tools, prompt-section snapshot) both pass.
v0.3.0 — floating ledger window
The ledger now has a window of its own, and every view stays on the session you are looking at.
Added
- Floating ledger window. A
Todocontrol under the composer opens a frame-wide window with the same sections and sign-off action as the sidebar panel. Drag its header to move it, drag the bottom-right grip to resize it (240×180 minimum, clamped to the viewport), and the box is restored the next time it opens. Only the task list scrolls, so the counts row and the footer stay put however long the queue gets. - Collapsible status groups. Click a group header to fold it. Clicking a status count expands that group and aligns its header to the top of the list, which keeps a long queue navigable without dragging the chat page behind the window.
- The window follows the session in front. Switching sessions re-targets an open floating window to the new session's workspace instead of leaving it on the session that opened it.
Changed
- The floating window starts at its status counts: the duplicate plugin name and in-body collapse from the previous iteration are gone, because its own header already names the panel.
- The composer control reads as a plain dock item (
Todo, the book icon, dock font and hover treatment) rather than a filled chip.
Fixed
- The sidebar panel kept showing the previous ledger after switching to a session in another workspace: the tab registration froze the session injected when it was created. It now reads the session the slot dispatches, keeps one resource and one request per session, and re-reads when the window comes back into focus.
Install
plugin_manager install_bundle --target "<path-to-plugin>"
or from Git:
dsh plugin --profile <profile> add "git+https://github.com/haruri03/dsh-todo-ledger.git"
Verification
node test/smoke.mjs (11 tools, prompt-section snapshot) and node test/floating-panel.mjs (client slot, layout persistence, drag/resize clamps, scroll contract, per-group collapse, badge jump, session-scoped refresh and follow-the-session retargeting) both pass.
0.2.0 — sidebar panel and dependency auto-unblock
The release that turns the ledger from a prompt-only capability into something you can watch and
sign off without leaving the conversation.
Added
- Sidebar ledger panel. A read-only tab in the right sidebar shows the ledger of the current
session's working directory:doing,todo,reviewandblockedsections with counts, a
colour per state, and a fixed order so the shape of the queue reads at a glance. It opens from the
sidebar guide capsule and polls only while visible. - Sign a review task off from the panel. Each task under
reviewcarries an accept action; it
archives through the same path astodo_completeand records the click as both evidence and
sign-off (accepted from the ledger panel at <ISO timestamp>). Onlyreviewtasks can be accepted
this way; other states are refused with an inline error. - Host routes for the panel:
GET /todo-ledger/projection?sessionId=…returns the ledger
projection, andGET /todo-ledger/complete?slug=…&sessionId=…performs the single side-effecting
call. Both are registered asprefixroutes and dispatched asGET, which is what the host's
plugin route layer supports. - Dependencies between tasks.
todo_addnow acceptsdepends_onandblocker_cause; a task
whose predecessors are not yet finished is created asblockedwith the dependency recorded, and
is created directly astodowhen they already are. Unknown, dropped, self-referential and
circular predecessors are rejected. - Automatic unblocking on formal completion. Completing a predecessor through
todo_complete(or
the panel) promotes its dependents totodoonce all predecessors are formally completed. A
reviewstate, a dropped archive, or a manual blocker never unblocks anything, and hand-edited
state cannot fake it.
Changed
- The prompt section's hand-edit ban now names the three tool-owned surfaces explicitly — the status
lines intodo.md, thetasks.mdindex, and a task file's frontmatter — and points at
todo_doctorwhen they disagree, instead of the earlier catch-all wording. README.mdandREADME_zh.mdgained a sidebar panel section covering the opt-in entry point,
section ordering, visible-only polling, what acceptance records, and the restart/refresh boundary.
Fixed
- Registering the ledger no longer takes the session down when one of its parts fails; the feature
degrades instead, and the failing file and line are named. - The prompt section no longer breaks session startup when a ledger file contains a
{{-like
literal (such as another plugin's macro shell); such braces are rendered inert. - Agent-written ledger content that would corrupt the state machine is flagged for rewrite instead
of being written silently. - The accept call no longer fails with
HTTP 405: the client sendsGETwith query parameters, and
the handler acts on whichever carrier holds the slug.
v0.1.0
dsh-todo-ledger v0.1.0
Rebuilt public release.
Changed
- Prompt section, tool descriptions, errors, and snapshot text are now English.
- All code comments removed.
- Ledger format literals stay Chinese for compatibility with the external todo CLI.
Added
- 11 native
todo_*tools with schema validation. - Repo-local ledger (
_todo/, legacytodo/supported).