Releases: drknowhow/deep-research
v0.2.0 — reference scholar + synthesis_doc_builder
What's new in v0.2.0
This release ships the deferred reference implementation that the v0.1.0 protocol bundle pointed at. v0.1.x consumers see no breaking changes — the SKILL protocol surface is unchanged. The new lib/ code is pluggable reference for orchestrators wiring deep_research into their own runtime.
Added
lib/scholar.py— stdlib-urllib adapter over OpenAlex, Semantic Scholar, PubMed, arXiv, Europe PMC, Crossref, Unpaywall. Actions:search,multi_search,get,find_doi,resolve_oa. Uniform normalized-hit schema across sources.lib/synthesis_doc_builder.py—python-docx+matplotlibhelper that renders the synthesis doc (forest plot, PRISMA flow, stance heat-table) with a pluggable upload callback.pyproject.toml— installable package. Core stdlib-only;[viz]extra addspython-docx,matplotlib,numpy.tests/test_scholar_smoke.py,tests/test_synthesis_doc_builder_smoke.py— stdlibunittest, network-free, soft-dep-aware skips.
Changed
lib/scholar.pyexposesconfigure(contact_email, app_name)and honorsSCHOLAR_CONTACT_EMAILenv. Without it, polite-poolmailto=is omitted and a generic UA is sent. Embedding dedup pluggable viaset_embedding_deduper(fn).lib/synthesis_doc_builder.pydecouples upload viaUploader = Callable[[Path, str, str], dict]. No uploader → returns local.docxpath,uploaded=False.manifests/deep-research.v0.4.jsonbumpstool.versionto0.2.0.SKILL.mddrops the v0.1 hedge.README.mdupdated for v0.2.0; quickstart showspip install "deep-research[viz]".
Install
pip install "deep-research[viz]" # full reference impl
pip install deep-research # protocol + stdlib core only
Full diff: v0.1.1...v0.2.0
v0.1.1 — patch: public_identity redaction + manifest schema fix
Patch release covering post-v0.1.0 fixes. No feature changes.
Changes
- public_identity: redact surname from LICENSE (
Copyright (c) 2026 Dimitri T (Dr. Know How)), README author section, andmanifest.tool.author.name(nowDimitri T). - manifest: remove top-level
$schemaproperty — rejected by v0.4additionalProperties: false. - manifest: bump
tool.versionto0.1.1to label this release honestly.
The reference Python implementation (scholar adapter + synthesis_doc_builder) remains targeted at v0.2.0 per manifest.tool.description.
Note on v0.1.0
The original v0.1.0 tag was force-moved post-release to include the surname fix (bad SemVer hygiene). Going forward, post-release patches get their own version. v0.1.1 is the right label for the LICENSE / README / manifest identity changes.