Improve RSVP thought flow and retire legacy grouping - #154
Merged
Conversation
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 changed
RSVP now coordinates grouping, emphasis, timing, replay, and peripheral context around shared phrase boundaries. Dense phrase endings receive bounded integration holds; replay follows the current or preceding phrase, resume preparation reflects pause length, and context cues remain stable within a thought.
Scored segmentation is now the sole grouping engine in debug and release for every language, including missing language metadata. Remove
LEGACY_GREEDY, the strategy switch, and rollout gates. Navigation, previews, and pace estimates use the same engine; language-specific evidence stays gated by language, and single-word reading remains available through the existing setting.This targets the next version after 1.3.0; no release version bump is included.
Risk
Changes affect RSVP grouping, exposure timing, replay, and context transitions. Regression coverage preserves source ranges, split-word resume cursors, punctuation boundaries, preview limits, and cache identity. Tiny previews retain visible content without exposing scorer lookahead. Saved grouping widths are bounded by the six-word scoring horizon.
Automated checks do not establish comprehension gains or validate physical-device rendering. Connected instrumentation and a dedicated device reading/visual pass were not run for this branch; multilingual rendering and sustained reading remain qualification items. Synthetic pace estimation currently uses an English sample.
Validation
./gradlew qualityCheck./gradlew qualityGate— 742 tests, zero failures/errors/skips; debug APK assembled./gradlew :app:compileReleaseKotlingit diff --checkValidated at
70975dfwith JDK 17.Quality policy
ignoreFailures, broad exclusion, or unrelated threshold relaxation was added