Skip to content

docs: correct versions, counts and catalogue entries that had drifted from the code - #101

Merged
TheMeinerLP merged 2 commits into
mainfrom
docs/correct-stale-facts
Oct 10, 2026
Merged

TheMeinerLP merged 2 commits into
mainfrom
docs/correct-stale-facts

Conversation

@TheMeinerLP

Copy link
Copy Markdown
Contributor

Proposed changes

Stacked on #99 (docs/gitbook-diataxis), so the diff shows only the correction commit. Once #99 merges, retarget this PR to main.

This PR corrects facts in docs/ (except docs/superpowers/) that had drifted from the code. No page was moved, restructured or restyled. Each correction below is checked against the tree at this commit; where a fact could not be checked, it is left unchanged and listed under Open.

Corrections (fact, then evidence)

  • Current version 2.1.0 -> 3.0.0 in reference/modules-and-coordinates.md (5 rows), how-to/add-falco-to-your-build.md, tutorials/load-your-first-world-with-falco.md. Evidence: build.gradle.kts:7 (version = "3.0.0"), .release-please-manifest.json.
  • BOM contents: the BOM covers three modules, not four. falco-migration is published but not in the BOM, so the how-to now gives it an explicit version. Evidence: falco-bom/build.gradle.kts:5-7; falco-migration is in publishedModules (build.gradle.kts:66).
  • Minestom compileOnly: present in falco-anvil, falco-light, falco-instance only. falco-migration and falco-bom declare none. fastutil and flare-fastutil are compileOnly in falco-instance only. Evidence: the falco-*/build.gradle.kts files.
  • Renovate: the custom manager in renovate.json matches README.md only, so the docs are not updated by it. The page now says so instead of "cannot reach". Evidence: renovate.json managerFilePatterns.
  • ChunkDataException.Reason has seven constants, not six. The five missing ones are added to the reason table with their Javadoc meanings. Evidence: falco-anvil/.../ChunkDataException.java:37-75. RegionFormatException.Reason has five and is still not listed (noted on the page).
  • Logging: the INFO line Copied {} to {} before migrating its chunks on disk is added to the level table. Evidence: falco-anvil/.../FalcoAnvilLoader.java:2203.
  • SECTIONS_KEY link removed: the constant is private static final, so the link pointed at nothing public. Name and value stay as text. Evidence: FalcoAnvilLoader.java:94.
  • Minestom resolved version 2026.06.20-26.1.2 -> 2026.09.12-26.2 in the present-tense build statements: reference/supported-versions.md, contributing/README.md, contributing/dependency-management.md, contributing/documentation-conventions.md, reference/benchmark-catalogue.md, the tutorial snippet. Evidence: settings.gradle.kts (bom = 1.8.7), and ./gradlew --offline :falco-anvil:dependencyInsight --dependency net.minestom:minestom --configuration compileClasspath resolves net.minestom:minestom:2026.09.12-26.2 (by constraint) via mycelium-bom:1.8.7.
  • Other pins in the contributing pages and the benchmark catalogue follow settings.gradle.kts: mycelium-bom 1.8.7, adventure-bom 5.2.0, slf4j 2.0.20, fastutil 8.5.19, Cyano 0.7.6, JUnit 6.1.3 (verified offline), ArchUnit 1.5.1.
  • Gradle 9.6.1 -> 9.8.1 in contributing/build-setup.md and contributing/README.md. Evidence: gradle/wrapper/gradle-wrapper.properties.
  • Module count seven -> eight, and falco-migration is listed as published. Evidence: settings.gradle.kts (eight includes), the eight falco-*/build.gradle.kts files, build.gradle.kts:66.
  • Workflow pins @v2.4.0 are replaced by a link to the file that pins the version (.github/workflows/release-please.yml for gradle-publish, .github/workflows/build-pr.yml for gradle-build-pr). The pinned value there is v2.9.0. The pages no longer carry a number that goes stale.
  • Benchmark catalogue: nine benchmark classes had no entry. They are added in the existing table format, with methods and @Param values taken from the code and "What it answers" taken from each class Javadoc: AreaPassStageBenchmark (light table), and an Instance table for ChunkComparisonBenchmark, ChunkLookupBenchmark, ChunkResendCostBenchmark, GeneratorCommitBenchmark, LazySectionBenchmark, PaletteIndirectGetBenchmark, SectionAllocationBenchmark (no @Param, shown as "-"), SetBlockContentionBenchmark. All 25 @Benchmark classes in falco-benchmarks/src/jmh now have an entry.
  • Heap statement: three classes set no heap flags, not two: AreaVsPerChunkBenchmark, IncrementalVsFullBenchmark, and ChunkLookupBenchmark, which has no @Fork annotation at all. Evidence: grep -rn "@Fork" falco-benchmarks/src/jmh. The same correction is applied to the "One heap gap" paragraph of reference/measured-results.md.

Deliberately not changed

  • reference/measured-results.md, how-to/reproduce-a-published-measurement.md: these state the Minestom and JMH setup the published numbers were measured with. That is history, not the current build.
  • project-record/project-status.md:413 ("the 2.1.0 release"): historical.
  • Explanation pages that cite Minestom source lines "at 2026.06.20-26.1.2" (see Open).

