%% SCRAP: archive/quality/phase-tracking/phase-2-issues-identified %% SOURCE: docs/working/archive/quality/phase-tracking/phase-2-issues-identified.md %% STATUS: HISTORICAL %% FITS: none %% EDITORIAL: lifted — prose rewritten to press voice \section*{Phase~2 Issues: Fixed-Point Violations, Decay Slope, and Adaptive Window (November 2025)} A root-cause analysis conducted on 2025-11-08 identified four critical issues blocking Phase~2 validation of the StarForth adaptive physics engine. \textbf{Issue~1: Float/Double Violations.} Seven locations in \texttt{src/doe\_metrics.c} and three in \texttt{src/rolling\_window\_of\_truth.c} used IEEE~754 floating-point arithmetic for physics calculations that the architecture mandates be computed in Q48.16 fixed-point. Seven fields in \texttt{include/doe\_metrics.h} were typed as \texttt{double} rather than \texttt{uint64\_t}. These violations contaminated physics calculations and broke compatibility with the Isabelle/HOL formal model. \textbf{Issue~2: Decay Slope Uninitialized.} The \texttt{decay\_slope} field in \texttt{src/doe\_metrics.c} was hardcoded to \texttt{0.0}. No mechanism existed to capture dictionary heat at experiment start and end, nor to compute the observed slope from those snapshots. \textbf{Issue~3: Adaptive Window Non-Responsive.} The rolling window effective size was consistently reported as 4096 regardless of execution history. Instrumentation was absent, making it impossible to determine whether the shrink logic was executing, miscalculating growth rate, or measuring diversity incorrectly. \textbf{Issue~4: Unidirectional Adaptation.} The window-sizing logic shrunk the window when diversity growth fell below 1\% but never grew it. Wiring Feedback Loop~4 (prefetch accuracy) into Loop~5 (window width inference) as a bidirectional binary-chop signal was identified as the required architectural addition. All four issues were subsequently resolved through the implemented Loop~5 and Loop~6 architecture now in production.