Skip to content

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

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#35
dereuromark merged 1 commit into
mainfrom
chore/record-figure-group-composite-sat-6436a4ec

Conversation

@dereuromark

Copy link
Copy Markdown
Contributor

Follow-up to #34, 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/corpus.mjs is this crate's own record of what the language emits, and the assertion over it is one-directional: a recorded type going missing fails, an unrecorded new type is invisible. #34 brought in a node type nothing here names - figure_group, the composite-figure group node - and nothing in this file would have said so.

Why this is a tightening, not a widening

figure_group appears in no carve-rs source file at the revision this crate pinned before #34:

carve-rs revision figure_group hits under src/
6f1d9bfb (pinned before #34) 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 two ablations beside the assertion still hold: the sweep refuses a type no engine emits, and requires the produced set to be at least as large as the record.

Measured

CARVE_SPEC_CORPUS pointed at carve 1436f39a, artifact rebuilt with wasm-pack build --target nodejs:

corpus: 1025/1025 documents byte-identical through the wasm artifact
corpus: 1025 documents parsed, 58 node types, field names match the schema

smoke.mjs green.

EXPECTED_TYPES in tests/corpus.mjs is this crate's own record of what the
language emits, and the assertion over it is one-directional: a recorded type
going missing fails, an unrecorded new type is invisible. The pin bump that
brought PART 9 section 4c in (#34) added a node type nothing here names, and
nothing in this file would have said so.

Recording it is a tightening, not a widening. `figure_group` appears in no
carve-rs source file at the revision this crate pinned before that bump
(6f1d9bfb, 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 two ablations beside the assertion still hold: the sweep refuses a type no
engine emits, and requires the produced set to be at least as large as the
record.

Measured with CARVE_SPEC_CORPUS against carve 1436f39a, artifact rebuilt with
`wasm-pack build --target nodejs`: 1025/1025 byte-identical, 58 node types,
field names match the schema, smoke green.
@dereuromark
dereuromark merged commit c38304e into main Aug 15, 2026
3 checks passed
@dereuromark
dereuromark deleted the chore/record-figure-group-composite-sat-6436a4ec branch August 15, 2026 23:49
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