VdfFile's Rust slot-table scanner (find_slot_table) under-counts the slot table on two metasd corpus fixtures added with the Vensim-macro design work:
test/metasd/social-network-valuation/optimistic.vdf
test/metasd/social-network-valuation/pessimistic.vdf
Both report slot_count=90 against block1[7]=113 -- a delta of -23, well outside the +/-2 diagnostic window enforced by test_block1_word7_matches_slot_count_within_small_delta in src/simlin-engine/tests/vdf_structural_invariants.rs.
This is the same class of gap already documented for econ/risk2.vdf and WRLD3-03/SCEN01.VDF: the Rust scanner's stricter min_stride >= 4 rule rejects valid leading-extra-slot layouts that the Python tools/vdf_xray.py parser accepts. But the magnitude here (-23) is much larger than the previously-observed under-counts (0 and 1), so it may be a distinct layout variant worth investigating.
Both fixtures have been added to the rust_slot_table_undercount_known() exemption list so the structural-invariant suite stays green; this issue tracks closing the parser gap. The format-level invariants (section1_data_head_structural_invariants, section6_field4_matches_ref_stream_skip, test_block1_word10_high_equals_word11_across_corpus, test_record_f1_138_view_header_exists_on_simulation_fixtures) still pass on both files.
Discovered while adding the metasd macro test corpus (design plan docs/design-plans/2026-05-13-macros.md).
VdfFile's Rust slot-table scanner (find_slot_table) under-counts the slot table on two metasd corpus fixtures added with the Vensim-macro design work:test/metasd/social-network-valuation/optimistic.vdftest/metasd/social-network-valuation/pessimistic.vdfBoth report
slot_count=90againstblock1[7]=113-- a delta of -23, well outside the +/-2 diagnostic window enforced bytest_block1_word7_matches_slot_count_within_small_deltainsrc/simlin-engine/tests/vdf_structural_invariants.rs.This is the same class of gap already documented for
econ/risk2.vdfandWRLD3-03/SCEN01.VDF: the Rust scanner's strictermin_stride >= 4rule rejects valid leading-extra-slot layouts that the Pythontools/vdf_xray.pyparser accepts. But the magnitude here (-23) is much larger than the previously-observed under-counts (0 and 1), so it may be a distinct layout variant worth investigating.Both fixtures have been added to the
rust_slot_table_undercount_known()exemption list so the structural-invariant suite stays green; this issue tracks closing the parser gap. The format-level invariants (section1_data_head_structural_invariants,section6_field4_matches_ref_stream_skip,test_block1_word10_high_equals_word11_across_corpus,test_record_f1_138_view_header_exists_on_simulation_fixtures) still pass on both files.Discovered while adding the metasd macro test corpus (design plan
docs/design-plans/2026-05-13-macros.md).