Repository navigation
v1.0.0-rc.5 - defects measured on real projects, and a signed Mac app
Pre-releaseThis candidate comes from use, not audit. Nearly every fix below starts from a defect measured on a real project — a Tropy corpus of 221 archival documents, a Zotero collection of 70 references, a library of 55 PDFs. As in rc.4, most of them crashed nothing: they lost or skewed your work without saying so.
It is also the first release whose Mac builds are signed and notarized by Apple.
Which file do I download?
| You are on | Take |
|---|---|
| Mac with Apple Silicon (M1–M4) | Mac.Silicon.-.ClioDeck-1.0.0-rc.5-arm64.dmg |
| Mac with an Intel processor | Mac.Intel.-.ClioDeck-1.0.0-rc.5.dmg |
| Linux x86_64 — any distribution | Linux.AppImage.-.ClioDeck-1.0.0-rc.5-x86_64.AppImage |
| Linux x86_64 — Debian or Ubuntu | Linux.Debian.-.cliodeck_1.0.0-rc.5_amd64.deb |
| Linux arm64 | no build here — the code should work but is untested |
| Windows | no build here — the code should work but is untested |
On Linux, uname -m tells you which you need: x86_64 (the usual answer on a PC) or aarch64.
Before you install
On a Mac, the app now opens like any downloaded app. No more right-click → Open. On first launch, macOS asks once for your session password so ClioDeck can reach its entry in the keychain (« cliodeck Safe Storage »), where it keeps your API keys encrypted: the signed app is a new identity for macOS. Choose Always Allow. If an API key still cannot be read, it is listed under Settings → Security, ready to be entered again.
On first launch with an existing project, duplicate PDFs are cleaned up (see below). A copy of your database is saved first, as .cliodeck/brain.db.avant-dedoublonnage-<date>; delete it once you are satisfied.
You still need a model somewhere — Ollama locally, a cloud provider with your own key, or the small embedded model from Settings. PDF export needs Pandoc and LaTeX. The installation guides cover it all.
Your OCR is kept
On a corpus of 221 archival documents, not one transcription survived synchronisation — after roughly a day of text recognition. ClioDeck judged whether a source had changed from the date of the Tropy project file, a single date for the whole project, so no source ever looked modified and none was saved. Re-saving a source also wiped its excerpts, and an OCR pass that found nothing overwrote a transcription you already had. Freshness is now read per item, and a transcription produced is always written.
One PDF, one document
Every re-indexing of a PDF added a full new copy of it. Measured: 221 documents for 55 PDFs, 5,920 excerpts of which 1,264 were distinct — copies of the same page crowding out the passages that actually answered your question. Re-indexing now replaces, and existing duplicates are removed at launch.
Search weighs your corpora fairly
Your sources, your archives, your notes and your manuscript are searched together, but they did not score on the same scale: some corpora published a ranking score that could never exceed 0.016 against similarities around 0.5, and sank below everything else. That is how your own manuscript, then your Obsidian vault, went missing from answers. Every corpus now reports on one common scale.
Your reading notes, part of the corpus
Each reference can have a reading note — a plain Markdown file in reading-notes/, with your project's own labels. The assistant can now search them: « what did I note about this book? » finally has an answer. Like the rest of your personal corpus, they are not sent to a cloud provider unless you allow it.
One Zotero bibliography, not three
A 70-item collection produced 69 entries in the .bib and 67 records in the application. Four citation keys stood for nine different works, and a single typographic hyphen copied from a name made Pandoc reject the whole file, so no citation resolved on export. Synchronisation matched references by key and could overwrite a namesake. Exports carried no URL, DOI or page range, and books with editors came out as « Unknown ».
Keys are now unique and Pandoc-safe (valid existing keys are kept), references are matched by their Zotero identity, sub-collections are read the same way everywhere, and exports carry the full record. Two buttons became one — Sync with Zotero — which applies additions and corrections directly and asks before removing anything. Zotero's tags and notes are shown read-only, automatic tags hidden by default; what belongs to your project goes into your reading notes.
Large and « thinking » local models
A large local model could die silently at five minutes, before its first word: Node's network layer gives up after 300 seconds without a reply. Thinking models such as Qwen 3 stayed mute for minutes while reasoning, until an inactivity timeout fired for no reason. Their reasoning is now shown as it arrives, folded, and kept in the research journal. The context window is read from Ollama itself, with a memory estimate before you pick one too large for your machine.
Your corpus in Claude Desktop
The MCP server — which lets Claude Desktop or Claude Code search your project — could not start from an installed application: its launcher was not shipped. It now installs in one click, each tool is enabled one by one, and reading your manuscript from outside is an explicit choice.
Known limitations: Mac builds are signed on the maintainer's machine, not yet in continuous integration. Issue #77 (a dependency update that means rewriting how PDFs are read) is still open. No Windows build.
The changelog lists every change with its pull request.