%% SCRAP: architecture/03-architecture/adaptive-systems/adaptive-window-and-decay %% SOURCE: docs/working/architecture/03-architecture/adaptive-systems/adaptive-window-and-decay.md %% STATUS: HISTORICAL %% FITS: dev-guide/ch-physics %% EDITORIAL: lifted — prose rewritten to press voice \section{Adaptive Window Shrinking and Decay Slope: Root-Cause Analysis} This section records a root-cause analysis, dated 2025-11-08, of two questions about the adaptive runtime: whether the rolling window grows as well as shrinks, and whether a driving metric feeds an inference mechanism that tunes it. The finding, accurate for its time, is that the window was then unidirectional --- shrink-only --- with the growth mechanism deferred to the second phase as Loop \#5, and with no measurement-error (gauge) study in place. The thermodynamic and field metaphors used below are modeling language for the runtime's optimization behavior; they describe how the system tunes its rolling window, not a literal physical apparatus. \subsection{The Shrink-Only Feedback Loop} Shrinking was implemented and active. Every word execution is recorded into the rolling window. Every 256 executions the adaptive-shrink check runs: it measures pattern diversity as the count of unique adjacent word transitions ($\textit{word}_a \rightarrow \textit{word}_b$), computes a growth rate against the previous measurement, and, when growth falls below one percent, multiplies the effective window size by seventy-five percent, never falling below a floor of 256. \begin{equation} \textit{growth\_rate} = \frac{\textit{diversity}_{\text{current}} - \textit{diversity}_{\text{last}}} {\textit{diversity}_{\text{last}}} \end{equation} The complementary growth branch did not exist; it was carried as a commented Phase 2 placeholder. The consequence is structural: once shrunk, the window cannot recover, so a pattern that emerges after a contraction may exceed the window's reach. \subsection{Why the Window Read Static in Tests} Metrics consistently reported an effective window size of 4096. Three explanations were advanced: pattern diversity never plateaued below the one percent threshold because the harness kept introducing new transitions; the window never reached its warm state, since warming requires roughly 4096 executions and short tests end first; or the metrics, extracted once at the end of a run, missed the dynamic behavior --- the window might already have settled at its floor, or shrinking might never have triggered. The recommended resolution was instrumentation: log each shrink decision to see whether the check was contracting the window or merely measuring it. \subsection{The Unimplemented Decay Slope} The exported \texttt{decay\_slope} metric was hardcoded to zero. The underlying linear-decay model nevertheless existed and ran per word: heat declines as $H(t) = \max(0,\, H_0 - d\,t)$, with the decay constant expressed in \Qtype{} fixed point as three units per 65536 per microsecond --- roughly $4.58\times10^{-5}$ heat per microsecond, giving a hundred-heat word a half-life near two seconds. What was missing was any aggregate: no total-heat trajectory was stored, no start-to-end slope computed, no heat budget tracked. Three candidate definitions were proposed --- the constant decay rate read from the fixed-point constant, the observed heat decline divided by runtime, or a per-word average decay --- none of which had been implemented. \subsection{Toward a Bidirectional Loop} The design question pointed at a bidirectional controller. In the envisioned Loop \#5, diversity-driven shrinking would be balanced by growth driven by prefetch-accuracy feedback from the pipelining loop, so the window oscillates toward an optimal size rather than ratcheting monotonically downward. Three components were missing: a growth trigger (falling prefetch accuracy, a sudden rise in diversity, or available memory), a gauge study to judge whether a given contraction helped or hurt (comparing prefetch accuracy and cache-hit rate before and after), and the wiring that lets the pipelining loop's accuracy metric feed the window-tuning loop --- a connection that did not then exist. \subsection{Disposition} The analysis concluded that the shrink-only behavior was not a defect but a Phase 1 boundary, with bidirectional tuning explicitly deferred. The shrinking that existed worked correctly; the test harness simply may not have exhibited enough diversity plateau to trigger it. The decay-slope export was a placeholder awaiting one of the three candidate definitions. %% PATENT: the bidirectional, accuracy-driven window controller and the %% field-model framing of window tuning are patent-adjacent; no claims drafted %% here.