Skip to content

docs: the whole documentation checked against the code and written for a newcomer - #58

Merged
rducom merged 4 commits into
mainfrom
docs/for-readers
Oct 10, 2026
Merged

rducom merged 4 commits into
mainfrom
docs/for-readers

Conversation

@rducom

@rducom rducom commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

Intent

Make the documentation something a newcomer can rely on and read with pleasure. An audit of every page against the code found a few dozen statements that had drifted (stale outputs, behaviours that changed, members that are internal), and the prose read as working notes: dashes, semicolons, section numbers as cross-references, internal step codes, and "few words. Then the sentence" openings.

The branch fixes the facts and rewrites the prose of the guide, the design documents, the READMEs and the contribution notes. Each page now says the essential first, in whole sentences, at an engineer's level.

What it brings

  • The guide's 50 pages match the library today, their sample outputs taken from a fresh run of the samples and of vxdump.
  • The 19 design documents link sections by name instead of by number. The numbered headings stay, so existing anchors still resolve.
  • The errors page documents the memory, torn-commit and integrity exceptions, and the observability page documents the event counters and the grouping statistics, which were missing.
  • Three XML summaries and three code comments no longer state wrong behaviour or cite plans that are not in the repository.

Among the corrections: a chunk of one value is written as a constant, groups come in no promised order without an OrderBy, KeyCountAsync counts the entries under the current key, owned batches keep their selection, lists of records and maps are supported, a decimal bucket is not implemented, the corpus is 876 files and the per-encoding corpus 61, and vxdump exits with 2 on an unknown option.

Risks and tests

  • Documentation, comments and two sample labels only. No behaviour changes.
  • dotnet build Vorticity.slnx -c Release passes with no warning, so every <see cref> resolves.
  • Every relative link and anchor in the rewritten pages was checked.
  • The test suite was not run, since no code path changed.
Left as it is, on purpose
  • The generated sections of the benchmark pages still hold semicolons. Their text comes from the bench's own strings and would be overwritten by the next run, so they change in the generator, not here.
  • The caveats and skipped entries of the corpus manifest still say vortex-row does not exist. They are written by conformance-gen and change with a corpus regeneration.
  • Exception messages quoted in the guide keep their own punctuation, since they are the program's output.
  • The crosscheck figure in the bench README (854 files) was not measured again.
Commits
  1. The guide, with the two sample labels that follow the code.
  2. The design documents.
  3. The READMEs, contribution and security notes, the bench and tools pages.
  4. XML summaries and comments.

…wcomer

The guide had drifted from the code in a few dozen places, and its prose read as working notes. Each
page now matches what the library does today, with its sample outputs taken from a fresh run, and
says the essential first in whole sentences, without dashes, semicolons or internal references.

Among the facts that changed, the writer stores a chunk of one value as a constant rather than a
progression, and the demonstration file is 1 508 316 bytes in 54 segments. Groups come in no promised
order without an OrderBy, KeyCountAsync counts the entries under the current key, and owned batches
keep their selection. Lists of records, char, arrays and dictionaries all map, an untyped
non-nullable column over a nullable one is refused, the file statistics carry no sum, and vxdump exits
with 2 on an unknown option. The errors page gains the memory, torn-commit and integrity exceptions,
and the observability page gains the event counters and the grouping statistics.

Two sample labels follow the code. The key cursor prints the entries under a key, and the
required-index sample says the path still holds the file written before it.
…e with the code

The design documents used section numbers as cross-references and read as a journal. Every pointer
is now a named link to its section, the numbered headings stay so that existing anchors still
resolve, and the prose is whole sentences without dashes or semicolons.

Among the facts that changed, a map has a factory and maps to a dictionary, lists of records are
supported, a decimal bucket is not implemented, and the exception hierarchy has four kinds. A
caller's bytes are copied once when they are not 64-byte aligned, the mapping cache works on Windows,
top-level extensions are row-encoded by their storage while nested ones are refused, and the commit
header inlines up to 192 KiB of a 256 KiB opening read. Repacking is not public, the per-encoding
corpus is 61 files, and the writer also tries OnPair and, under the size-first profile, pco.
The same rewrite for the pages outside the guide: whole sentences, no dashes or semicolons, no
internal references. The facts follow the repository: 876 corpus files and 2 571 779 rows, a forged
legacy stats layout that closes the corpus's one coverage gap, row-encoding vectors produced by
their own crate, 61 throughput files, a fourth test collection that runs alone, and no kernel
benchmark class that does not exist.
Three XML summaries said something the code no longer does. A group by promised key order on a
dictionary key, a hint named only progressions as written before it, and the fragment option pointed
at an internal member. Three comments cited plans that are not in the repository, and the query
scenarios carried step codes a reader cannot look up. They now say what they measure.
@rducom
rducom merged commit ebdb775 into main Oct 10, 2026
8 checks passed
@rducom
rducom deleted the docs/for-readers branch October 10, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant