Skip to content

Record figure_group among the node types the corpus produces - #42

Merged
dereuromark merged 1 commit into
mainfrom
chore/record-figure-group-composite-sat-6436a4ec
Aug 15, 2026
Merged

Record figure_group among the node types the corpus produces#42
dereuromark merged 1 commit into
mainfrom
chore/record-figure-group-composite-sat-6436a4ec

Conversation

@dereuromark

Copy link
Copy Markdown
Contributor

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_TYPES in tests/test_corpus_ast.py 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. #41 brought 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_group appears in no carve-rs source file at the revision this binding pinned before #41:

carve-rs revision figure_group hits under src/
9ff08784 (pinned before #41) 0
98de7874 (pinned now) 11

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.json to define a shape for every recorded type, and the schema does define figure_group.

Measured

CARVE_SPEC_CORPUS pointed at 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.

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
dereuromark merged commit efefba0 into main Aug 15, 2026
4 checks passed
@dereuromark
dereuromark deleted the chore/record-figure-group-composite-sat-6436a4ec branch August 15, 2026 23:45
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