Repository navigation
Releases
Kovrune v0.1.0
Kovrune v0.1.0: technical preview
The first signed release of Kovrune, a local-first research app: ask a question about your own documents, and optionally Wikipedia and OpenAlex, and get an answer whose quotes are checked against their sources. The model runs on your computer, in the browser or on a local model server.
This is a technical preview, for people comfortable starting a local model server from a terminal. It fixes one build for testing; it is not a general release.
What's in it
- Research over your documents: PDF (with a text layer), text, Markdown and HTML. Each answer shows the passages it quoted, and each quote is checked word for word against its source.
- Answer labels that say how far an answer is backed: Quotes found, Quotes found, answer not confirmed, too short to check, sentences without a quote, quotes not found, or Not found in your sources.
- Open sources, off by default: Wikipedia (any language edition) and OpenAlex.
- Report mode: a longer report written section by section from short, checked answers.
- Two ways to run the model: a local llama.cpp server (supported; Ollama is experimental), or in the browser with WebGPU (experimental, below).
- Your work stays in the browser: saved documents and answers, interrupted questions that resume, storage management, backup and restore, and export to Markdown and BibTeX.
- Release hardening: pinned model downloads checked against their SHA-256, a Content Security Policy, and builds that anyone can rebuild byte for byte and check against the owner's signature (
docs/releases.md).
Measured quality
Qwen3.5-4B (Q4_K_M) on llama.cpp in the cloud container, constrained decoding, from the latest committed reports (field-0.42-main for the original suites, field-0.54-cache for field and held-out):
| Suite | Correct | Wrong among answers labelled Quotes found |
|---|---|---|
| Original research set | 19 of 22 (target ≥ 73%) | 1 of 17 |
| Unanswerable questions, refused | 8 of 8 (target ≥ 2/3) | — |
| 4 of 4 | 0 of 4 | |
| Field (real documents, 89 questions) | 80 of 89 | 2 of 66 |
| Held out (not used for tuning) | 35 of 37 | 0 of 28 |
Valid model actions: 100% in every suite. The target for wrong answers labelled Quotes found is under 10%.
Known limitations
- The browser path is experimental. It passes its setup checks, but has not yet answered a question end to end on a real GPU (issue #9). Every quality figure above comes from llama.cpp. If the model test is slow or answers look broken, use a local model server.
- Qwen3.5-2B needs more checking. It is lighter and suggested on 8 GB devices, but it correctly refused 5 of 8 unanswerable questions, below the target, and more of its short answers are wrong.
- Real quotes don't prove a right answer. Quotes found means the quotes are in the source and the model's own check agreed; a partial answer or a nearby wrong fact can still get it. Check the quotes against your question.
- No usability test yet. No new user has been observed setting up the app (issue #29); this release is the fixed build for those sessions.
- Questions that need several documents are weaker: 14 of 21 correct, and 2 of the 9 such answers labelled Quotes found were wrong (
field-0.54-cache, multi and multi held-out suites). - The evaluation is small: 7 field documents, mostly single-fact questions. Large libraries are untested.
- Scanned PDFs without a text layer can't be read. The model sees about 4,096 tokens at a time, so search picks the passages it reads.
Verify this release
Rebuild the tag and compare it with SHA256SUMS, and check SHA256SUMS.sig against release-signers: see Check a release yourself. The preview at https://kovrune.pages.dev/ serves main, not this release.
Security reports: SECURITY.md.
Built by GitHub Actions from v0.1.0 (d4d86b2) with Node v22.22.0. To publish: rebuild the tag, run npm run release:sign, attach SHA256SUMS.sig, then publish (docs/releases.md). To check it: npm run release:verify, or rebuild the tag and compare with SHA256SUMS.