Skip to content

docs(roadmap): act on the 2026-Q3 review — fix drift, roster shipped work, open the rolling lane - #302

Merged
marius-bughiu merged 1 commit into
mainfrom
docs/roadmap-review-2026-q3
Jul 25, 2026
Merged

docs(roadmap): act on the 2026-Q3 review — fix drift, roster shipped work, open the rolling lane#302
marius-bughiu merged 1 commit into
mainfrom
docs/roadmap-review-2026-q3

Conversation

@marius-bughiu

Copy link
Copy Markdown
Owner

Acts on the 2026-Q3 roadmap review (#281). Documentation only — no scope decisions, no code. This reconciles ROADMAP.md with what CHANGELOG.md, the git tags and src/ already say.

Why

The review found every milestone through 2.1.0 complete (0 open issues across all five), yet two full releases of collections had shipped without ever appearing on the roadmap, and two pieces of prose still described work that had already landed.

Drift fixed

Location Said Actually
Vision "Celerity currently ships a single NuGet package (Celerity.Collections)" Three packages since the v2.0.0 split
Milestone 2.0.0 "What remains is the human-gated go/no-go on the actual v2.0.0 tag (#213)" v2.0.0 shipped 2026-06-21; #213 is closed

Rostered retroactively

A new milestone 2.3.0 section records the fourteen types that shipped in v2.3.0 with no roadmap entry, grouped by the reason each exists:

  • Dictionary → set parityRobinHoodSet, HashCachingSet, PooledCeleritySet, SmallSet (the dictionary family had four specialized peers; the set family had none)
  • Enum-keyedEnumSet<TEnum>, EnumMap<TEnum, TValue>
  • BCL gapsDeque<T>, DisjointSet<T>, LruCache<,,>, IndexedPriorityQueue<,,>
  • Membership filtersXorFilter<T, THasher>

Also:

  • BitWriter / BitReader joins milestone 2.1.0's Primitives list next to the SpanBits / VarInt work it extends, with a note that it released in v2.3.0.
  • The "Built with Celerity" showcase tier (Celerity.Ring / Celerity.Sentinel / Celerity.Cardinality) is now described in Vision — explicitly as a downstream tier held to its own domain bar, not as a fourth core package, so the distinction from the core family is on the record.

Opened going forward

Milestone 2.4.0 is a new standing milestone for post-roadmap work, so the tier-(c) lane stops landing unrostered — which is the drift this review exists to catch. Trie, SparseSet and FenwickTree are listed as in flight (merged to main, awaiting a tag); the open 2.4.0 issues carry the rest.

Note on numbering: the review originally suggested "2.3.0" for the rolling milestone. v2.3.0 released on 2026-07-19 while the review was in progress, so the standing milestone is 2.4.0 and 2.3.0 is recorded as a shipped milestone instead.

Not done here

Deliberately out of scope for this PR: no CHANGELOG.md entry (this documents history rather than changing behaviour), and no new planned-work items — those are filed as their own issues on the 2.4.0 milestone.

Closes #281.

🤖 Generated with Claude Code

…work, open the rolling lane

The quarterly roadmap review (#281) found the roadmap had fallen behind the
repository: every milestone through 2.1.0 was complete, yet two full releases
of collections had shipped without ever being rostered, and two pieces of prose
still described work that had already landed.

Drift fixed:
- The Vision section still said Celerity "currently ships a single NuGet
  package". The 2.0.0 split shipped three; the prose predates that release.
- Milestone 2.0.0 still said "what remains is the human-gated go/no-go on the
  actual v2.0.0 tag (#213)". v2.0.0 shipped 2026-06-21 and #213 is closed.

Rostered retroactively:
- A new milestone 2.3.0 section records the fourteen types that shipped in
  v2.3.0 with no roadmap entry: the specialized-set parity family
  (RobinHoodSet / HashCachingSet / PooledCeleritySet / SmallSet), the
  enum-keyed pair (EnumSet / EnumMap), the four BCL gaps (Deque / DisjointSet /
  LruCache / IndexedPriorityQueue), and XorFilter.
- BitWriter / BitReader joins milestone 2.1.0's Primitives list, alongside the
  SpanBits / VarInt work it extends, noting it released in v2.3.0.
- The "Built with Celerity" showcase tier (Ring / Sentinel / Cardinality) is
  described in Vision, explicitly as a downstream tier held to its own bar
  rather than as a fourth core package.

Opened going forward:
- Milestone 2.4.0 is a standing home for post-roadmap work, so the tier-(c)
  lane stops landing unrostered. Trie, SparseSet and FenwickTree are listed as
  in flight; the open 2.4.0 issues carry the rest.

No scope decisions are made here — this only reconciles the roadmap with what
the CHANGELOG, the git tags and src/ already say.

Closes #281.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@marius-bughiu marius-bughiu added the documentation Improvements or additions to documentation label Jul 25, 2026
Copilot AI review requested due to automatic review settings July 25, 2026 08:14
@marius-bughiu marius-bughiu added the documentation Improvements or additions to documentation label Jul 25, 2026
@marius-bughiu
marius-bughiu merged commit 5e1ad1e into main Jul 25, 2026
7 checks passed
@marius-bughiu
marius-bughiu deleted the docs/roadmap-review-2026-q3 branch July 25, 2026 08:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates ROADMAP.md to reflect the 2026-Q3 roadmap review outcomes by reconciling milestone prose with shipped releases, retroactively recording previously unrostered shipped work, and introducing a standing “rolling” milestone for ongoing post-roadmap items.

Changes:

  • Updates Vision and milestone 2.0.0 prose to reflect the post-v2.0.0 multi-package reality and the fact that v2.0.0 has shipped.
  • Adds a retroactive milestone 2.3.0 section enumerating the specialized collections that shipped without a roadmap entry.
  • Introduces milestone 2.4.0 as a standing milestone and lists “in flight” items merged to main awaiting the next tag.

Comment thread ROADMAP.md
## Vision

Celerity currently ships a single NuGet package (`Celerity.Collections`). Long-term, the project will expand into a family of focused packages — each targeting a specific area where specialized, high-performance implementations can outperform the BCL in niche scenarios. The package structure will mirror the .NET ecosystem's own organization:
Celerity ships **three** NuGet packages as of v2.0.0 (the package split — see milestone 2.0.0 below; the roadmap previously described a single `Celerity.Collections` package, which predates that release). Long-term, the project will continue to expand into a family of focused packages — each targeting a specific area where specialized, high-performance implementations can outperform the BCL in niche scenarios. The package structure mirrors the .NET ecosystem's own organization:
Comment thread ROADMAP.md

## Milestone 2.4.0 — rolling post-roadmap work

The planned roadmap is complete through 2.1.0, and the two releases since have been driven entirely by source-reading rather than by the plan. Rather than let that work keep landing unrostered — the drift the 2026-Q3 review was opened to catch — **2.4.0 is a standing milestone** that new post-roadmap work is filed against as it is identified. It is not a fixed scope with a completion date; it is the home for the tier-(c) lane.
Comment thread ROADMAP.md
Comment on lines +204 to +206
- `Trie<TValue>` — ordered prefix tree mapping `string` keys to values; the operation no hash table can do is *prefix* enumeration in sorted order without scanning every key. Status: `done`. Tracked in [#285](https://github.com/marius-bughiu/Celerity/issues/285).
- `SparseSet` — bounded-universe `[0, Universe)` integer set with `O(1)` clear and dense iteration; the classic ECS / graph-visited-set structure, where `HashSet<int>.Clear()` and hash iteration both lose. Status: `done`. Tracked in [#287](https://github.com/marius-bughiu/Celerity/issues/287).
- `FenwickTree<T>` — Binary Indexed Tree over a fixed-length sequence: `O(log n)` point update *and* prefix-sum query, where a running-sum array gives `O(1)` query but `O(n)` update and a plain array gives the reverse. Status: `done`. Tracked in [#289](https://github.com/marius-bughiu/Celerity/issues/289).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Roadmap review — 2026-Q3

2 participants