update: tests & performance - #2
Open
unDemian wants to merge 6 commits into
Open
Conversation
CHANGELOG.md was removed in 5d62317 but the test that runs the release guard against the repository's own files still read it unconditionally, so `npm test` died with ENOENT in CI. The guard's contract for a missing changelog is refusal (it cannot know whether a break is pending), so the oracle now expects exactly that when the file is absent, and keeps the BREAKING-vs-tag equivalence when it is present. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q6HFJQt8QvipUNrVnP6Wia
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.
Note
High Risk
The PR changes release/CI gates, breaking public exports, native engine install semantics, and Android measure/layout/accessibility paths that are hard to fully exercise without on-device tests.
Overview
CI and release add real performance gates (
bench:pathologicalwith per-stage budgets,bench:streamingon the giant-list transcript,bench:projectionwith--require-engine) and compile everyplatform/cppengine source in CI/release viafind+check:fabric-cpp --syntax-only. Release is split into preflight (tag vspackage.json, lockfile sync, changelog section, no BREAKING left under Unreleased), a macOS job (Fabric, engine, Swift), then publish with the same gates plus release notes fromCHANGELOG.mdinstead of--generate-notes.Product/docs introduce
CHANGELOG.md, a large README refresh, and unreleased notes for breaking export surface (classifyTopLevelBlock, deep imports), imperative selection, streaming/repair, packaging (exports, ESM), and semanticrole*fields on the run wire for accessibility.Android native adds TalkBack support for links, headings, and list/table structure inside merged runs (
RunAccessibility+ExploreByTouchHelper), parses role fields on attributes, fixes custom font resolution (RunTypefaces/RunTypefaceSpan), aligns measure vs draw (text direction, fallback line spacing, run-edge box padding, embed line heights in DIP, finite embed sizes), and changesinstall()to return'installed' | 'unavailable' | 'refused'with permanent refusal memoized.Reviewed by Cursor Bugbot for commit a1884d4. Bugbot is set up for automated code reviews on this repo. Configure here.