mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Adds the discriminator Sami specced (thread 5b46582e): the escape counter is pure rendered rowMove and residual is |aboveShift|, so neither can recover the grow-vs-shrink topology that decides the fix. Thread signed aboveShift (rAF path) / signed drift (RO path) through the correction probe as a diagnostic-only 'signedShift' field alongside wouldFire; production behavior unchanged. The slow-scroll classifier joins each reversal to the correction attempt(s) in its frame window (append-count join, order-robust across the two rAF loops) and classifies: SKIP (gate/xcheck suppressed the write -> uncorrected reflow), GROW (fired, signedShift>0 -> write is the felt snap, absorption's topology), SHRINK (fired, signedShift<0 -> reflow renders it pre-write, only smaller per-frame realization helps). Bumps ANCHOR_BUILD_STAMP to w4a-classifier-1 so the stale-dist guard rejects any bundle missing signedShift. Co-authored-by: Tyler Longwell <tlongwell@block.xyz> Signed-off-by: Tyler Longwell <tlongwell@block.xyz>