Skip to content

update: tests & performance - #2

Open
unDemian wants to merge 6 commits into
mainfrom
update/tests-performance
Open

update: tests & performance#2
unDemian wants to merge 6 commits into
mainfrom
update/tests-performance

Conversation

@unDemian

@unDemian unDemian commented Sep 4, 2026

Copy link
Copy Markdown
Member

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:pathological with per-stage budgets, bench:streaming on the giant-list transcript, bench:projection with --require-engine) and compile every platform/cpp engine source in CI/release via find + check:fabric-cpp --syntax-only. Release is split into preflight (tag vs package.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 from CHANGELOG.md instead 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 semantic role* 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 changes install() 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.

@unDemian unDemian self-assigned this Sep 4, 2026
unDemian and others added 5 commits September 4, 2026 16:15
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
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