\documentclass[11pt]{article}
\usepackage[margin=0.82in]{geometry}
\usepackage{amsmath,amssymb}
\usepackage{booktabs,array}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{url}
\usepackage[T1]{fontenc}
\hypersetup{colorlinks=true,linkcolor=blue!45!black,urlcolor=blue!45!black}
\setlist{nosep,leftmargin=1.4em}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0.55em}
\newcommand{\FV}{\textsc{Frostyverse}}
\newcommand{\code}[1]{\texttt{#1}}
\newcommand{\statusbox}[1]{\noindent\fbox{\begin{minipage}{0.94\linewidth}\small #1\end{minipage}}}
\newcommand{\R}{\mathbb{R}}

\begin{document}
\title{Rotational Invariance of the Historical Direction Candidate\\\large Physicist Reproduction and Audit Note}
\author{Frostyverse Laboratory}
\date{Website Laboratory v1.0.48}
\maketitle

\statusbox{\textbf{Scientific status.} Historical Reference-Simulator candidate. This test asks whether the same discrete direction mechanics develop a world-axis-dependent numerical residual when the \emph{physical input} is rigidly rotated relative to the fixed cubic substrate. The exact vector mean is constrained by the Shore rule; the attackable observable is therefore the finite completed-node propagation and its orientation dependence. A PASS is a software/model result, not evidence that nature contains a FrostGrid or proof of exact $SO(3)$ invariance.}

\begin{abstract}
A cubic substrate can reproduce one direction while still hiding preferred axes. The public Rotational Invariance test therefore rotates a physical carried direction around an arbitrary three-dimensional axis, rebuilds the historical directed-influence and vector-conserving Shore distribution at every orientation, samples completed-node propagation, and compares each finite-hop result with its independently rotated target. The wrapper also de-rotates every observed mean into one common base frame so orientation-dependent vector structure can be inspected directly. Exact FrostCell-boundary directions are not silently assigned to one cell: every compatible branch is run. The immutable historical Reference Simulator is hash-verified before execution.
\end{abstract}

\section{Audit question}
Let the normalized physical direction at zero rotation be $\hat{\mathbf v}_0$, and let $\hat{\mathbf a}$ be a normalized rotation axis. For an orientation angle $\phi$, the candidate input is
\[
\hat{\mathbf v}(\phi)=R_{\hat{\mathbf a}}(\phi)\hat{\mathbf v}_0.
\]
The audit asks:
\begin{quote}
When $\hat{\mathbf v}(\phi)$ is rotated relative to the fixed cubic axes and the candidate mechanics are rerun from scratch, does finite completed-node propagation remain comparably aligned with the physical input, or does a systematic orientation-dependent residual appear?
\end{quote}
This is deliberately different from generating one answer and rotating only its displayed coordinates afterward.

\section{Rigid physical rotation}
The wrapper uses Rodrigues' rotation formula,
\[
R_{\hat{\mathbf a}}(\phi)\mathbf v
=\mathbf v\cos\phi
+(\hat{\mathbf a}\times\mathbf v)\sin\phi
+\hat{\mathbf a}(\hat{\mathbf a}\cdot\mathbf v)(1-\cos\phi).
\]
For $N$ orientations spanning $\Phi$ degrees from starting angle $\phi_0$, the nonduplicating sweep is
\[
\phi_i=\phi_0+\Phi\frac{i}{N},
\qquad i=0,\ldots,N-1.
\]
Thus a $360^\circ$ sweep samples $0,360/N,\ldots,360(N-1)/N$ rather than duplicating the starting orientation at the end.

The published reference uses
\[
\mathbf v_0=(1,0.37,0.12),
\qquad
\mathbf a=(0.31,0.77,0.55),
\]
with both vectors normalized internally before the sweep.

\section{The FV direction mechanics rerun at every orientation}
The public wrapper imports the unchanged engine from
\begin{quote}
\path{historical/Frostyverse_Reference_Simulator_v1.0.zip}.
\end{quote}
The following mathematics is therefore not a replacement model written only for this audit; it is the preserved candidate calculation being exercised.

\subsection{Compatible FrostCells and legal destination nodes}
For a component $u$ of $\hat{\mathbf v}$, define the compatible sign set
\[
S(u)=
\begin{cases}
\{+1\}, & u>\varepsilon,\\
\{-1\}, & u<-\varepsilon,\\
\{-1,+1\}, & |u|\leq\varepsilon,
\end{cases}
\qquad \varepsilon=10^{-12}.
\]
The compatible FrostCell branches are the Cartesian product
\[
\mathcal C(\hat{\mathbf v})=S(v_x)\times S(v_y)\times S(v_z).
\]
For one branch $\mathbf s=(s_x,s_y,s_z)$, the seven candidate destination offsets are
\[
\mathbf n=(s_xb_x,s_yb_y,s_zb_z),
\qquad b_x,b_y,b_z\in\{0,1\},
\]
excluding $(b_x,b_y,b_z)=(0,0,0)$. Exact axes and planes can therefore have multiple compatible branches. The wrapper evaluates all of them.

\subsection{Directed FrostSmear influence}
For a candidate offset $\mathbf r$ and normalized carried direction $\hat{\mathbf v}$, define axial distance and transverse radius
\[
s=\mathbf r\cdot\hat{\mathbf v},
\qquad
\rho=\left\lVert\mathbf r-s\hat{\mathbf v}\right\rVert.
\]
For normalized within-tick time $\tau\in(0,1]$, the historical temporary support law uses
\[
h(\tau)=R_h\tau^{p_h},
\qquad
b=\max(0,h-s),
\]
\[
\sigma_\rho
=r_{\rm tail}+(r_{\rm head}-r_{\rm tail})
\exp\!\left(-\frac{b}{L_{\rm taper}}\right),
\]
and, when $s>0$,
\[
I(\mathbf r,\tau)=
\exp\!\left[-\frac12\left(\frac{\rho}{\sigma_\rho}\right)^2\right]
\exp\!\left[-\frac12\left(\frac{s-h}{\sigma_s}\right)^2\right]
(1+g\tau).
\]
If $s\leq0$, $I=0$. The preserved defaults are
\[
R_h=\sqrt3,
\quad p_h=1.70,
\quad r_{\rm head}=0.55,
\quad r_{\rm tail}=0.18,
\]
\[
L_{\rm taper}=0.60,
\quad \sigma_s=0.25,
\quad g=1.00.
\]
The code numerically integrates this influence through the declared smear substeps,
\[
W_n\simeq \sum_{k=1}^{N_s}
I\!\left(\mathbf n,\frac{k}{N_s}\right)\frac{1}{N_s},
\]
and converts the positive weights into normalized raw claims $q_n$.

\subsection{Vector-conserving Shore projection}
The raw influence weights select which valid Shore mixture is preferred, but the completed-node distribution is constrained to conserve the requested carried vector. The engine solves
\[
\boxed{
\min_{\{p_n\}}
\sum_n(p_n-q_n)^2
}
\]
subject to
\[
\boxed{
\sum_n p_n=1,
\qquad
p_n\geq0,
\qquad
\sum_n p_n\mathbf n=\hat{\mathbf v}.
}
\]
The exact distribution mean is therefore
\[
\boldsymbol\mu
=\sum_n p_n\mathbf n
=\hat{\mathbf v}
\]
up to numerical solve tolerance. This exact equality is part of the candidate rule and must \emph{not} be treated as independent evidence for isotropy or rotational invariance.

The rotational attack instead samples the resulting discrete distribution a finite number of times and looks for orientation-dependent behavior.

\section{Finite completed-node observable}
For $T$ completed hops in a branch, let the sampled destination at hop $k$ be $\mathbf n_k$. The observed mean displacement is
\[
\bar{\mathbf d}
=\frac{1}{T}\sum_{k=1}^{T}\mathbf n_k.
\]
The primary angular residual is
\[
\theta
=\cos^{-1}\!\left(
\frac{\bar{\mathbf d}\cdot\hat{\mathbf v}}
{\lVert\bar{\mathbf d}\rVert}
\right).
\]
The wrapper also records the anchor magnitude
\[
m=\lVert\bar{\mathbf d}\rVert,
\]
and reports its mean and spread across all orientation/branch runs.

A persistent dependence of $\theta$, $m$, or the residual-vector direction on $\phi$ would be evidence of a remaining cubic-grid preference in this finite numerical candidate.

\section{Common-frame de-rotation diagnostic}
After the candidate has run at orientation $\phi_i$, the observed mean is mapped back to the original base frame:
\[
\bar{\mathbf d}^{\,(0)}_i
=R_{\hat{\mathbf a}}(-\phi_i)\bar{\mathbf d}_i.
\]
It can then be compared directly with $\hat{\mathbf v}_0$:
\[
\theta^{(0)}_i
=\angle\!\left(\bar{\mathbf d}^{\,(0)}_i,
\hat{\mathbf v}_0\right).
\]
Because a rigid rotation preserves angles, $\theta^{(0)}_i$ and the corresponding laboratory-frame angular error are the same scalar for each branch. The value of the common-frame construction is therefore \emph{not} a second independent pass criterion; it is that the full de-rotated residual vectors can be inspected in one coordinate frame for a repeating orientation-dependent pattern.

\section{Published Python reference}
Run the package by either of the convenience scripts,
\begin{verbatim}
run_test.bat
\end{verbatim}
on Windows, or
\begin{verbatim}
chmod +x run_test.sh
./run_test.sh
\end{verbatim}
on macOS/Linux. Direct Python execution is
\begin{verbatim}
python lab_test.py
\end{verbatim}
and presents the interactive menu.

The published focused reference uses:
\begin{center}
\begin{tabular}{ll}
\toprule
Input & Value \\
\midrule
Base physical direction & $(1.0,0.37,0.12)$ \\
Rotation axis & $(0.31,0.77,0.55)$ \\
Orientations & 16 \\
Rotation span / start & $360^\circ / 0^\circ$ \\
Completed hops per branch & 5000 \\
Smear integration substeps & 96 \\
Random seed & 7, with preserved per-orientation schedule \\
\bottomrule
\end{tabular}
\end{center}

A fresh run of the published package produced:
\begin{center}
\begin{tabular}{lr}
\toprule
Observable & Result \\
\midrule
Angular error mean & $0.351479^\circ$ \\
Angular error maximum & $0.851196^\circ$ \\
Anchor magnitude mean & $0.999081796$ \\
Anchor magnitude spread & $0.011926620$ \\
De-rotated error mean / max & $0.351479^\circ / 0.851196^\circ$ \\
Maximum exact Shore mean component error & $1.110\times10^{-16}$ \\
Maximum compatible branches & 1 \\
Verdict & PASS \\
\bottomrule
\end{tabular}
\end{center}

The focused historical gate is
\[
\boxed{\max_i\theta_i<2.0^\circ.}
\]
The gate scores the output only; it is not fed into the Shore solver.

For this fresh deterministic reference run, the wrapper's candidate-data seal was
\begin{quote}\footnotesize
\path{8a15d656f2ee0396634c6d952c2fac402bd8094723044c721b7d4f91ca50c41a}.
\end{quote}
The seal covers the numerical candidate summary and detailed orientation records, not a later external comparison value.

\section{Custom-input attack mode}
Every meaningful sweep parameter can be changed. For example,
\begin{verbatim}
python lab_test.py --sweep \
  --base 1 0.271 -0.193 \
  --axis 0.22 0.73 0.41 \
  --orientations 24 \
  --ticks 8000 \
  --seed 404
\end{verbatim}
Additional controls are available through
\code{--span-deg}, \code{--start-deg}, \code{--substeps}, and \code{--label}.

A useful boundary attack is an exact axis direction. For example,
\begin{verbatim}
python lab_test.py --sweep \
  --base 1 0 0 --axis 0 0 1 \
  --orientations 4 --ticks 1000 --seed 11
\end{verbatim}
A fresh run reports four compatible FrostCell branches at the axis orientations rather than silently selecting one branch. This is an important negative control against hidden boundary conventions.

Focused runs write both human-readable \code{.txt} and machine-readable \code{.json} records under \code{results/}.

\section{Controls a reviewer should perform}
Useful attempts to break the candidate include:
\begin{enumerate}
\item use unrelated off-axis base vectors and rotation axes;
\item increase the number of orientations and completed hops to distinguish persistent bias from finite-sampling noise;
\item vary the starting angle and test partial as well as full rotation spans;
\item rerun with multiple seeds and compare common-frame residual-vector patterns;
\item deliberately choose exact axes and coordinate planes so every compatible FrostCell branch is exercised;
\item vary numerical smear substeps and check convergence rather than accepting one quadrature resolution;
\item run the unchanged full historical Reference Simulator suite after the focused test;
\item compare with an intentionally invalid control that rotates an already-generated output rather than rerunning the candidate mechanics.
\end{enumerate}
A failure on a fresh legal input is a useful audit result and should be preserved rather than tuned away.

\section{Reproduction files and provenance}
The public package contains:
\begin{itemize}
\item \code{lab\_test.py}: focused reference, custom rigid-rotation sweep, boundary handling, result sealing and output records;
\item \code{README\_FIRST.md}: run instructions and scientific boundary;
\item \code{EXPECTED\_RESULTS.txt}: published numerical fingerprint;
\item \code{SHA256SUMS.txt}: package-internal file hashes;
\item \code{run\_test.bat} and \code{run\_test.sh}: convenience launchers;
\item \code{historical/Frostyverse\_Reference\_Simulator\_v1.0.zip}: immutable historical engine.
\end{itemize}
No third-party Python libraries are required; Python 3.10 or newer is recommended.

The preserved historical archive SHA-256 is
\begin{quote}\footnotesize
\path{2c6bd32527c4fa71dbe1b55b4b00843dfd6d50b91e9227626e0b1b7991cdb807}.
\end{quote}
The public Rotational Invariance Python Test ZIP used for this note has SHA-256
\begin{quote}\footnotesize
\path{56d15bd679cad592ec370dd6068d9cc98848426687ff3a4b7df0e16b681cc4dd}.
\end{quote}
To rerun the unchanged historical suite directly through the wrapper:
\begin{verbatim}
python lab_test.py --historical
\end{verbatim}
To verify only the bundled historical archive hash:
\begin{verbatim}
python lab_test.py --verify
\end{verbatim}

\section{Interpretation and claim boundary}
A PASS means that this specified historical candidate survived the declared finite rigid-rotation software test over the sampled inputs. It supports rotational \emph{consistency of this implementation over that suite}. It does not establish:
\begin{itemize}
\item that nature contains a FrostGrid;
\item exact continuum $SO(3)$ symmetry of every Frostyverse subsystem;
\item that the exact Shore mean constraint is itself evidence for isotropy;
\item experimental agreement with a measured rotational-invariance observable; or
\item that untested directions, numerical resolutions, or future lower-level mechanics must behave identically.
\end{itemize}
The Rotational Invariance Lab should be read together with the broader Isotropy / Diagonal Propagation Lab. The two attack related but nonidentical failure modes: one surveys direction preservation broadly, while this document focuses on rigid rotation of the physical input relative to fixed cubic axes.

\end{document}
