docs: introduce Vortex editions for users of the file format#8855
Conversation
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
An edition names the exact set of encodings a writer may put in a file, giving every file written under it a forever read-and-execute guarantee. This spec page explains the model for users of Vortex: editions constrain writers while readers are cumulative, family-namespaced editions (core2026.07.0) compose additively, writer presets choose within an edition without affecting portability, and unknown-encoding errors link back to the registry. Defines the first edition core2026.07.0 (the 32 encodings the default writer emits today) and the core2026.10.0 draft. Signed-off-by: Claude <noreply@anthropic.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KdR42Svu74NcNzC7XJYwLr
fd9a9e6 to
441b383
Compare
Benchmarks: Vortex queries 📖Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.067x ➖, 0↑ 0↓)
datafusion / parquet (1.037x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.083x ➖, 0↑ 0↓)
duckdb / parquet (1.022x ➖, 0↑ 0↓)
No file size changes detected. |
Merging this PR will not alter performance
Comparing Footnotes
|
| The edition `core2026.07.0` (coming soon) is the first such edition containing all encodings currently | ||
| enabled by the writer. |
There was a problem hiding this comment.
Let's enumerate these. See
vortex/vortex-btrblocks/src/builder.rs
Lines 24 to 67 in b7b01d3
There was a problem hiding this comment.
I will add a rust definition that will code gen docs and gate the reader.
| version of vortex. | ||
| **Editions** are used to keep track of these encodings and talk about groups of encodings. | ||
|
|
||
| The edition `core2026.07.0` (coming soon) is the first such edition containing all encodings currently |
There was a problem hiding this comment.
I would drop core, not sure what this is meant to mean
| enabled by the writer. | ||
| Editions are additive so an edition that comes after a previous one contains all the encodings from the previous one | ||
| and more. | ||
| The writer can be configured with a set of different editions (e.g. `core2026.07.0` and `unstable2026.05.0` all stable |
Rationale for this change
Vortex needs a named, user-visible compatibility contract for which encodings a writer may put in a file. This PR introduces editions: a named grouping of encodings that records exactly which encodings a Vortex file may contain and when each encoding joined the set. Writing under an edition guarantees every future Vortex release can read — and execute queries over — the file. The concept fills the forward/backward-compatibility seam already noted in
register_default_encodings("different Vortex 'Editions' that may support different sets of encodings") and gives unknown-encoding errors a stable docs page to link to. A follow-up PR adds the Rust implementation (vortex-editioncrate) and the generated registry.