v0.6.0: MCP server (#30)
* MCP server: ask your coding assistant why a run failed
tracedown mcp (stdio, extra [mcp]) exposes eight tools over the HTTP API:
list_failed_runs, explain_run, get_step, suggest_fixes, check_replay,
check_claims, list_incidents, diagnose_trace. Plain-text answers that say
verdicts are ranked suspects. Tests cover each tool on the demo runs and a
real MCP session over stdio. Docs: docs/mcp.md, README, wiki.
* MCP server: fixes from end-to-end testing and review
- run ids with / ? # % or spaces are refused (the server decodes %2F before
routing); other ids are quoted
- the API key is not sent on to a redirected host
- every failure is a tool error with a plain sentence; 401 says how to set
TDN_API_KEY; non-Tracedown replies and bad --endpoint values are explained
- explain_run falls back when the key may not run analysis
- get_step reads one step's payloads instead of the whole bundle
- read-only hints on tools; quieter logs; works with mcp 1.x and 2.x
- docs: permissions per tool; tests for each of the above
* MCP server: keep the API key on same-host redirects; tests pass on mcp 1.x and 2.x
* Release 0.6.0: MCP server
Version 0.6.0 in every package; wiki roadmap: 0.5.0 and 0.6.0 done, proven
fixes in TypeScript moves to 0.7.
nbn07
committed
Nov 2, 2026
v0.5.0: proven fixesProven fixes (#29)
* Proven fixes, part 1: fix-check and tdn.confirm_cause
- server: fixes.check() decides whether a replay fixed a run (blamed problem
gone, nothing new at 0.7+, run finished, user's test passed)
- API: GET /api/v1/runs/{id}/fix-check?replay=<id>[&user_test=]
- SDK: tdn.confirm_cause() replays from the blamed model step with a corrected
output, 3 tries, all must pass
- replay: tool stubs (tools=) and live_tools=; confirm_cause blocks real tool
calls by default (SideEffectBlocked)
- tests on the calendar demo; docs in HOW-IT-DECIDES
* Proven fixes, part 2: suggested fixes and tdn.try_fixes
- server: fixes.suggest() lists what to change for the root cause and up to two
other suspects; for bad model values, made-up facts, outdated documents and
injected documents it adds a replay recipe (prompt instruction or documents
left out). Loops and failing tools get advice only; user-fault runs say so.
- API: GET /api/v1/runs/{id}/suggestions
- SDK: tdn.try_fixes() replays each recipe 3 times with the fix check;
replay overrides prompt_note and retrieval_drop
- demo models react to the instructions (calendar, pricing), the refund demo
has the current 0 policy, the injection demo a clean spec page; diagnoses
unchanged
- spec: tdn.replay.dropped, tdn.replay.source=stub
* Proven fixes, part 3: results in the web app
- Fixes tab on a failed run: each suggestion with works / did not work /
not tested yet / needs a code change, its replays, and a try_fixes snippet
using the run's own tool names
- 'Did this replay fix the run?' banner on every replay
- replays made by try_fixes carry tdn.replay.suggestion; the suggestions
endpoint attaches their fix checks and lists other replays separately
- tracedown up tries the suggested fixes on four demo failures (one try each)
* Release 0.5.0: proven fixes
Version 0.5.0 in every package; README, docs and wiki describe proven fixes.
* 0.5.0: the server needs SDK 0.5 (try_fixes); Helm chart and templates
nbn07
committed
Nov 1, 2026
Wiki: keep the pages in wiki/ and publish them with a workflow
README and CONTRIBUTING link the wiki; the roadmap drops the hosted demo
(live since 0.4.2) and shows proven fixes in progress.
nbn07
committed
Nov 1, 2026
Wiki: understand, contribute, run and maintain