release: v1.4.0 — the target adheres - #19
Merged
Merged
Conversation
Ships DECISIONS §50. Typecheck, lint, build and 628 tests green; built CLI reports 1.4.0. Elision's smallest unit was a whole function body, which is why v1.3.0's target adhered only partially. Dividing a region into its statements takes the population of files overshooting past 50% from 34 rows to 18 over 576 corpus rows, with zero new fallbacks and zero files that stopped reducing. Numbered 1.4.0, and the roadmap's reservation on that number was released rather than moved -- the rule from §49: a release whose preconditions are measured false holds no version number. "AST Code Folding & Cache Alignment" is now unnumbered, because its Fast-mode half is already shipped in elision/regions.ts and its cache half needs a caller-supplied cl100k_base encoder before 1,024-token quantization means anything. That is the third reservation to collide with real work; releasing the number is what stops it recurring, and ROADMAP now says three rather than two. Minor rather than patch, as with v1.3.0: nothing removed, but the same command over the same input emits different bytes on 54 of 576 corpus rows. Baseline re-measured over a corpus frozen at 23c6368: python file 17.95%, python stdin 17.54%, typescript file 18.52%. The aggregate fell while reduced counts rose (typescript file 35 -> 39) and fallbacks fell (20 -> 16), which is the fourth time in this project an aggregate has moved for a reason that is not a regression. Status doc §2 carries it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Ships DECISIONS §50 (merged in #18). Typecheck, lint, build and 628 tests green; the built CLI reports
1.4.0.Why 1.4.0, and why the reservation was released
ROADMAP.mdheld v1.4.0 for "AST Code Folding & Cache Alignment". Per the rule adopted in §49 — a release whose preconditions are measured false holds no version number — that reservation is released rather than moved: Fast mode is substantially already shipped inelision/regions.ts, and cache alignment needs a caller-suppliedcl100k_baseencoder before 1,024-token quantization means anything.That is the third reservation to collide with real work (v1.2.0, v1.3.0, now v1.4.0). Moving the chain each time is what made it recur, so
ROADMAP.mdnow says three rather than two, and both blocked releases sit unnumbered with their measured gates.Minor rather than patch, same reasoning as v1.3.0: nothing is removed, but the same command over the same input emits different bytes on 54 of 576 corpus rows.
Re-measured baseline
Corpus frozen at
23c6368, 288 files / 576 rows, both routes, target 0.3:The aggregate fell while reduced counts rose (typescript file 35 → 39) and fallbacks fell (20 → 16). That is the fourth time in this project an aggregate has moved for a reason that is not a regression — §45 line endings, §46 corpus growth, §48 the target binding, and now §50.
CLAUDE.mdand status doc §2 both say so, because a future session reading a lower number is the failure mode.Docs reconciled with the release
CHANGELOG.md— v1.4.0 release header and the §50 entry.ROADMAP.md— chain, Version Summary and baseline updated; "AST Code Folding & Cache Alignment" made unnumbered with its gate stated.docs/audit-remediation-status.md— §2 re-measured, §7 item 2 marked done with what remains.CLAUDE.md— current baseline and the falling-aggregate warning.Still open on this axis
18 rows exceed 50% because a single statement is dominant — an 83%-of-file span in
python-validator.ts. Dividing that needs elision inside a control-flow block, a different question from dividing a body.🤖 Generated with Claude Code