Find, verify, and weigh the literature.
Locally.
Winnow searches open scholarly indexes, resolves every DOI against a registry, ranks what survives, and can turn the verified set into a review draft where every evidence claim carries a quote. The model writes; it never invents a reference.
v0.1 scaffold · MIT licensed · Node 24+ · no accounts, no telemetry
Retrieval is cheap. Sifting it honestly is not.
Search tools return lists. Deep-research tools write fluently from whatever they found, and sometimes from what they remember. Winnow is built for the part in between: identity, evidence, and the case against your own thesis.
Verified, never generated
Five orthogonal axes: identity, match category, integrity notices, link status and check completeness. A DOI is resolved, not guessed. No model participates in deciding whether a paper exists.
Provenance, not vibes
Every evidence sentence carries a source and a quoted span. Synthesis needs two or more claims, gap claims come from corpus queries, and framing prose carries no facts. Weak support is flagged, not hidden.
Ranked, not worshipped
Reciprocal rank fusion across providers, deterministic selection, and every candidate recorded with its provider ranks. Citation counts are shown, not treated as a quality score.
Counter-evidence, with quotes
Inverted queries, citation chasing and stance labels (supports, opposes, mixed, unclear) with a quote behind each. A null result is a valid answer, not a failure.
A real CLI, verified against real indexes.
The v0.1 scaffold retrieves, deduplicates, verifies and ranks. It stores the raw provider payloads, every verification axis and the ranked set in one SQLite database. Replay checks payload hashes and re-derives the deterministic snapshot.
Search saves to the nearest project by default. Use
--no-save for an ephemeral run, or
--format json|csv|bibtex|csl for exports.
# install and link the CLI
npm install && npm run build
npm link ./packages/cli
# create a project and search
winnow init phd-review
cd phd-review
winnow search "retrieval augmented generation" --limit 20
# verify one DOI, or every DOI in a file
winnow verify 10.1038/s41586-020-2649-2
# replay a run from its stored payloads
winnow replay <run-id>
Small steps, each one testable.
| Version | Scope | Status |
|---|---|---|
| v0.1 | CLI: init, search, verify, replay; orthogonal verification, citability, RRF ranking, BibTeX/CSL export | Scaffolded |
| v0.2 | Screening and extraction: human decisions, evidence table, stage gates, PRISMA-inspired counts | Next |
| v0.3 | Review and Argue: evidence bundle, sentence checks, support triage, counter-evidence, citation rendering | Planned |
| v0.4 | Local web UI: browse, triage, read, edit drafts, review queue | Planned |
| v0.5 | Desktop shell, installers, first-run local model setup | Planned |
Narrative and scoping reviews. Not a systematic-review engine.
v1 is honest about what a bounded search can support. A relevance-ranked top-N is not an exhaustive search. Winnow reports PRISMA-inspired flow counts, and says so. Exhaustive retrieval, per-database search strings, full-text eligibility and dual independent screening are deliberately deferred.
The design decisions are recorded in ADR 0001–0011, including the 2026-11-11 specification audit and its disposition.