Repository navigation
Callimachus v0.11.3
Patch Changes
-
10f2165: Faster, lighter, and better search results, measured on a 5 GB index of 1.4 million messages.
- Memory: the embedding model unloads after it has been idle (10 minutes in the app, 1 minute in the MCP server), and bulk builds use their own model instance that is dropped when the build ends. The app no longer sits at 1.5 GB after a day, and an MCP server no longer keeps 400 MB after one semantic query.
- Semantic search: results are filtered by a calibrated similarity floor, so a query no longer pads out with unrelated hits; Starred, tag and date filters now apply to semantic results too; the keyword and semantic passes run in parallel and the semantic pass is capped, which takes about 200 ms off each hybrid query. Turning the semantic switch on warms the model so the first query is not keyword-only.
- Keyword search: quoted phrases are honored as phrases (about 14x faster and precise), tool output ranks below prose, identical snippets collapse, recent activity gets a nudge, and a page no longer comes back short when many threads match. A new search cancels the previous one.
- Threads: opening a long thread sends tool output as a preview and fetches the full text only when a row is expanded (the largest thread went from a 6 MB payload to a fraction of it); switching tabs keeps the Search view, its scroll positions and the open thread; expanded rows stay expanded when scrolled away and back; scroll height no longer drifts.
- Background work: new messages are embedded automatically about a minute after agents go quiet, so semantic search, Ask and recall stay current without pressing Build; a message appended to a distilled thread no longer wipes its facts; the launch check for new sessions no longer flashes "Indexing…" or disables Reindex; live refresh pauses while the window is hidden and never re-runs a typed search behind your back; every background job logs its duration.
- Reindex toasts report the messages that were actually new.
- Storage: large tool calls from Claude Code (a Write of a whole file, for example) are now stored like tool output, head and tail with the middle elided, which keeps the index smaller; Shrink index applies the same cap to calls stored by older versions.
-
fcbafcc: - Smaller downloads and updates on macOS and Linux (about 23 MB less): the app no longer bundles two unused copies of its backend as separate
calandcallimachus-mcpbinaries (the app itself already serves both). The deb and rpm packages also stop installing/usr/bin/caland/usr/bin/callimachus-mcp(thatcalcollided with the system calendar). If you used them, Settings → Claude Code → Enable for Claude Code links the app as~/.local/bin/cal(or download the standalonecal-<target>from Releases), and an MCP client can run/usr/bin/callimachus --mcp; the app re-points a Callimachus MCP entry left on the removedcallimachus-mcpby itself, and the VS Code extension finds/usr/bin/callimachuson its own. Windows installs still shipcal.exeandcallimachus-mcp.exe, built with the VC runtime linked in as before.- Reclaim disk space now shows how much it would free ("Reclaimable: 248 KB") and is only available once at least 50 MB and 1% of the index are free, instead of rewriting a multi-GB index to give back a few kilobytes. When it runs, the toast reports the space actually freed, or says it will be returned shortly when another read held the file back. Shrink index follows the same rule and says when the space it saved stays inside the index until enough is free.
- Tool output stored by older versions is now trimmed in the background a little after launch, a few thousand rows at a time, for threads whose transcript is still on disk (a re-index would store the same trimmed text). Threads whose transcript the agent has since deleted keep their full text, since the index holds the only copy; Shrink index still trims those when you choose to. The trim runs once per index and never alongside Shrink index or Reclaim space.
- No more splash flash on launch: the splash screen only appears when startup takes longer than about 0.4 s or the index is being upgraded, and then stays up for at least 0.6 s, so a normal launch opens one window, once.
- Long threads now fill their context budget when packed for Add to chat, MCP
get_thread, distill, snapshots andcal context: tool calls and shortened tool output are kept while room remains instead of all being dropped at once, and elision keeps as many turns as fit instead of at most 12 (40 large threads went from 19 KB to 48 KB of a 48 KB budget on average).
-
44a8ab3: Search results and threads are easier to scan and to move through.
- Results: one row per thread, two lines: the title with its match count and time, then where the match came from ("You:", "Assistant:", "Bash output:") and the project. Arrow keys move through the list from the search box, Enter opens, Esc returns to the box. No-match states name the active filters and offer "Clear filters" and "Try semantic search"; an empty index offers Reindex inline.
- Threads: runs of tool calls fold into one line ("12 tool calls · Bash 5 · Read 4 · Edit 3") that expands in place, with results attached to their calls; a Match stepper walks the search hits (Enter / Shift+Enter, Cmd+G) and a Prompts stepper walks your messages ([ and ]); the header is two lines (title and actions, then source, project, branch, time and inline tags), and the commits row only appears when there are commits.
- Elsewhere: Coach's recurring errors open a search for that error; the Projects toolbar keeps Build memory and Remember and moves the rest under More, with facts as a plain list; Stats opens with one summary row; the command palette gains "Search for …" and recent threads and uses the same labels as the tabs; Chat has one New chat button and focuses its box on open; drawn icons replace the few text glyphs.
Install: macOS .dmg (Apple Silicon), Windows .msi or -setup.exe, Linux .AppImage, .deb or .rpm (glibc 2.38+). Installed apps update themselves. The standalone cal-<target> and callimachus-mcp-<target> binaries are for CLI/MCP-only use; their SHA-256 sums are in SHA256SUMS.