Repository navigation
Releases: pawanptu/dev-decide
Releases · pawanptu/dev-decide
Release list
dev-decide 5.2.0: decision graph and redesigned pages
Install or update in Claude Code:
/plugin marketplace add pawanptu/dev-decide
/plugin install dev-decide@dev-decide
/plugin install dev-decide-graph@dev-decide
Try the web console: https://dev-decide.onrender.com
Added
- Decision graph.
http://127.0.0.1:47321/graphshows, per kind of task (type · area), what decided (the
trained route model, the zero-shot match or a/dev-decidequestion), which agent or skill was suggested, which
one Claude really used afterwards (from a newPostToolUsehook on the Agent and Skill tools) and how long each
step took, with a filterable timeline, a project picker, 1 hour to 30 days, and live refresh. The hint server
records it after answering, so the hint is no slower. dev-decide-graphplugin: the same graph as a side panel, opened with/dev-decide-graph(a text tree in the
terminal, the graph in the desktop app and VS Code). Needs Claude Code 2.1.310 or later.- Settings:
"decision_graph": {"enabled": true, "keep_days": 30, "prompt_chars": 40}. Records stay on the machine
in~/.claude/dev-decide/traces/, never in the repository; of a prompt only the firstprompt_charscharacters
are kept, keys and tokens masked. A server listening beyond localhost (serve.py) records nothing.
Changed
- Decision graph page redesigned: a plain-English summary at the top, a "read it left to right" guide, stat
tiles that count up with sparklines and meters, an animated step-by-step replay of the latest request, a flow graph
with moving particles, hover tracing, tooltips, keyboard focus and a table view, leaderboards (agents and skills
used, kinds of tasks, who decided and how fast), and a timeline with per-step timing bars, day groups and filters.
Live refresh keeps the previous frame on screen and toasts each new request. Colors are the validated categorical
slots (checked for color-blind separation in light and dark); reduced motion turns every animation off. - Side panel: the SVG now carries the totals, the latest request, check and cross badges, and moving dots on
the busiest links; the terminal shows a text tree with bars and check marks. - Web console rebuilt with Alpine.js (its CSP build, vendored in
skill/vendor/, so no eval and no CDN): an
animated example decision in the hero, a three-step console (what to decide, your input, how to answer) with
tiles, a staged progress view while it decides, a verdict banner, a "where the answers came from" bar, answers
ordered by trust with growing confidence meters, history cards, "Try it" on every bundle, and install tabs.
The page's script now comes from/ui.js, so its CSP isscript-src 'self'(no inline script at all).
Fixed
- The console offered Right/Wrong on rough guesses, which the server never logged, so saving one failed.
- On Windows a second hint server could bind the same port (Python's default
SO_REUSEADDR), so two sessions
starting together could split prompts between two servers. It now binds exclusively.
🤖 Generated with Claude Code
dev-decide 5.1.0
5.1.0 (25 October 2026)
Added
- Instant routing hint. A small local server (
hookd.py) answers Claude Code's HTTP hook in about 5 ms instead of
starting Python on every prompt (about 300 ms on Windows). A SessionStart hook starts it when needed. The old
per-prompt command hook remains available (install.py --router-hook=command). - Routing by meaning and area. Without a trained route model, matching blends words, the bundled embedding model
and technical areas (postgres, column, schema count as database). On held-out requests hint precision went from
80.5% to 88.1%, and false hints with one unrelated skill from 19.5% to 3.2% (tools/eval_router.py). - Example agents and their route model. Eight subagents in
dev-decide-kit/example-agents/(backend-reviewer,
db-migrate, frontend-dev, debugger, security-auditor, test-writer, devops-deploy, docs-writer). When they are
installed, the shipped route model (trained on them) answers routing locally; it is never used for other agents. - Web page: public demo token filled in for visitors, bring-your-own Anthropic key, one example per decision type,
right/wrong feedback that the learning loop uses, batch mode (one input per line), history kept in the browser,
and a warning when the daily Claude budget is nearly used. - Server:
DEV_DECIDE_DEMO_TOKEN(local answers only, nothing about demo requests is stored or learned),
X-Anthropic-Api-Key(the caller's own key for that request only: never stored, logged or counted),
DEV_DECIDE_LOCAL_ONLY, a per-client rate limit, a daily model-call cap with an 80% warning, security headers,
/v1/presets, and richer/health. - Learning that survives restarts.
statesync.pysaves what a server learned (models and hashed labels, never
input text) to a private git repository with a deploy key, and restores it on start. - GitHub Actions.
dev-decide-triage.ymllabels new issues and comments;dev-decide-pr.ymlrates each pull
request, keeps one comment up to date and fails the check on block. - Per-class confidence thresholds. Training measures, per answer class, the confidence its answers need to reach
the target; weak classes need more before they are answered locally. tools/benchmark.py(label, train with calibration, evaluate, write the results table),tools/smoke.py
end-to-end checks, CI on Linux and Windows with Python 3.8 and 3.12.
Changed
- Triage models retrained with 149 hand-labeled short reports (checked blind by Sonnet) and 772 new generated issues.
issue_type: short reports never trained on went from 35% to 88% right (96% of its local answers right), 95.3% on
the held-out test split.severityanddomainare now enabled (local answers 94% and 100% right on examples
neither run trained on). Repositories holding an older starter model get the new ones on their next decision;
models you trained or the learning loop promoted are never replaced. - Rule-based guesses no longer call every short report noise.
- The project root is found without starting git (faster on Windows).
- Starter models and a documented settings file (
.claude/dev-decide.json) are installed on first use.
Fixed
- Rolling back to the oldest archived model crashed.
- Secrets written as
KEY=valuewithout quotes (as in.envfiles) were not detected; a diff too large to scan
fully was reported as having no secrets. - A Claude Code plan or usage limit message was taken for a model answer (and cached by the kit).
- A gate could block on rough local guesses alone; such rules now ask for review, while rules and models still block.
- Reinstalling while the routing-hint server ran failed on Windows (a memory-mapped file); the installer now stops it first.
- Gates passed on answers that were unsure;
.pycfiles were reviewed as part of a change; aCOMMIT -xargument
could be read as a git option; and the local API answered other websites when no token was set.
Install or update in Claude Code:
/plugin marketplace add pawanptu/dev-decide
/plugin install dev-decide@dev-decide
Full guide: setup_deploy.md. Every number above is reproducible with python3 tools/benchmark.py.
🤖 Generated with Claude Code