All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
N/A
[local]optional dependency group (pip install lean-explore[local]) for running the local search backend, which requirestorchandsentence-transformers.- Installation section in README documenting the different install options.
- Per-field MCP tools (
get_source_code,get_source_link,get_docstring,get_description,get_module,get_dependencies) replacing the monolithicget_by_idtool. - Improved MCP tool docstrings with recommended workflow guidance.
- Retry logic for
lake updateto handle transient network failures. - Lean package workspaces tracked in version control.
get_by_idMCP tool (replaced by per-field tools).
- Renamed
search_verbosetosearch_summaryand restoredsearchto return full results for backwards compatibility with existing consumers.
search_summaryMCP tool that returns concise results (id, name, short description), reducing token usage by ~87% compared to the full-payload search.SearchResultSummaryandSearchSummaryResponsemodels for slim search results.extract_bold_descriptionutility for extracting informalization headers.
- Changed
SearchEnginedefault foruse_local_datafromTruetoFalseso thatService()works out of the box after runninglean-explore data fetch.
- Fixed data fetch to use
latest.txtfor version discovery instead of hardcoded file names.
Complete architectural rewrite with a new extraction pipeline that enables nightly data updates and dynamic package indexing.
- Extraction pipeline: Automated pipeline for processing doc-gen4 output, enabling nightly data refreshes
- Cross-encoder reranking: Uses sentence transformers for improved search result quality
- Expanded package support: Now indexes 9 packages (Batteries, CSLib, FLT, FormalConjectures, Init, Lean, Mathlib, PhysLean, Std)
- New data model:
DeclarationreplacesStatementGroup - New field names:
name,module,source_text,source_link,informalization - Simplified API:
SearchEngine,Service,SearchResult,SearchResponse - Remote API endpoints:
/declarations/{id}replaces/statement_groups/{id}
- Implemented batch processing for
search,get_by_id, andget_dependenciesmethods across the stack, allowing them to accept lists of requests for greater efficiency. - The API Client (
lean_explore.api.client) now sends batch requests concurrently usingasyncio.gatherto reduce network latency. - The Local Service (
lean_explore.local.service) was updated to process lists of requests serially against the local database and FAISS index. - The MCP Tools (
lean_explore.mcp.tools) now expose this batch functionality and provide list-based responses. - The AI Agent instructions (
lean_explore.cli.agent) were updated to explicitly guide the model to use batch calls for more efficient tool use.
- Updated minimum Python requirement to
>=3.10.