3.x & 4.x Roadmap #52
Pinned
jordansrowles
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Rowles.LeanCorpus Feature Roadmap
I've discovered that I love to have 3 features in one version, and 50,000 in the next. I need a roadmap to stop feature creep.
3.x Feature completion
3.x is deliberately completion-focused: finish incomplete feature families, improve observability, and lock down the contracts that 4.x will build on.
3.0.0 - CodecKit & Index Rework ✅ 2026-08-25
This release is deliberately architectural.
Note: 3.x does not need trained codecs or automatic codec selection. The goal is to avoid another breaking redesign if those become worthwhile later.
3.1.0 - Facets & Aggregations
Estimated effort: 9 days
Reasoning: 3 approx. data structures plus a lot of facet semantics and integration
Estimated date: Friday 4th September 2026
Basic
FacetBucket,FacetsCollectorandHistogramBucketexist, but the drill-down and advanced aggregation machinery does not.DrillDownQuery)Note: Don't drift into an Elasticsearch-style aggregation DSL yet. The collector primitives matter more.
3.2.0 - Geo Shapes
Estimated effort: 9 days
Only
GeoPointField(LatLongPointequivalent),GeoBoundingBoxQueryandGeoDistanceQueryexist today.LatLonShapeXYPoint3.3.0 - Analysis Enhancements
Estimated effort: 7 days
Reasoning: Lots of individual small filters, but token-graph correctness and the analysis inspector add weight
LimitTokenCountFilterinto an analyser wrapperTrimFilterStemmedOverrideConditionalTokenFilterKeywordRepeatCodepointCountClassicFilterexists)CollationKeyanalyserPatternCaptureGroupTokenFilterFingerprintFilterTypeTokenFilterCommonGramsQueryFilterNote: Token-graph correctness remains an implementation-quality concern across positions, position lengths, offsets, flattening and phrase/query-time handling.
3.4.0 - Suggestions & Parsers
Estimated effort: 10 days
Reasoning: Parser AST / pipeline is the major work, + 2 parsers and completion work
ContextSuggesterFuzzySuggesterif it provides a useful surface beyondDidYouMeanSuggesterStandardQueryParserSurroundQueryParsersyntax -> AST -> processors -> Query3.5.0 - Vector & Range Search
Estimated effort: 7 days
Reasoning: Byte vectors and multi-vector documents are the risky pieces, rest builds on existing
3.6.0 - Alt Indexing & Query Models
Estimated effort: 15 days (probably be extended)
Reasoning: Monster of a release.
MemoryIndexMonitorQueryNote: This remains slightly miscellaneous, but all of it concerns alternative ways of indexing, querying or storing.
3.7.0 - Telemetry & Diagnostics
Estimated effort: 9 days
ActivitySourcecoverage and standardise span names/tagsNote: 3.x records what actually happened. 4.x will add what was estimated, planned and rejected, and why.
3.8.0 - Languages & Text Similarity
Estimated effort: 8 days
4.x Architecture sophistication
4.x is where LeanCorpus starts reasoning about execution as a whole rather than only providing capable individual primitives.
4.0.0 - API & Optimiser Contracts
Goal: custom extensions should be able to participate in optimisation rather than silently forcing opaque slow paths.
4.1.0 - Query Planning & Execution
Note: There should be one plan model, not separate competing "execution plan" concepts. Logical intent, chosen physical operators, estimates and observed execution should be different layers/views of the same query execution model.
4.2.0 - Index Lifecycle & Integrity
4.3.0 - Retrieval, Ranking & Relevance Unification
Retrieval
topKand oversamplingRanking
Examples include exact symbol > prefix > fuzzy > semantic, or exact phrase > proximity > loose term match. This must remain a generic primitive rather than a code-search-specific policy.
Relevance evaluation
Note: This release consolidates the retrieval/ranking architecture rather than creating separate query, retriever, fusion and ranking-plan hierarchies for the same problem. ADR016 remains the baseline: do not reintroduce Matryoshka, RaBitQ, PQ or compressed late interaction without a materially different design and new benchmark evidence.
Investigations, not release commitments
Keep these outside the numbered roadmap until the evidence is strong enough to promote them:
The bar for promotion is a representative spike with measurable benefit over the simpler LeanCorpus baseline in latency, throughput, allocations, memory/index size and relevance/recall where applicable.
Out of release cycles
All reactions