Skip to content

docs(fsst): module docs, ADR, TODO follow-ups#297

Merged
dfa1 merged 1 commit into
mainfrom
docs/fsst-module-docs
Jul 20, 2026
Merged

docs(fsst): module docs, ADR, TODO follow-ups#297
dfa1 merged 1 commit into
mainfrom
docs/fsst-module-docs

Conversation

@dfa1

@dfa1 dfa1 commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

PR 8 (final) of #287 — documentation-only, closing out the FSST rewrite sequence.

  • CLAUDE.md: fsst added to the module-structure block.
  • docs/reference.md: new "FSST" API reference subsection (CompressorBuilder/Compressor/Decompressor/Symbol public surface).
  • TODO.md: follow-ups for what was deliberately left out of scope — AVX512/SIMD kernel, true per-row lazy/random-access decode (cross-references ADR 0010), OptFSST (2026 DP-based training follow-up, not adopted).
  • New adr/0022-fsst-module-extraction.md (Accepted): the full architectural record — why a standalone module, why MemorySegment not ByteBuffer at the boundary, the measured before/after numbers, and the boundary-overrun bug found during the rewrite as a risk class future callers of the branch-free matcher need to watch for. Added to the ADR index.

The CHANGELOG entry (with the before/after benchmark table) was already added directly to main earlier in the session (b218740f) — not duplicated here.

This closes out the 8-PR #287 sequence: standalone vortex-fsst module, paper-faithful branch-free matching and adaptive-sample training, rewired production adapters, golden test, and now full documentation.

Test plan

  • ./mvnw javadoc:javadoc -pl core — unaffected (pre-existing unrelated warning, confirmed no .java files touched)
  • ./mvnw verify -DskipTests at root — full reactor SUCCESS
  • Manual proofread of all four doc files for formatting consistency

🤖 Generated with Claude Code

PR 8 of #287, the final PR of the FSST rewrite sequence. Documentation-only.

- CLAUDE.md: add the fsst module to the module-structure block (zero
  dependency on core/reader/writer, writer/reader depend on it).
- docs/reference.md: new "FSST" subsection under the API reference
  documenting the module's public surface (CompressorBuilder, Compressor,
  Decompressor, Symbol) for anyone using it standalone.
- TODO.md: follow-up entries for what this rewrite deliberately left out
  of scope — AVX512/SIMD kernel, true per-row lazy/random-access decode
  (cross-referencing ADR 0010), and OptFSST (2026 DP-based training
  follow-up paper, not adopted since it trades training speed for
  compression ratio in a way that moves off the classic greedy-FSST
  tradeoff vortex-jni itself uses).
- adr/0022-fsst-module-extraction.md (new, Accepted): the architectural
  record — why a standalone module, why MemorySegment not ByteBuffer at
  the boundary, the measured before/after numbers, and the risk class the
  boundary-overrun bug (found and fixed in PR 3) represents for future
  callers of the branch-free matcher. Added to adr/ADR.md's index.

The CHANGELOG entry for this rewrite (with the before/after benchmark
table) was already added directly to main in b218740 during the
session, so this PR does not duplicate it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@dfa1
dfa1 merged commit 1bf6069 into main Jul 20, 2026
6 checks passed
@dfa1 dfa1 mentioned this pull request Jul 20, 2026
@dfa1
dfa1 deleted the docs/fsst-module-docs branch July 20, 2026 20:58
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