Releases: fayzan123/rungraph
Release list
v0.7.0 — title search in the picker
The run picker gains a title search box beside the agent chips: type to narrow the run list by title, combine it with an agent chip to narrow by both. The filtering stays in the picker — the graph itself is never filtered, so the spatial memory of a run you have open is never disturbed.
v0.6.1 — five adapters, said everywhere
Docs and metadata only: the landing page and every other place the copy said "four adapters" now says five, and a reference note records where those places are so the sixth adapter's release doesn't repeat the hunt. No code changes since v0.6.0.
v0.6.0 — the Cursor adapter
rungraph now reads Cursor — the fifth adapter, and the fifth client that can run the MCP loop.
Cursor is two stores under one adapter, because the rail should show one vendor for one product: the IDE's global state.vscdb (every project's conversations in one key-value table) and cursor-agent's per-chat store.db (a content-addressed blob store whose conversation order lives in a protobuf root snapshot). Runs carry surface: 'ide' | 'cli'.
No Cursor field says whether a tool call succeeded — a refused command is status: completed — so a calibrated outcome classifier shared by both surfaces decides, and the calibration record ships in the spec. Cursor's own encryption-key fields never leave the machine: the secret scanner learned a key-name rule alongside its pattern list.
Also in this release: dogfood and readability fixes across the dashboard, and the Claude Code adapter recognises atis-latch with a populated token and bridge sessions, and names MCP tools.
Like Hermes and opencode, the Cursor stores are SQLite: those three adapters want Node ≥ 22.13 and self-disable with a structured warning on older Nodes.
v0.5.2 — npm description
Metadata only: the npm description now says what rungraph is and names all four clients —
A visual run explorer for AI coding agents that lets you review, share, and question the session behind a PR, using the transcripts Claude Code, Codex, Hermes, and opencode already write. Zero setup, MCP built in.
No code changes since v0.5.1. If you are upgrading from v0.4.x, read the v0.5.0 notes for the --install / --check JSON changes.
v0.5.1 — homepage and sharing copy
Metadata and copy.
- npm
homepagenow points at the landing page, https://fayzan123.github.io/rungraph/ (the Repository link still goes to GitHub). - Landing page hero and README lead the sharing story with the exported
.rungraphbundle — pick the runs behind a PR, send one file, the reviewer opens it on their own machine and their agent can question it — rather than the deep link, which only works for someone who already has the same runs on disk.
v0.5.0 — install into every agent rungraph can read
rungraph mcp --install now installs into every agent rungraph can read — Claude Code, Codex, Hermes Agent and opencode — not just Claude Code. This release has a breaking change to the --install / --check JSON output.
src/clients.jsis the one MCP client table: how rungraph registers with each agent and how it reads back whether it is there. Keyed toADAPTERS, andtests/clients.test.jsfails CI if an adapter has no entry, so a fifth adapter cannot land without deciding how it installs.--installregisters with every detected agent (--client <name>|allto target). All four delegate to the vendor's own CLI —claude mcp add,codex mcp add,hermes mcp add,opencode mcp add— so rungraph never edits an agent's config file. A failed delegation prints that client's config block instead of dead-ending.--checkreports one row per detected agent and passes when at least one is wired up.- Launch resolver.
npx rungraph mcp --installused to write an absolute path into~/.npm/_npx, a cache npm garbage-collects, after which the tools silently vanished. It now writesnpx -y rungraph mcpfrom an npx cache andrungraph mcpfrom a global install. servenudge. A one-line hint to install the MCP server until an agent has actually handshaked (RUNGRAPH_NO_NUDGE=1silences it).- Every vendor behaviour was probed against the real CLI; five claims in the design spec were falsified by probing, including that opencode could not be delegated to (it has an undocumented
--passthrough).
Breaking:
- Bare
--installused to mean--client claude; it now registers with every detected agent. --install --jsonmoves per-client fields intoclients[];installedis now a count andwroteis gone.--check --jsonno longer has a check named "registered with claude".- The README's Hermes one-liner is retired — it silently no-opped when scripted.
v0.4.5 — opencode adapter
Fourth adapter — and the second agent that can close the loop.
- opencode adapter. Reads the global
~/.local/share/opencode/opencode.db(XDG_DATA_HOMEhonoured,RUNGRAPH_OPENCODE_HOMEoverrides). Root sessions are runs; subagent sessions are lanes, paired by the child session id the task part records, so there is no dispatch-order guessing. File attribution is exact (absolute paths) and the agent that ran each session is recorded rather than inferred. opencode speaks MCP, so its users get both ends of the loop: ask in the TUI, watch the dashboard light up. IRNode.reverted— a new additive core field (irVersionstays 1). Reverted work renders as a mark (struck label + badge), never as opacity. Work-quality signals skip reverted nodes; interventions inside a reverted region still fire.src/sqlite.js— the onenode:sqlitetouchpoint (version gate, readonly open, crash-recovery copy, schema-tolerance helpers), extracted from the Hermes adapter so two copies of the recovery policy cannot disagree.- Calibrated against a real 17-session corpus: cumulative per-step tokens are taken as a max, not a sum (the naive sum was 4.9× too big); the tool-node status invariant (
erroriff every call failed) is now one cross-adapter test over all four corpora. - Site: leads with the loop; the nav is a table of contents; FAQ answers when the graph is computed and what a run costs in tokens.
v0.4.4 — redact secrets on every MCP tool result
Security fix: the MCP surface now redacts secrets the same way export does.
rungraph exportalready blocked on high-confidence secrets;rungraph mcpdid not. A tool result travels in the calling agent's API request and is written into that session's own transcript, so a key read once in one run came to rest in a second one.- Redaction runs at the single
callToolchoke point, which covers node labels as well as payloads — a prompt label at the 80-char snippet cap could carry a complete AWS key, sofind_nodesleaked without anyone fetching a payload. Every redacted result reports how many values it replaced. walkStrings/redactTreelive insrc/secrets.js, shared by both boundaries. The dashboard stays verbatim by design: it renders over loopback to your own browser, where seeing a key is how you rotate it.- The secrets fixture grew a fifth location (a node label) to pin the behaviour; the site FAQ names both boundaries.
v0.4.3 — coverage
"Nothing went wrong" and "I could not read part of this" used to look identical.
- Coverage. Every adapter now counts what it examined alongside what it could not read, surfaced as
meta.coverage = {records, unrecognized, sourcesUnread}. A newsrc/coverage.jsis the single classifier (no imports, likefind.js), so the strip badge on the canvas and the note on the MCP read tools fire on exactly the same verdicts. Loud drift (< 75% read and ≥ 25 unrecognized records) leads the signal strip; quiet drift sits inline; both are sticky and undismissable. The inspector always showsrecords N / N. - Why now: a new Claude Code record type (
atis-latch) had silently pushed 14 recent sessions to 4–6% unread with an empty signal strip. It is now recognized by shape, so a future version that populates the field cannot be swallowed. - Thresholds are calibrated against 224 runs / 129k records; the fixture corpus gains two drift runs, and the clean run now asserts zero unread records.
- Docs: the MCP agent loop is documented for clients beyond Claude Code; the sharing section of the site explains what a bundle is for.
v0.4.2 — two small fixes
Two small fixes.
- The unrecognized-lines notice on the canvas can now be dismissed.
- Landing page says three adapters, naming Hermes Agent.