%% SCRAP: experiments/campaigns/doe_2x7/README %% SOURCE: docs/working/experiments/campaigns/doe_2x7/README.md %% STATUS: CURRENT %% FITS: experiments/ch-factorial %% EDITORIAL: lifted — prose rewritten to press voice \section{$2^7$ Factorial Design of Experiments} The $2^7$ DoE campaign exhaustively tested all 128 combinations of StarForth's seven adaptive feedback loops (L1--L7) to identify optimal configurations and interaction effects. It represents the empirical foundation for the L8 Jacquard mode selector. \textbf{Scale:} 128 configurations $\times$ 300 replicates = 38\,400 total runs. Duration approximately 6--8 hours on modern AMD64 hardware. Reference commit: \texttt{161a3667}. \subsection{Experimental Design} \subsubsection{Independent Variables} \begin{center} \begin{tabular}{llll} \toprule Loop & Factor & Description & Hypothesis \\ \midrule L1 & \texttt{HEAT\_TRACKING} & Execution frequency tracking & May cause cache thrashing \\ L2 & \texttt{ROLLING\_WINDOW} & Execution history buffer & Enables pattern detection \\ L3 & \texttt{LINEAR\_DECAY} & Heat dissipation over time & Prevents stale accumulation \\ L4 & \texttt{PIPELINING\_METRICS} & Word transition prediction & May add overhead \\ L5 & \texttt{WINDOW\_INFERENCE} & Adaptive window sizing (Levene's) & Optimizes L2 window \\ L6 & \texttt{DECAY\_INFERENCE} & Exponential regression on heat & Optimizes L3 decay slope \\ L7 & \texttt{ADAPTIVE\_HEARTRATE} & Dynamic tick frequency & Reduces overhead when stable \\ \bottomrule \end{tabular} \end{center} \subsubsection{Configuration Encoding} Each configuration is a 7-bit binary number with bit position $n$ controlling loop $L(n+1)$. Configuration C97 (binary \texttt{1100001}) enables L1, L5, and L6. \subsubsection{Dependent Variables} Primary: \texttt{ns\_per\_word} (execution time per FORTH word) and \texttt{cv} (coefficient of variation as stability metric). Secondary: \texttt{window\_width}, \texttt{decay\_slope\_q48}, \texttt{total\_heat}, \texttt{hot\_word\_count}, \texttt{prefetch\_hits}. \subsection{Key Findings (300 Replicates, November 2025)} \subsubsection{Loop Effectiveness in Top 5\% Configurations} \begin{center} \begin{tabular}{llll} \toprule Loop & Effect & Top-5\% Prevalence & Recommendation \\ \midrule L1 (Heat) & Harmful & 14\% enabled & Disable by default \\ L2 (Window) & Workload-dependent & 57\% enabled & L8-controlled \\ L3 (Decay) & Beneficial & 57\% enabled & L8-controlled \\ L4 (Pipeline) & Harmful & 0\% enabled & Disable by default \\ L5 (Window Inf.) & Beneficial & 43\% enabled & L8-controlled \\ L6 (Decay Inf.) & Workload-dependent & 57\% enabled & L8-controlled \\ L7 (Heartrate) & Beneficial & 71\% enabled & Always on \\ \bottomrule \end{tabular} \end{center} \subsubsection{Top Configurations} \begin{center} \begin{tabular}{lllll} \toprule Rank & Config & Binary & Loops & Character \\ \midrule 1 & C97 & \texttt{0110001} & L1+L5+L6 & Temporal+diverse \\ 2 & C7 & \texttt{0000111} & L3+L5+L6 & Full inference \\ 3 & C75 & \texttt{0100011} & L2+L6 & Diverse+decay \\ 4 & C70 & \texttt{0100110} & L2+L5+L6 & Diverse+inference \\ 5 & C1 & \texttt{0000001} & L1 only & Minimal \\ \bottomrule \end{tabular} \end{center} \textbf{Critical insight:} No single configuration is optimal across all workload types. This finding directly motivates the L8 Jacquard dynamic mode selector. \subsection{Running the Experiment} \begin{lstlisting}[language=bash] # Generate 128-configuration run matrix cd experiments/doe_2x7 ./generate_run_matrix.sh # Run full DoE (300 replicates, ~6-8 hours) ./run_doe.sh 300 # Quick test (10 replicates, ~15 minutes) ./run_doe.sh 10 \end{lstlisting} Results land in a timestamped directory containing raw CSV data, summary statistics, ANOVA interaction results, and 56 visualization plots (per-loop distributions, pairwise interaction plots, performance heatmap, Pareto frontier). \subsection{Analysis} The auto-generated R analysis script (\texttt{doe\_full\_report.R}) produces ANOVA tables with main effects and interactions, Cohen's $d$ and $\eta^2$ effect sizes, and Pareto frontiers of speed versus stability. Requires R $\geq 4.0$ with \texttt{ggplot2}, \texttt{dplyr}, \texttt{tidyr}, and \texttt{gridExtra}. %% PATENT: the loop effectiveness findings and their relationship to %% the L8 selector mechanism are patent-adjacent. Do not draft claims here.