Repository navigation
Releases: EiffelBS/dsh-plugin-ideas-manager
Release list
v0.10.4
Fixed
- The AI capture is now something you can see. Clicking AI capture
closed the window and then looked like nothing had happened. The analyst
session was created — it ran for minutes and created the card — but on a
current DSH host the session tree groups conversations per workspace and draws
only a short window of each group. The analyst runs in the idea's
workspace, not the one you were looking at, so its session landed out of
sight; the natural reaction (clicking again) started more analysts in
parallel, and each one wrote another card that then had to be merged away. The
board now switches to the analyst session as soon as the analysis is
queued, exactly like Open session on a launched card. Re-analyze and
Find similar do the same — their report is the thing you asked for. A
shell that cannot navigate still starts the analysis (its console says so),
and a failed launch never opens an empty session.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.10.4
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.10.4/CHANGELOG.md
Full Changelog: v0.10.3...v0.10.4
v0.10.3
Fixed
- Launch works again when the TaskBoard itself is disabled. Turning the
TaskBoard's master switch off hides its board but not its API: the ideas plugin
kept choosing the card backend, and every Launch click died on the board's
task board is disabledrefusal — a red error, nothing started. A board that
refuses every action is now treated like a board that is not installed: the idea
runs in a fresh session instead. A refusal that concerns ONE card (a run already
in flight, an archived card, a permission confirmation) still shows the board's
own reason, and the idea keeps its card, so a re-enabled board is used again on
the next launch. - A fresh run is no longer overwritten by its old card. While such a fallback
run is in flight, the card the idea still carries no longer clears the running
badge, replaces the session link with an older card execution, or opens the
review gate from a frozen card status. The session owns the run until it
settles; the card keeps mirroring its status for display. - Mirrored cards follow the deployment's permission again on newer DSH hosts.
A newer DSH host reports the TaskBoard's session default at a new place in its
snapshot. Reading only the old place did not fail: it silently made every newly
mirrored cardread-only, so its first run started without write access. Both
places are read now, newest first.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.10.3
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.10.3/CHANGELOG.md
Full Changelog: v0.10.2...v0.10.3
v0.10.2
Fixed
- A launch that runs in a fresh session reaches the session again. On a newer
DSH host, clicking Launch on an idea with no TaskBoard card failed before any
session existed: the host requires every request to name who is speaking, and this
plugin's direct-session path named nobody. The launch window showed the raw failure
text and the idea stayed in the backlog, with nothing started. It now speaks as one
owner of its own — created once for the whole board and kept for the life of the
plugin, never retired early — so the session is created, named after the idea,
given the chosen model and prompted, on a host that enforces this rule and on one
that never asked for it. Card-backed launches are unchanged, and nothing about the
board's data changed. - The launch window now says why the reasoning effort is missing. The effort
selector is offered only when the run reaches a fresh session, so an idea that
runs through its TaskBoard card shows the model picker and no effort selector —
a card pins the model and nothing else. That omission was silent, and on a
board whose ideas all carry a card it read as a broken feature. The window now
names the reason where the choice would have been, and the default line no
longer prints a stored level beside a model when the run cannot use it.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.10.2
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.10.2/CHANGELOG.md
Full Changelog: v0.10.1...v0.10.2
v0.10.1
Added
-
Choose how hard a model thinks, in the launch window. When you pick a
model that supports a reasoning effort, the launch window now offers a second
selector with the levels that model declares — its own default is preselected,
and Model default pins no effort at all, so the run keeps whatever the
model would have done anyway. The levels come straight from the model catalog
(they are adapter-owned names, not a fixed list), and the same selector appears
in the capture, re-analyze and find-similar windows, where a fresh session
always reaches the model. The effort travels with the model you chose and is
pinned on the session before the run starts.
The selector is honest about where it can go: it is offered only when the run
reaches a fresh session. A TaskBoard card carries the model and nothing else,
so on a card-backed idea the window shows the model picker but not the effort
selector — better to omit a choice that could not be kept than to offer one. -
The workspace default remembers the reasoning effort too. Save as the
workspace default stored the model alone, so an effort you had just chosen
was dropped the moment you saved: the next launch fell back to the model's own
default. The default now stores the pair — model and effort — and a launch
that picks nothing lands on both. The save is a gesture on the pair, so
changing only the effort is a real change and stays available, and the stored
line names the level the run will use.
Fixed
-
A refused button no longer looks like a broken one. The launch window's
Save as the workspace default stays unavailable until the model you picked
actually differs from the one already stored for that workspace. It used to
keep the same colours and the same pointer cursor as a live button, so the
click landed on a disabled control and simply did nothing. A disabled button
now looks disabled, and while the save is refused the window names the missing
gesture — Already the default for … when the pick is the stored one, or
Pick a model above … when no model is picked yet — instead of leaving you
to guess at a dead click. -
A refused save now says what to do. A settings write refused by the
revision fence — another tab, another client, or a page left open while the
settings moved — answered The settings changed elsewhere — please retry,
which sends you straight back into the same refusal: the page still holds the
old revision, so retrying the identical save fails again. The message now
names the gesture: The settings changed since this page loaded: refresh it,
then try again.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.10.1
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.10.1/CHANGELOG.md
Full Changelog: v0.10.0...v0.10.1
v0.9.0
Added
-
The AI analysis can now relate an idea to its neighbours. When the analysis
establishes a real link, the analyst records it: relates to for a shared
subsystem or constraint, and blocks with the direction that means — the
card that depends on another is blocked by it, never the reverse. Only
explicit relations, using resolved ids, at most three per run, and named in
the report. An empty relation graph stays a normal state. -
A re-analysis no longer erases your tag instructions. The analysis rewrites
the tag list, and a tag also carries the line shown to you before each launch.
A tag the analysis keeps now comes back with that line intact. -
Six agent tools: drive the board from any session. When your DSH deployment
serves agent tools, any chat can now work the ideas board directly — no shell,
no hand-written JSON, no browser.ideas_listreads a filtered page of your
backlog,ideas_getreads one idea in full,ideas_capturecaptures an idea
together with its priority opinion,ideas_triagerecords value / effort /
rationale / rank and re-ranks a workspace group,ideas_launchstarts the
execution, andideas_reviewsettles the review gate with approve,
follow-up or decline. They go through exactly the same gate as the web
board, so a call that would be refused in the interface is refused the same way
here, and an idea written by an agent shows up on your board at once — marked as
the agent's work in that idea's history. An agent still cannot write a run state
or claim a task card; those stay the host's. If your deployment serves no agent
tools, nothing changes: the board keeps every feature and the HTTP channel. -
Every idea now remembers what happened to it. Each idea keeps a short
activity log — who did what, and when — and the editor shows it as a compact
timeline under the description, right above the Approve / Follow-up / Decline
buttons. It is written by the board itself: the capture, the ranking changes,
the launch, the run that finished or failed, the approval, the follow-up, the
decline with its reason. Entries are attributed, so you can tell your own
changes from an agent's and from the run's. The log keeps the last 50
entries and nothing more, and an idea that has recorded nothing yet shows
nothing at all rather than an empty box — so "nothing has happened" is never
mistaken for "something is missing". -
Your ideas travel with their history. The JSON export and import carry the
activity log, and the markdown export prints it as a short Activity block
under each idea — so an archived document can still answer why was this
declined?, which a last-state record never could. -
Re-analysis reads the real past. When you ask for a fresh analysis of an
idea, the analyst is now handed what actually happened to it before — the
decline, the delivery, the archive-and-restore — and is told to read it before
writing. A re-analysis can no longer re-propose something the board already
refused. -
Every finished run leaves a delivery note. When a run ends, the board keeps
the closing words of the run right under the description of the idea it worked
on — on the card in the To review column, in the idea editor above the
Approve / Follow-up / Decline buttons, and on the row of a delivered idea in the
Delivered list. It is the last thing the run actually said, not a summary
written for you: the board never invents one. When a run leaves nothing behind
— it was interrupted before answering, or the workspace it ran in is gone — the
note says exactly that, so an empty delivery can never be read as a successful
one. The note is short by design (a couple of lines; longer answers are cut) and
never changes what the run did: Open the session remains the way to watch
the whole thing. The note follows the idea through the markdown export too, and
nothing you type can overwrite it: it belongs to the run, not to you. -
The sidebar entry now tells you what is waiting. A small amber count sits on
the Ideas icon and shows how many ideas of the current workspace scope are in the
To review column. It reads the board's own list already loaded in the page, so
it costs nothing, needs no extra polling, and disappears as soon as the gate is
empty. With Remember the workspace turned on, the count follows the
workspace you last worked in rather than mixing every workspace together. -
A quiet Stale marker on ideas nobody has touched. An open idea with no
update for a while wears a discreet Stale badge next to its state, on the
Overview cards and in the Priorities list. How long counts as too long is yours
to set under Stale after (days), which ships at 30 days; set it to 0 to turn
the marker off entirely. The marker is a display aid only: it is drawn when the
board paints and nothing is written to your ideas. It never appears on an idea
that is already under review, delivered or declined — those have a state that
says more than a date does. -
A new idea card carries your TaskBoard's own permission. Until now every
mirrored card was stamped read-only whatever your deployment allowed, so an
idea could never write anything when its card ran — while a card whose
permission sat above the TaskBoard's session default refused to start until
you walked to the board and confirmed it. A new card now takes the level your
TaskBoard is configured with, never more, and launching raises an older card to
that same level before the run. On a deployment left at read-only nothing
changes at all; the plugin follows whatever you set, and never asks for
anything above it, so a launch stays one click — no detour to the board to
confirm a permission. A card you raised yourself is never lowered, and a card
whose permission the board did not report is never written to. -
A setting for the launches that have no card. When you launch an idea while
the TaskBoard plugin is absent, the run happens in a brand-new session. That
session now starts at the level you pick in Direct-launch permission
(read-only, workspace-write or danger-full-access), applied before the
very first turn so the run never starts fenced. The default is
workspace-write: the run brief asks for an implementation, so a read-only
session would answer with a plan and settle the run having written nothing. If
the elevation cannot be applied, the launch stops with the reason instead of
quietly starting without it. Card-backed ideas ignore this setting.
Changed
-
An update now replaces the installed analysis prompt, and keeps what it
replaced. The prompt was installed once and never replaced, so an instance
that had installed an older version kept using it after every upgrade — the
new features simply went unused, with nothing to show for it. Every start now
writes this version's prompt, and the file it replaced is kept beside it
(SKILL.md.<timestamp>.bak, the five most recent), so a prompt you wrote by
hand is never lost: the start-up log names the copy, and the README says how
to put it back. -
A long Open column stays responsive. Once the Open column grows past a few
hundred ideas, the board draws only the cards you can actually see and leaves
the rest behind the scrollbar, so scrolling, searching and dragging no longer
get slower as the backlog fills up. Everything you can do still works on the
whole column, not just on the part of it that happens to be on screen.- Drag & drop still lands where you point. You can drop a card before one
you have scrolled past and one you have not: the written order is built from
the entire column, not from the cards that happen to be drawn. - A shift-click range still covers the whole block. It selects every row
between the two you clicked in the column's own order, including the ones
scrolled out of view, and the bar keeps stating the truth — n selected of
m shown, where m is the filter, never the window. - A card keeps its place while you read. Cards are not a fixed height, so
their real height is measured as they appear — and every measurement is
anchored to what you are looking at, so the column never slides under a
resting hand. - "Go to idea" still works on a card you have never scrolled to. The board
brings it into view first, then opens and rings it, exactly as before. - A standing notice appears above the Open column once it holds 300 or
more open ideas, naming the number. It tells you the size of what you are
looking at before you start scrolling, rather than pretending the board is
struggling. - Short columns are untouched. Below that size the board draws every card
exactly as it did before, so a normal backlog behaves identically. - Nothing changes for your data. The board does this entirely on its own:
no new stored field, no new API call, and the JSON export/import, the
snapshots and the markdown export are byte for byte what they were.
- Drag & drop still lands where you point. You can drop a card before one
-
A workspace can carry its own launch model. The launch dialog used to ask
which model every single run should use. Set one for a workspace and it stops
asking: the dialog just tells you which model the run will use, and your click
confirms.- Remember this model for {workspace} is offered right where you make the
choice, in the launch dialog. From then on every idea launched in that
workspace runs on it. - Change… brings the picker back over the remembered model, so one run can
use another model without changing what every later run will use.
Save as the workspace default is what makes a new pick stick. - Forget this model removes it, and the dialog goes back to asking.
- **A workspace with no default behaves exactly as befo...
- Remember this model for {workspace} is offered right where you make the
v0.7.6
Fixed
- The header gear and the "Open the TaskBoard" button work in the Desktop app. In the Desktop app, Settings lives in the account menu instead of behind a standalone button, and the TaskBoard switch relied on a window call that shell does not always answer. The gear now opens Settings through whichever entry your window offers and still lands on the Ideas section. The TaskBoard button now switches to the board the same way clicking its sidebar entry does, then filters on the idea title as before. The browser version behaves exactly as before.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.7.6
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.7.6/CHANGELOG.md
Full Changelog: v0.7.5...v0.7.6
v0.7.5
Fixed
- The Ideas board works in the DSH Desktop app again. In the official
Desktop app every ideas request answered403and the board showed
Host operation failed: forbidden — the panel was unusable, while the same
install worked in an ordinary browser tab. The desktop shell talks to the
Host on your behalf and rewrites the request on the way, which made the
panel's own calls look like a stray local script to the fence. The fence now
also accepts the shell's own sign-in credential as proof of an application
running on this machine, so the board, the search, the settings and the
launches all answer again. Nothing is loosened for anything else: a plain
curl, a request from another machine, and a request naming another site
are still refused with403, exactly as before. - Installing this version replaces the whole plugin, so a hand-patched copy of
the plugin in a profile is superseded by this release rather than kept
alongside it.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.7.5
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.7.5/CHANGELOG.md
Full Changelog: v0.7.4...v0.7.5
v0.7.4
Fixed
- The Ideas row is a real panel row now. It sits with Plugins, Task Board
and Skill Center, in their row box, font and highlight, and it behaves like
them: clicking another panel closes the board instead of leaving it stuck open
behind the new one. Clicking Ideas again, or Back to chat, still closes it.
Previously the row was a button this plugin injected itself and hid the
conversation with a stylesheet, which is why only Ideas behaved like a toggle. - A launch refused by the card's permission gate now tells you what to do.
The board showed the Host's own English sentence and stopped there. It now
names the card, explains that the permission is above the session default, and
offers Open the TaskBoard — which switches to the board panel with the
filter already set on the idea title, so the card is the one waiting in front
of you. Copy the title is there for the case where the board does not
answer. The permission itself is still yours to confirm, in the board: the
plugin never confirms it for you.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.7.4
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.7.4/CHANGELOG.md
Full Changelog: v0.7.3...v0.7.4
v0.7.3
Added
- The list rows now show the run state. The Priorities ranking and the
Delivered log carry the same pills as the Overview cards — Running,
Task failed, follow-up of #N, and Open session — in the row's
top-right corner. The "is this one already being worked on?" answer is
available on the list you actually read, without opening the card. - The Open column can be ordered by creation date. The new Open column
order setting offers Creation date (oldest first), Creation date (newest
first) and Rank. - A separate switch floats the running work to the top. Show running ideas
at the top (on by default) lifts the ideas whose run is in flight above
whichever of the three orders you picked, without changing that order.
Changed
- The Overview's Open column now reads oldest-first by default, so a backlog
scans like the diary it is. Pick Rank to get your hand-set ranking back; the
setting applies to that one column, and the Priorities tab always stays on the
rank it prints. - Only the running work is floated. A failed run keeps its red Task
failed pill but stays where the selected order puts it — a date-ordered
backlog that jumped every failure to the top would stop reading as a diary. - Neither setting stores anything: the board refreshes every 2.5 s, and it can
never overwrite the ranking you set. - While the Open column displays something other than the stored rank, its drag
grip is off and says why. The card buttons still move an idea to another
column, and choosing Rank with the running float off brings the grip back.
Fixed
- A restored idea no longer shows a stale Delivered {date} pill in the
Priorities list. Restoring clears the archive stamp but keeps the delivery
date, so the row was announcing "this one is done" on an idea you were about
to pick up. - Dropping a card into a reordered Open column no longer writes back the ranking
it already had. The anchor you saw came from the displayed order while the
write resolves in rank order, so the drag did nothing visible while still
calling the host.
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.7.3
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.7.3/CHANGELOG.md
Full Changelog: v0.7.2...v0.7.3
v0.7.2
Fixed
- The npm and changelog links at the bottom of a release note pointed at a
doubled version prefix, so they did not open. (The v0.7.1 release page still
shows the wrong links: it was published before the fix.)
npm: https://www.npmjs.com/package/dsh-plugin-ideas-manager/v/0.7.2
Changelog: https://github.com/EiffelBS/dsh-plugin-ideas-manager/blob/v0.7.2/CHANGELOG.md
Full Changelog: v0.7.1...v0.7.2