From 43e61a12e920c3abbb97904785561bad50d1abb1 Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Sat, 15 Aug 2026 06:16:51 +0200 Subject: [PATCH] chore: bump the engine past the quote attribution withdrawal The pin sat at carve-rs 971aecf while the engine moved 17 commits, and the daily AST conformance job reported the BINDING PARITY gate failing: this binding's tree differed from carve-rs on 9 of 1006 corpus documents. A binding over carve-rs has no vote of its own, so every one of those was this gem's. All nine were the same shape. 971aecf is the commit that made a `^` line under a block quote an attribution; carve-rs then withdrew that and a captioned quote is a figure again, so the binding was still publishing `block_quote` with an `attribution` field where the engine publishes a `figure` wrapping the quote. `attribution` is not a property PART 12's schema names, which is why the shape test failed alongside the parity gate. Measured before, against a carve-rs release build of the merged tip 8dada737: compared=1006 drifted=9 errors=0 DRIFT 05-lists-20 DRIFT 07-blockquote-with-attribution DRIFT 282-two-blank-lines-detach-a-caption-5 DRIFT 306-a-captioned-quote-holds-more-than-one-block DRIFT 306-a-captioned-quote-holds-more-than-one-block-2 DRIFT 306-a-captioned-quote-holds-more-than-one-block-3 DRIFT 306-a-captioned-quote-holds-more-than-one-block-4 DRIFT 306-a-captioned-quote-holds-more-than-one-block-5 DRIFT 55-blockquote-caption-after-a-blank-line and after the bump and a rebuild of the extension: compared=1006 drifted=0 errors=0 The rebuild is the step that changes behavior, so it is what was checked: the installed `lib/carve/carve.so` embeds the cargo git checkout path for 8dada73, and the binding now returns `figure` with no `attribution` for > Stay hungry, stay foolish. ^ Steve Jobs The corpus HTML test moved from 17 mismatches to 0. Eight of those seventeen are not the attribution: the 313, 314 and 315 documents were fixed by three reference-resolution corrections in the same range. No fixture was regenerated to reach the green run - every one of the seventeen moved toward the spec's own expected output. The rest of the range is not reachable from this gem's API. carve-rs' new lint surface, the fmt writer corrections, and the Markdown and HTML importer fixes have no Ruby entry point here, and the Markdown, ANSI and plain targets are not exposed either. What is reachable and moved is the captioned quote, the three reference-resolution fixes, and `attrs.keyValues` publishing in source order. The CHANGELOG loses the attribution paragraph rather than gaining a withdrawal note. v0.1.0 is the only released version, and its engine predates the attribution entirely - the corpus expectation for a captioned quote is byte-identical before and after that round trip. A state that existed only between releases is invisible to the only reader the file has. --- CHANGELOG.md | 17 +++++++++++------ ext/carve/Cargo.lock | 2 +- ext/carve/Cargo.toml | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd9c296..2b81e2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -88,10 +88,7 @@ shipped them. `kbd` in core and `samp`, `var`, `cite` and `dfn` behind the `semantic-span` extension. - A `^` line under a block quote is an ATTRIBUTION rather than a caption: it - renders `