Open (not changed, needs its own pass)

  1. Minestom source citations. About 20 explanation and research pages cite Minestom 2026.06.20-26.1.2 source lines, and some state mycelium-bom 1.7.2 as the current pin in present tense (for example explanation/why-a-custom-light-engine.md:21, explanation/why-falco-instance-exists.md:30, explanation/why-a-second-anvil-loader.md:18, explanation/what-a-measurement-here-means.md:542,871, explanation/how-the-concurrency-design-works.md:13, explanation/what-the-benchmarks-establish.md:149, explanation/choosing-between-falco-and-the-built-in-loader.md:8,13, explanation/comparing-the-light-engine-with-minestoms.md:325, explanation/how-the-light-engine-works.md:206). Line numbers have to be re-read against 2026.09.12-26.2 before these can move. Not done here.
  2. Adventure/fastutil of the current Minestom. Whether 2026.09.12-26.2 declares adventure-nbt 5.1.1 and fastutil 8.5.18 (as 2026.06.20 did) was not re-checked. dependency-management.md now says so explicitly. The Minestom POM is not in the local Gradle cache.
  3. Open list in project-record/project-status.md: the entries "Resolved in perf(light): keep the opacity tables of a chunk with its light #34" (line 799) and "Resolved in fix(anvil): refuse a full chunk that carries no sections #49" (line 901) sit under ## Open. Reported only, for a follow-up PR.
  4. CONTRIBUTING.md (repo root, outside docs/): historical sentence about mycelium-bom:1.7.2 "up to 2.1.0". Left as it is.
  5. benchmark-catalogue.md "mycelium-bom ... covers adventure, minestom, cyano, junit and mockito only": checked against the cached mycelium-bom 1.8.5 POM (adventure-text-minimessage, cyano, junit-bom, minestom, mockito-*); the 1.8.7 POM itself was not read.

Checks

  • Link checker run against this worktree (copy of the scratchpad check.py with ROOT taken from argv, since the original hard-codes another worktree): scanned 62 files, 855 relative links/anchors, PROBLEMS: none, exit 0.
  • Remaining 2\.1\.0|9\.6\.1|v2\.4\.0 in docs/ (excluding superpowers): only project-record/project-status.md:413 (historical).
  • No tests or Gradle build changed; this is a docs-only change. ./gradlew build was not run.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Performance change (behaviour unchanged, cost changed)
  • Documentation Update (if none of the other choices apply)

Checklist

  • The title of this pull request is a Conventional Commit
  • I have added necessary documentation (if appropriate)
  • ./gradlew build is green locally (not run: docs-only change)

Stacked on #99.

https://claude.ai/code/session_01Q6AxU7jRLmNPHdwg2GpasT

… from the code

Corrections, each checked against the tree at this commit:

- Current version 2.1.0 -> 3.0.0 on modules-and-coordinates and in the
  how-to and tutorial snippets (build.gradle.kts:7, .release-please-manifest.json).
- BOM covers falco-anvil, falco-light, falco-instance only; falco-migration
  is published but not in the BOM (falco-bom/build.gradle.kts).
- Minestom is compileOnly in anvil, light and instance; migration and bom
  declare none (*/build.gradle.kts). fastutil/flare are compileOnly in instance only.
- Renovate rule in renovate.json matches README.md only; the docs say so.
- ChunkDataException.Reason has seven constants; the five missing ones are
  added to the reason table (ChunkDataException.java:37-75).
- Logging table: INFO for the pre-migration backup copy (FalcoAnvilLoader.java:2203).
- SECTIONS_KEY is private; the link is replaced by plain text
  (FalcoAnvilLoader.java:94).
- Minestom resolved version 2026.06.20-26.1.2 -> 2026.09.12-26.2 via
  mycelium-bom 1.8.7 (settings.gradle.kts, dependencyInsight offline).
  Historical measurement and source-citation statements are untouched.
- Dependency pins in contributing docs and benchmark catalogue follow
  settings.gradle.kts: mycelium-bom 1.8.7, adventure 5.2.0, slf4j 2.0.20,
  fastutil 8.5.19, cyano 0.7.6, junit 6.1.3, archunit 1.5.1.
- Gradle wrapper 9.6.1 -> 9.8.1 (gradle-wrapper.properties).
- Module count seven -> eight (settings.gradle.kts); falco-migration listed
  as published (build.gradle.kts publishedModules).
- Workflow pins @v2.4.0 replaced by a link to the pinned file in
  .github/workflows (currently v2.9.0).
- Benchmark catalogue: nine classes that had no entry added (AreaPassStage,
  ChunkComparison, ChunkLookup, ChunkResendCost, GeneratorCommit, LazySection,
  PaletteIndirectGet, SectionAllocation, SetBlockContention) from their
  @PARAM and @benchmark declarations.
- Heap statement: three classes set no heap flags, not two
  (AreaVsPerChunk, IncrementalVsFull, ChunkLookup which has no @fork).

Claude-Session: https://claude.ai/code/session_01Q6AxU7jRLmNPHdwg2GpasT
Falco 3.0.1 (build.gradle.kts, .release-please-manifest.json), mycelium-bom
1.8.9 (settings.gradle.kts) and the Minestom it resolves to, 2026.10.07-26.2
(dependencyInsight on falco-anvil compileClasspath). Historical measurement
statements keep their versions.

Claude-Session: https://claude.ai/code/session_01Q6AxU7jRLmNPHdwg2GpasT
@TheMeinerLP TheMeinerLP reopened this Oct 10, 2026
@TheMeinerLP
TheMeinerLP changed the base branch from docs/gitbook-diataxis to main October 10, 2026 19:28
@TheMeinerLP
TheMeinerLP force-pushed the docs/correct-stale-facts branch from 5ec2b43 to 92ca658 Compare October 10, 2026 19:28
@TheMeinerLP
TheMeinerLP merged commit 95663b1 into main Oct 10, 2026
4 checks passed
@TheMeinerLP
TheMeinerLP deleted the docs/correct-stale-facts branch October 10, 2026 19:29
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