Record figure_group among the node types the corpus produces - #42
Merged
dereuromark merged 1 commit intoAug 15, 2026
Merged
Conversation
EXPECTED_TYPES is this binding's own record of what the language emits, and the assertion over it is one-directional by design: a recorded type going missing fails, an unrecorded new type only prints. The engine bump that brought PART 9 section 4c in (#41) added a node type nothing here names, and the run duly printed it. Recording it is a tightening, not a widening. `figure_group` appears in no carve-rs source file at the revision this binding pinned before that bump (9ff08784, zero hits under src) and in eleven at the one it pins now (98de7874), so this line would have failed the suite before the bump and passes after it. From here on, a pin that drops the group node fails with the type named rather than leaving nine corpus documents to explain it. The schema assertion in the same module gains the same reach for free: it requires the spec's ast-schema.json to define a shape for every recorded type, and the schema does define figure_group. Measured with CARVE_SPEC_CORPUS against carve 1436f39a, wheel rebuilt: 101 passed, 3 skipped. No CHANGELOG entry: the construct itself is already described under 0.1.1, and a test-only change is not something a consumer of the wheel can observe.
dereuromark
deleted the
chore/record-figure-group-composite-sat-6436a4ec
branch
August 15, 2026 23:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #41, which moved the engine pin past PART 9 section 4c. Part of markup-carve/carve#1220.
What the pin bump left behind
EXPECTED_TYPESintests/test_corpus_ast.pyis this binding's own record of what the language emits, and the assertion over it is one-directional by design: a recorded type going missing fails, an unrecorded new type only prints.#41brought in a node type nothing here names -figure_group, the composite-figure group node - so the record fell one behind the engine, and the run said so in passing.Why this is a tightening, not a widening
figure_groupappears in no carve-rs source file at the revision this binding pinned before#41:figure_grouphits undersrc/9ff08784(pinned before#41)98de7874(pinned now)So the line added here would have failed the suite before the bump and passes after it. From here on, a pin that drops the group node fails with the type named, rather than leaving nine corpus documents to explain it.
The schema assertion in the same module gains the same reach for free: it requires the spec's
ast-schema.jsonto define a shape for every recorded type, and the schema does definefigure_group.Measured
CARVE_SPEC_CORPUSpointed at carve1436f39a, wheel rebuilt: 101 passed, 3 skipped.No CHANGELOG entry: the construct itself is already described under
0.1.1, and a test-only change is not something a consumer of the wheel can observe.