Mild-motion bounded recenter: seam survives sustained rides (Stage 15) - #38
Merged
Conversation
ROADMAP Stage 15 core item. Characterization (engine-level probe): sustained mild rides (0.5-1% deviation, the mix-in gesture) let SOLA's drift sawtooth to the full 192-frame trigger, holding the 120 Hz crossover seam comb-filtered at -7 dB for as long as the ride lasts - rest recovery requires ~150 ms of stillness a moving fader never provides. Fix: when the transposition deviation is mild (< 1.2%) and settled drift exceeds 96 frames, fire the BOUNDED recenter splice (the rest- splice mechanism, without the dwell). The landing bound is load-bearing: a first attempt that simply tightened the general trigger made the seam WORSE (-5.5 dB persistent) because unbounded early splices park drift on the dominant-period grid on periodic content (the autoresearch #62 pathology the bound exists to prevent). Measured on the ride-profile matrix: worst comb -7.1 -> -4.4 dB, riding steady-state -2.5 -> -1.2 dB, creep/park profiles bit-identical, ~5 bounded splices/s (vs ~18/s the shipped +/-8% path already carries). Gated by seam_survives_a_sustained_mild_ride (pre-fix: -7.14 dB, 17 splices, fails). Cents-wobble and A/B-matrix gates unchanged. Also promotes qa/engine_keylock and qa/engine_transients into the CI quality-gates job (Stage 15 exit criterion). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bass body stable through a sustained gentle ride on the live desktop deck; mandatory exit criteria met on merge, optional items stay evidence-gated. Co-Authored-By: Claude Fable 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.
ROADMAP Stage 15's core item: the crossover seam no longer stays comb-filtered while riding the tempo fader.
Problem (K1, characterized first)
Engine-level probe across ride profiles: sustained mild rides (0.5–1% deviation — the mix-in gesture) let SOLA's drift sawtooth to the full 192-frame trigger, holding the 120 Hz seam at −7 dB for as long as the ride lasts. Rest recovery needs ~150 ms of stillness a moving fader never provides.
Fix
When transposition deviation is mild (< 1.2%) and settled drift exceeds 96 frames, fire the bounded recenter splice (the rest-splice mechanism, without its dwell). The landing bound is load-bearing: a first attempt that simply tightened the general trigger made the seam worse (−5.5 dB persistent, even in the control profile) — unbounded early splices park drift on the dominant-period grid on periodic content, the same #62 pathology the bound exists to prevent. That negative result is documented in the constants.
Measured after
~5 bounded splices/s during mild rides (the shipped ±8% path already carries ~18/s). Cents-wobble and A/B-matrix gates pass unchanged.
Gates
seam_survives_a_sustained_mild_ride(keylock unit tests): worst > −6 dB, riding tail > −3 dB, splice-count bound. Fails pre-fix at −7.14 dB.qa/engine_keylockandqa/engine_transientspromoted into the CI quality-gates job (Stage 15 exit criterion).Remaining stage items (evidence-gated, separate PRs): correlation-reference fractional alignment, strength-aware protection, the
modulation_holdwiring experiment, and the owner mix-in listen.🤖 Generated with Claude Code