Vintage-audience benchmark vector + ADR#118
Merged
Merged
Conversation
…e helper Split run_inner's two large post-loop blocks into build_edit_lists and compact_edit_lists, and collapse the repeated fire-counter/FireEvent bookkeeping into RunStats::record_fire. Pure mechanical extraction; behavior unchanged (core + vector suites green).
Replace the positional (u8, u32, ArtifactFormat[, String]) parse/decline memoization tuples with named ParseClaim/Decline structs (+ side_code and ParseClaim::declined_by helpers), and collapse the three duplicated LinkCtx constructions into a single link_ctx() helper. Behavior unchanged (core + vector suites green; clippy clean).
A kept, passing benchmark for the vintage (different-edition) reader who cares about schema and vocabulary, not bulk cell/row churn. The markdown groups config models the vintage stance as significance, so a schema-touching file floats above pure-data files. expected-output is the real engine output; VINTAGE-IDEAL.md is the hand-authored target. Records that the engine does not foreclose the vintage audience: the gap to the ideal is one renderer-local keep/drop filter plus one plugin pack (vocabulary + statistics), with no change to the controller, IR, or correspondence engine. See docs/adr/2026-06-22.
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.
What
A kept, passing benchmark for binoc's latent vintage audience — readers comparing two editions of the same published dataset who care about schema and vocabulary changes, not the bulk cell/row churn. This ships no feature; it pins "what great looks like" and proves the engine is ready, while we keep our focus on the same-data audience.
test-vectors/csv-vintage-benchmark/— a two-CSV "published dataset" across two editions.facilities.csvgains aregioncolumn and one row'sstatusmoves to a new category (decommissioned);inspections.csvchanges only in its data.groupsconfig models the vintage stance as significance. Becauseclassify_tagspromotes a node to its highest-priority group, the schema-touchingfacilities.csvfloats up to "Schema & vocabulary changes" and the pure-datainspections.csvsinks to "Bulk data updates" — pure config, no controller involvement.expected-output/changelog.snapis the real, harness-checked engine output.VINTAGE-IDEAL.mdis the hand-authored target (not harness-checked), so the gap stays visible and the test stays green.docs/adr/2026-06-22-vintage_audience_and_metadata_only_benchmark.mdrecords the rationale.The gap to the ideal (all reachable without engine/IR changes)
EditProjection.visiblealready exists but only writers set it. Smallest unlock.active → decommissionedis a plainbinoc.cell-changetoday; a pluginEditListWritercould diff per-column distinct-value sets and emitbinoc.vocabulary-change.Edit::with_summary/GlobalClaiminstead of enumerating the churn.Notes
INSTA_UPDATE=no cargo test -p binoc-stdlib --test test_vectors); no other snapshots touched.auto/md-groups-*andauto/stat-binary-metadata-onlyworth coordinating with before anyone implements gap Plugin-based binoc implementation #1.(Auto generated pull request)