Options dataset lists the version marker as unsupported in releases that write it
Original description
By MelanX · October 24, 2026Crate: ephervex-options (generated data) and tools/minecraft-options
Commit: f844b107
Behavior
crates/options/data/minecraft-options.json lists the version setting (key version) in the unsupported array of the schemas for 1.12.2 through 1.13.2 and every release from 1.17 on (37 releases in revision 56), while the 1.14 through 1.16.5 schemas list it as supported. SchemaFamily::unsupported means settings that provably did not exist in a release, but every one of those releases writes a version:<data version> line to options.txt and has a data_version in its release mapping for exactly that marker (for example 1.12.2 = 1343, 1.20.1 = 3465, 26.1 = 4786).
Suspected cause: dataset.py schema_for() records every canonical setting missing from an extraction_complete record as unsupported, while analyze_options.py extracts the schema marker separately rather than as a setting.
Expected behavior
The version marker is supported (integer codec) wherever the release writes it, or is excluded from the unsupported derivation, and the dataset is regenerated.
Impact
Anything that trusts unsupported as proof of absence gets the wrong answer for version. every_fixture_line_is_a_key_and_value_its_release_writes in crates/options/tests/era_fixtures.rs has to skip VERSION_KEY to avoid a false failure.
Acceptance
- No schema lists
versionas unsupported for a release that has adata_version. - A regression test covers it.
- The era fixture test no longer special-cases the marker.
Locations
tools/minecraft-options/dataset.pyschema_fortools/minecraft-options/analyze_options.py(schema marker extraction)crates/options/data/minecraft-options.jsoncrates/options/tests/era_fixtures.rs
Validation and limitations
Checked against the committed dataset at revision 56. Found while reviewing the era fixture values (#618).