ctt train-calibration hygiene 2026-07-03T16:31:19Z: latex/main.tex
Browse files- latex/main.tex +680 -0
latex/main.tex
ADDED
|
@@ -0,0 +1,680 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
\documentclass[10pt]{article}
|
| 2 |
+
|
| 3 |
+
\usepackage[margin=1in]{geometry}
|
| 4 |
+
\usepackage{booktabs}
|
| 5 |
+
\usepackage{amsmath}
|
| 6 |
+
\usepackage{amssymb}
|
| 7 |
+
\usepackage{amsthm}
|
| 8 |
+
\usepackage{graphicx}
|
| 9 |
+
\usepackage{xcolor}
|
| 10 |
+
\usepackage{hyperref}
|
| 11 |
+
\hypersetup{
|
| 12 |
+
pdftitle={Counterfactual Action Atlas: Learning Local Causal Geometry for Vision-Language-Action Control},
|
| 13 |
+
pdfauthor={DoVLA-CIL Working Draft},
|
| 14 |
+
pdfsubject={CIL-Atlas diagnostic draft with measured CTT rollout and utility-energy selector diagnostics},
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
\title{Counterfactual Action Atlas: Learning Local Causal Geometry for Vision-Language-Action Control}
|
| 18 |
+
\author{DoVLA-CIL Working Draft}
|
| 19 |
+
\date{\today}
|
| 20 |
+
|
| 21 |
+
\newcommand{\cil}{\textsc{CIL}}
|
| 22 |
+
\newcommand{\atlas}{\textsc{CIL-Atlas}}
|
| 23 |
+
\newcommand{\ctt}{\textsc{CTT}}
|
| 24 |
+
\newcommand{\bench}{\textsc{CILBench}}
|
| 25 |
+
\newcommand{\dovla}{\textsc{DoVLA}}
|
| 26 |
+
\newcommand{\pptc}{\ensuremath{\mathrm{PPTC}}}
|
| 27 |
+
\newcommand{\outcomeptr}{\ensuremath{\mathrm{OutcomePTR}}}
|
| 28 |
+
|
| 29 |
+
\newtheorem{definition}{Definition}
|
| 30 |
+
\newtheorem{theorem}{Theorem}
|
| 31 |
+
\newtheorem{proposition}{Proposition}
|
| 32 |
+
|
| 33 |
+
\begin{document}
|
| 34 |
+
\maketitle
|
| 35 |
+
|
| 36 |
+
\begin{abstract}
|
| 37 |
+
Vision-language-action policies are usually trained from demonstrations that
|
| 38 |
+
show what the robot did, but not what would have happened under nearby actions.
|
| 39 |
+
We introduce the Counterfactual Action Atlas, a same-state interventional
|
| 40 |
+
framework for measuring local do-action geometry and for auditing whether a
|
| 41 |
+
deployment-clean generator actually reaches positive tangent support. A
|
| 42 |
+
\bench{} chart restores the identical state and instruction, executes multiple
|
| 43 |
+
action chunks, and measures which tangents cause recovery, progress, failure,
|
| 44 |
+
collision, or success. The current six-task diagnostic shows why this object
|
| 45 |
+
matters: direct h=16 behavior cloning reaches 29.74\% success,
|
| 46 |
+
deployment-clean residual transport reaches 38.90\%, its top-8 proposal oracle
|
| 47 |
+
reaches 44.35\%, and the hidden same-state no-expert chart reaches 56.99\%.
|
| 48 |
+
This decomposes failure into proposal-support and selector gaps. The current
|
| 49 |
+
\atlas{} implementation evaluates Causal Tangent Transport (\ctt{}), which
|
| 50 |
+
starts from measured train positive tangents and learns
|
| 51 |
+
$T_{\phi}(z_s,z_t,\xi_s^+)\rightarrow \xi_t^+$, transporting a positive
|
| 52 |
+
do-action tangent from a nearby source chart into the current target chart.
|
| 53 |
+
Measured validation and test rollouts confirm the support story but not yet a
|
| 54 |
+
final deployment method: on test charts, the generated proposal oracle reaches
|
| 55 |
+
50.69\% success and \outcomeptr{}@8 reaches 52.78\%, while the selected action
|
| 56 |
+
falls to 22.22\%, exposing an unsolved calibrated-dominance problem. We keep
|
| 57 |
+
the metric boundary explicit: \outcomeptr{} is reported only after generated
|
| 58 |
+
candidates are rolled out, while distance-only support diagnostics are
|
| 59 |
+
\pptc{}. These runs are therefore diagnostic evidence for the Atlas thesis and
|
| 60 |
+
the next selector/generator gate, not an unqualified SOTA claim.
|
| 61 |
+
\end{abstract}
|
| 62 |
+
|
| 63 |
+
\section{Introduction}
|
| 64 |
+
|
| 65 |
+
Standard imitation collapses a state into one demonstrated action. For
|
| 66 |
+
manipulation this is the wrong unit of supervision. The same visual state and
|
| 67 |
+
instruction may admit a successful lateral correction, a smooth no-op, a
|
| 68 |
+
collision, a wrong-object move, and a recovery tangent. The missing information
|
| 69 |
+
is not merely more demonstrations or a larger decoder; it is measured
|
| 70 |
+
same-state interventional geometry:
|
| 71 |
+
\[
|
| 72 |
+
\text{for the same }(s,\ell),\quad
|
| 73 |
+
\text{which } do(a_i) \text{ causally improves or destroys the outcome?}
|
| 74 |
+
\]
|
| 75 |
+
|
| 76 |
+
The current diagnostic makes this geometry visible. Clean residual transport
|
| 77 |
+
improves success by 9.16 points over the direct h=16 policy. However, the
|
| 78 |
+
proposal oracle inside the clean top-8 prefix is only 5.45 points above the
|
| 79 |
+
deployed selector, while the gap from that proposal oracle to the hidden
|
| 80 |
+
same-state no-expert chart is 12.64 points. The bottleneck is therefore support:
|
| 81 |
+
the method must generate actions that lie on positive causal tangent support,
|
| 82 |
+
not merely rescore a fixed candidate set.
|
| 83 |
+
|
| 84 |
+
This draft follows one spine. \atlas{} turns robot action learning from one
|
| 85 |
+
demonstrated action per state into local causal action geometry: for the same
|
| 86 |
+
visual state and instruction, what action tangents actually cause recovery,
|
| 87 |
+
progress, failure, collision, or success? \bench{} defines the chart primitive.
|
| 88 |
+
Causal Action Regret decomposes deployment failure into proposal support and
|
| 89 |
+
selector terms. \ctt{} is the current transport generator inside the Atlas: it
|
| 90 |
+
transports measured train positive tangents into target charts. Baselines such
|
| 91 |
+
as residual retrieval, generic CVAE/flow generation, and Gaussian field search
|
| 92 |
+
are kept as diagnostics for why noise-initialized or off-manifold proposal
|
| 93 |
+
search is insufficient.
|
| 94 |
+
|
| 95 |
+
\paragraph{Contributions.}
|
| 96 |
+
\begin{itemize}
|
| 97 |
+
\item We define \bench{}, a same-state interventional chart format for VLA
|
| 98 |
+
manipulation, with train-only outcome visibility and evaluator-only
|
| 99 |
+
validation/test outcomes.
|
| 100 |
+
\item We implement canonical metrics that separate measured outcomes from
|
| 101 |
+
geometry proxies: BranchCAR, \outcomeptr{}@K, SelectorRegret@K,
|
| 102 |
+
SupportGap, \pptc{}@K, NegativeNear, and proxy support distance.
|
| 103 |
+
\item We introduce \atlas{}, an object-centric representation hypothesis for
|
| 104 |
+
local causal action geometry. The current implementation is \ctt{}, a
|
| 105 |
+
transport operator
|
| 106 |
+
$T_{\phi}(z_s,z_t,\xi_s^+)\rightarrow\xi_t^+$ that starts from measured
|
| 107 |
+
positive source tangents rather than ambient noise.
|
| 108 |
+
\item We provide leakage-audited chart exports, data accounting, local
|
| 109 |
+
positive-memory baselines, residual/gated \ctt{} proxy comparisons, and
|
| 110 |
+
measured validation/test generated-candidate rollouts. We report them
|
| 111 |
+
honestly as geometry and gate evidence, not as final deployment success.
|
| 112 |
+
\end{itemize}
|
| 113 |
+
|
| 114 |
+
\section{Related Work}
|
| 115 |
+
|
| 116 |
+
\paragraph{VLA policies and fine-tuning.}
|
| 117 |
+
OpenVLA demonstrates that open VLA backbones can be fine-tuned for generalist
|
| 118 |
+
manipulation from large robot datasets~\cite{kim2024openvla}. OpenVLA-OFT
|
| 119 |
+
shows that parallel decoding, action chunking, continuous actions, and simple
|
| 120 |
+
regression objectives substantially improve fine-tuning efficiency and LIBERO
|
| 121 |
+
performance~\cite{kim2025openvlaoft}. These methods improve the base policy
|
| 122 |
+
that produces $a_b$ in our framework. They do not by themselves provide
|
| 123 |
+
same-state alternatives or measured do-action contrasts.
|
| 124 |
+
|
| 125 |
+
\paragraph{Test-time sampling, verification, and abstention.}
|
| 126 |
+
RoboMonkey scales VLA inference by sampling candidate actions and selecting
|
| 127 |
+
with a VLM-based verifier~\cite{kwok2025robomonkey}. VeriSpace adds 3D-aware
|
| 128 |
+
scene encoding and spatially grounded action reasoning for verifier-based
|
| 129 |
+
selection~\cite{zhao2026verispace}. BOKBO highlights a safety failure of
|
| 130 |
+
best-of-$K$: when all candidates are bad, the verifier-best action can still be
|
| 131 |
+
unsafe, motivating calibrated abstention~\cite{singh2026bokbo}. \ctt{} is
|
| 132 |
+
orthogonal: it targets proposal support by transporting measured positive
|
| 133 |
+
tangents before scoring or abstention.
|
| 134 |
+
|
| 135 |
+
\paragraph{Counterfactual robot data and benchmarks.}
|
| 136 |
+
CAST uses counterfactual language/action labels to improve instruction
|
| 137 |
+
following without new intervention rollouts~\cite{glossop2025cast}. In
|
| 138 |
+
contrast, \bench{} measures $Y\mid do(a),s,\ell$ through same-state action
|
| 139 |
+
execution. ManiSkill3 supplies GPU-parallel simulation and rendering for
|
| 140 |
+
scalable manipulation experiments~\cite{tao2024maniskill3}; VLABench stresses
|
| 141 |
+
long-horizon language-conditioned manipulation~\cite{zhang2024vlabench};
|
| 142 |
+
RoboTwin~2.0 targets scalable bimanual data generation~\cite{chen2025robotwin2};
|
| 143 |
+
and LIBERO studies lifelong transfer across language-conditioned manipulation
|
| 144 |
+
suites~\cite{liu2023libero}. These benchmarks motivate broader evaluation once
|
| 145 |
+
the current CTT support gate is passed.
|
| 146 |
+
|
| 147 |
+
\section{CILBench}
|
| 148 |
+
|
| 149 |
+
\subsection{Same-State Charts}
|
| 150 |
+
|
| 151 |
+
A \bench{} group is a local chart
|
| 152 |
+
\[
|
| 153 |
+
C(s,\ell)=\{(o,\ell,a_i,y_i)\}_{i=1}^{K},
|
| 154 |
+
\]
|
| 155 |
+
where every branch executes $do(a_i)$ from the same restored simulator state
|
| 156 |
+
$s$, observation $o$, and instruction $\ell$. Because the state is fixed, a
|
| 157 |
+
within-chart difference
|
| 158 |
+
\[
|
| 159 |
+
Y(a_i)-Y(a_j)
|
| 160 |
+
\]
|
| 161 |
+
is a same-state causal contrast between interventions $do(a_i)$ and $do(a_j)$.
|
| 162 |
+
This is not subjective preference data. It is measured intervention data for
|
| 163 |
+
robot action chunks.
|
| 164 |
+
|
| 165 |
+
Each branch stores an action chunk, branch family, rollout trace reference, and
|
| 166 |
+
outcome vector
|
| 167 |
+
\[
|
| 168 |
+
y_i=[s_i,p_i,c_i,v_i,q_i,e_i,r_i],
|
| 169 |
+
\]
|
| 170 |
+
for terminal success, dense progress, contact quality, safety violation,
|
| 171 |
+
task-stage quality, smoothness, and recovery. A scalar utility $U(y_i)$ is used
|
| 172 |
+
for ranking and CAR, while reports should keep the components visible.
|
| 173 |
+
|
| 174 |
+
\subsection{Splits and Leakage Contract}
|
| 175 |
+
|
| 176 |
+
The train split is the only split allowed to expose outcomes to retrieval,
|
| 177 |
+
generation, and utility training. Validation and test chart DBs are
|
| 178 |
+
evaluator-only: their outcomes may be loaded by metric scripts, but their
|
| 179 |
+
indexes are not retrieval indexes and must not be loaded by deployment-time
|
| 180 |
+
proposal or selection code. This is the contract required for a
|
| 181 |
+
deployment-clean method: no same-state validation rewards at inference, no
|
| 182 |
+
expert proposals, and no hidden simulator state at selection time.
|
| 183 |
+
When calibration rollouts target train charts, retrieval must also exclude any
|
| 184 |
+
source chart with the same chart id or restored-state hash as the target; this
|
| 185 |
+
prevents a train-only calibration set from copying the exact target positive
|
| 186 |
+
tangents it is supposed to evaluate.
|
| 187 |
+
|
| 188 |
+
\begin{table}[t]
|
| 189 |
+
\centering
|
| 190 |
+
\caption{Scripted chart data accounting. Counts are generated by
|
| 191 |
+
\texttt{scripts/build\_data\_accounting.py}. Train rows expose outcomes for
|
| 192 |
+
training; validation/test rows expose outcomes only to evaluator scripts.}
|
| 193 |
+
\label{tab:data-accounting}
|
| 194 |
+
\scriptsize
|
| 195 |
+
\input{../runs/data_accounting/table}
|
| 196 |
+
\end{table}
|
| 197 |
+
|
| 198 |
+
The current leakage audit over \texttt{data/cil\_charts/\{train,val,test\}}
|
| 199 |
+
passes with zero violations. The train index contains 2,044 charts and 32,704
|
| 200 |
+
rows; the complete split export contains 2,873 charts and 45,968 rows.
|
| 201 |
+
|
| 202 |
+
\section{Metrics}
|
| 203 |
+
|
| 204 |
+
For one chart, let $a_b$ be the base action and let $U(\cdot)$ be measured
|
| 205 |
+
utility when outcomes are available. Branch Causal Action Regret is
|
| 206 |
+
\[
|
| 207 |
+
\mathrm{BranchCAR}=U(a^*_{\mathcal A})-U(a_m),
|
| 208 |
+
\qquad
|
| 209 |
+
a^*_{\mathcal A}=\arg\max_{a\in\mathcal A} U(a).
|
| 210 |
+
\]
|
| 211 |
+
|
| 212 |
+
\paragraph{Measured proposal metrics.}
|
| 213 |
+
Generated candidates may be called successful only after they are rolled out or
|
| 214 |
+
otherwise evaluated by the benchmark. Outcome-positive proposal recall is
|
| 215 |
+
\[
|
| 216 |
+
\outcomeptr@K=
|
| 217 |
+
\mathbb{1}\left[\exists \hat a_k\in P_K:
|
| 218 |
+
U(\hat a_k)>U(a_b)+\epsilon\right].
|
| 219 |
+
\]
|
| 220 |
+
Selector Regret inside the measured proposal prefix is
|
| 221 |
+
\[
|
| 222 |
+
\mathrm{SelectorRegret@K}
|
| 223 |
+
=U(a^*_{P_K})-U(a_{\mathrm{selected}}).
|
| 224 |
+
\]
|
| 225 |
+
Support Gap is
|
| 226 |
+
\[
|
| 227 |
+
\mathrm{SupportGap}
|
| 228 |
+
=U(a^*_{\mathrm{hidden\ chart}})-U(a^*_{P_K}).
|
| 229 |
+
\]
|
| 230 |
+
These metrics are invalid for distance-only candidates.
|
| 231 |
+
|
| 232 |
+
\paragraph{Proxy geometry metrics.}
|
| 233 |
+
When generated candidates have not been rolled out, this draft reports support
|
| 234 |
+
geometry as \pptc{}:
|
| 235 |
+
\[
|
| 236 |
+
\pptc@K(\tau)=
|
| 237 |
+
\mathbb{1}\left[
|
| 238 |
+
\min_{\hat\xi_k\in P_K,\xi^+\in \Xi^+}
|
| 239 |
+
d_{\mathrm{RMS}}(\hat\xi_k,\xi^+) \le \tau
|
| 240 |
+
\right].
|
| 241 |
+
\]
|
| 242 |
+
NegativeNear@K reports the fraction of generated tangents within threshold of a
|
| 243 |
+
measured negative tangent. PosCloserThanNeg and proxy support distance summarize
|
| 244 |
+
whether the generated set lies nearer to positive support than to negative
|
| 245 |
+
support. These are geometry diagnostics, not outcome success.
|
| 246 |
+
|
| 247 |
+
\section{Counterfactual Action Atlas}
|
| 248 |
+
|
| 249 |
+
\atlas{} is the local causal geometry learned from same-state charts. Its
|
| 250 |
+
deployment object is not a single action label, but a field over candidate
|
| 251 |
+
tangents: which nearby action corrections are positive, negative, recoverable,
|
| 252 |
+
unsafe, or unsupported for the current observation and instruction. The current
|
| 253 |
+
implemented generator is \ctt{}, a positive-tangent transport method. It does
|
| 254 |
+
not start from Gaussian noise and then optimize a learned field off-manifold.
|
| 255 |
+
It starts from measured train positives:
|
| 256 |
+
\[
|
| 257 |
+
\Delta U_i = U(a_i)-U(a_b),\qquad
|
| 258 |
+
\xi_i^+=\psi(a_i-a_b)\quad \text{if } \Delta U_i>\epsilon .
|
| 259 |
+
\]
|
| 260 |
+
For a source chart token $z_s$, target chart token $z_t$, and measured source
|
| 261 |
+
positive tangent $\xi_s^+$, the model predicts
|
| 262 |
+
\[
|
| 263 |
+
\hat\xi_t^+=T_{\phi}(z_s,z_t,\xi_s^+).
|
| 264 |
+
\]
|
| 265 |
+
The implemented residual and gated residual \ctt{} variants are
|
| 266 |
+
\[
|
| 267 |
+
\hat\xi_t = \xi_s^+ + \Delta_{\phi}(z_s,z_t,\xi_s^+),
|
| 268 |
+
\]
|
| 269 |
+
\[
|
| 270 |
+
\hat\xi_t =
|
| 271 |
+
g_{\phi}(z_s,z_t,\xi_s^+)\odot\xi_s^+
|
| 272 |
+
+(1-g_{\phi}(z_s,z_t,\xi_s^+))\odot
|
| 273 |
+
\Delta_{\phi}(z_s,z_t,\xi_s^+).
|
| 274 |
+
\]
|
| 275 |
+
|
| 276 |
+
\paragraph{Training loss.}
|
| 277 |
+
The current implementation trains on outcome-visible train charts. For each
|
| 278 |
+
nearby same-task source-target pair, it minimizes one-sided positive alignment,
|
| 279 |
+
a negative boundary penalty, and a cycle consistency term:
|
| 280 |
+
\[
|
| 281 |
+
\mathcal L =
|
| 282 |
+
\lambda_+\min_{\xi_t^+\in\Xi_t^+}\|\hat\xi_t-\xi_t^+\|_2^2
|
| 283 |
+
+ \lambda_-\max(0,m-d(\hat\xi_t,\Xi_t^-))
|
| 284 |
+
+ \lambda_c\|T_{\phi}(z_t,z_s,\hat\xi_t)-\xi_s^+\|_2^2.
|
| 285 |
+
\]
|
| 286 |
+
The first implementation uses exported base-action summaries as chart features.
|
| 287 |
+
This is an engineering limitation, not the intended Atlas representation. The
|
| 288 |
+
next chart export should include visual-language tokens, target/distractor
|
| 289 |
+
object tokens, robot/contact-region tokens, and object-centric tangent frames.
|
| 290 |
+
|
| 291 |
+
\paragraph{Deployment plan.}
|
| 292 |
+
At test time, \atlas{} should sample or retrieve positive tangents, decode them
|
| 293 |
+
into candidate action chunks, score their causal utility, and execute only if a
|
| 294 |
+
calibrated lower confidence bound says the best tangent dominates the base
|
| 295 |
+
action. The current \ctt{} implementation retrieves nearby train positive source
|
| 296 |
+
tangents, transports them into the current chart, and decodes the public 21D
|
| 297 |
+
tangent summary as three residual keyframes with linear interpolation into an
|
| 298 |
+
action chunk. This is an auditable engineering decoder, not a lossless
|
| 299 |
+
reconstruction of the hidden branch action.
|
| 300 |
+
|
| 301 |
+
\input{../paper/sections/theory}
|
| 302 |
+
|
| 303 |
+
\section{Current Evidence}
|
| 304 |
+
|
| 305 |
+
We evaluate six ManiSkill manipulation diagnostics with clean rows that do not
|
| 306 |
+
use same-state validation proposals, same-state validation rewards, or expert
|
| 307 |
+
proposals at deployment. Same-state rows are diagnostic oracles that reveal
|
| 308 |
+
local chart geometry.
|
| 309 |
+
|
| 310 |
+
\input{tables/main_results}
|
| 311 |
+
\input{tables/car_decomposition}
|
| 312 |
+
|
| 313 |
+
Table~\ref{tab:car-decomposition} is the central diagnostic. It says that the
|
| 314 |
+
current residual baseline learns a useful local utility field, but the larger
|
| 315 |
+
remaining bottleneck is proposal support.
|
| 316 |
+
|
| 317 |
+
\subsection{Baselines and Failure Modes}
|
| 318 |
+
|
| 319 |
+
\input{tables/source_score_sweep}
|
| 320 |
+
\input{tables/selector_calibration}
|
| 321 |
+
|
| 322 |
+
Residual transport V0, utility-weighted residual retrieval V1, negative-margin
|
| 323 |
+
reranking, barycentric chart synthesis, CVAE generators, and flow generators are
|
| 324 |
+
diagnostic baselines. V1 does not beat V0. Negative-margin reranking does not
|
| 325 |
+
replace local positive support. Raw-action CVAE and spline flow variants can be
|
| 326 |
+
safe under NegativeNear, but collapse strict positive support. These failures
|
| 327 |
+
motivate \ctt{}: positive support should be transported from measured positive
|
| 328 |
+
chart tangents, with negative tangents defining boundaries, rather than sampled
|
| 329 |
+
from ambient noise.
|
| 330 |
+
|
| 331 |
+
Previous distance-only memory and local-atlas diagnostics must be read as
|
| 332 |
+
\pptc{}, not \outcomeptr{}. The train-only positive memory reaches 11.83\%
|
| 333 |
+
\pptc{}@16 at threshold 0.20 and 41.94\% at threshold 0.40. Local-atlas
|
| 334 |
+
retrieval reaches 23.66\% \pptc{}@16 at threshold 0.20 and 52.69\% at threshold
|
| 335 |
+
0.40, with 5.33\% NegativeNear at threshold 0.20. These numbers support the
|
| 336 |
+
local organization of positive tangents, but they are not measured rollout
|
| 337 |
+
success.
|
| 338 |
+
|
| 339 |
+
\subsection{CTT Smoke Artifact}
|
| 340 |
+
|
| 341 |
+
\begin{table}[t]
|
| 342 |
+
\centering
|
| 343 |
+
\caption{First residual \ctt{} proxy smoke on train self-target charts. This
|
| 344 |
+
table is an artifact check, not validation/test performance and not
|
| 345 |
+
\outcomeptr{}. The 0.20 NegativeNear value exceeds the current safety gate, so
|
| 346 |
+
the run should not be claimed as method success.}
|
| 347 |
+
\label{tab:ctt-smoke}
|
| 348 |
+
\scriptsize
|
| 349 |
+
\input{../runs/ctt_residual_smoke_proxy/table}
|
| 350 |
+
\end{table}
|
| 351 |
+
|
| 352 |
+
The first residual \ctt{} smoke trains on 16 train charts and evaluates
|
| 353 |
+
train self-target proxy geometry. It reaches perfect \pptc{} in this small
|
| 354 |
+
self-target setting, but NegativeNear@16 at threshold 0.20 is 10.10\%, above
|
| 355 |
+
the local-atlas reference of 5.33\% by more than one point. Therefore the gate
|
| 356 |
+
for rollout is not passed. The correct conclusion is that the code path and
|
| 357 |
+
artifact contract now exist; the method still needs a safer validation-scale
|
| 358 |
+
transport run before any outcome claim.
|
| 359 |
+
|
| 360 |
+
A gated residual smoke run is safer in this same tiny setting
|
| 361 |
+
(50.00\% \pptc{}@16 at threshold 0.20 and 5.73\% NegativeNear@16 at threshold
|
| 362 |
+
0.20), but it is still train self-target proxy evidence. It is a candidate for
|
| 363 |
+
the next validation-scale proxy sweep, not a paper result.
|
| 364 |
+
|
| 365 |
+
\subsection{Validation Proxy Gate}
|
| 366 |
+
|
| 367 |
+
\begin{table}[t]
|
| 368 |
+
\centering
|
| 369 |
+
\caption{Validation proxy comparison on 69 validation charts with measured
|
| 370 |
+
positive tangents, using train-only source positives. The gate column is
|
| 371 |
+
proxy-only: it requires no more than one point higher NegativeNear@0.20 than
|
| 372 |
+
local-atlas and improvement on \pptc{}@0.20, \pptc{}@0.40, or mean positive
|
| 373 |
+
distance. Passing this gate permits rollout evaluation; it is not
|
| 374 |
+
\outcomeptr{} or measured success.}
|
| 375 |
+
\label{tab:ctt-val-proxy}
|
| 376 |
+
\scriptsize
|
| 377 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_val_proxy_comparison/table}}
|
| 378 |
+
\end{table}
|
| 379 |
+
|
| 380 |
+
Table~\ref{tab:ctt-val-proxy} is the first three-seed validation support-geometry
|
| 381 |
+
artifact. Residual \ctt{} lowers mean positive distance relative to local-atlas
|
| 382 |
+
and keeps NegativeNear@0.20 within the one-point safety slack, but it does not
|
| 383 |
+
beat local-atlas on \pptc{} coverage. Gated residual \ctt{} lowers mean positive
|
| 384 |
+
distance further, but the three-seed NegativeNear@0.20 average exceeds the
|
| 385 |
+
safety slack, so it fails the proxy gate. The honest interpretation is that
|
| 386 |
+
residual \ctt{} is eligible for measured rollout, while the support/safety
|
| 387 |
+
tradeoff remains unresolved.
|
| 388 |
+
|
| 389 |
+
A one-seed base-context diagnostic appends deployment-visible task and
|
| 390 |
+
instruction hashes to the base-action chart token. It reaches 62.32\%
|
| 391 |
+
\pptc{}@0.40 and 1.82\% NegativeNear@0.20 on the same 69 validation charts, but
|
| 392 |
+
still trails the local-atlas \pptc{} rates. A follow-up non-destructive
|
| 393 |
+
RGB-reference export, \texttt{data/cil\_charts\_rgb\_refs}, passes leakage audit
|
| 394 |
+
and exposes 32D deterministic RGB-stat observation embeddings in every split.
|
| 395 |
+
Across three seeds, the corresponding \texttt{base\_context\_obs} row reaches
|
| 396 |
+
24.64\% \pptc{}@0.20, 64.25\% \pptc{}@0.40, 3.43\% NegativeNear@0.20, and mean
|
| 397 |
+
positive distance 0.4347. This is the strongest current \ctt{} proxy row on
|
| 398 |
+
support geometry while staying inside the local-atlas safety slack, but it
|
| 399 |
+
remains proxy-only and still does not beat local-atlas \pptc{}. We therefore
|
| 400 |
+
treat it as rollout-eligible representation evidence, not as a
|
| 401 |
+
visual-language/object-centric or measured outcome claim.
|
| 402 |
+
|
| 403 |
+
\subsection{Measured Rollout Harness}
|
| 404 |
+
|
| 405 |
+
The first measured \ctt{} rollout artifact now exists:
|
| 406 |
+
\texttt{scripts/eval\_ctt\_generated\_rollout.py} generates train-positive
|
| 407 |
+
transport candidates, decodes them into action chunks, restores the validation
|
| 408 |
+
state, executes base plus generated candidates in ManiSkill, and writes measured
|
| 409 |
+
rows consumable by \texttt{scripts/eval\_metrics.py}. On CPU backends it falls
|
| 410 |
+
back to sequential same-state restores because ManiSkill does not allow
|
| 411 |
+
multi-environment CPU vectorization.
|
| 412 |
+
|
| 413 |
+
A one-chart smoke run at K=2 verifies the measured path and restore accuracy
|
| 414 |
+
(\texttt{runs/ctt\_residual\_rollout\_direct\_smoke\_seed0\_v3}), but it does
|
| 415 |
+
not support a method-success claim: \outcomeptr{}@2 is 0.0000 and the generated
|
| 416 |
+
candidates underperform the measured base action on that chart. This negative
|
| 417 |
+
smoke is useful because it protects the paper from reclassifying \pptc{} proxy
|
| 418 |
+
evidence as outcome success.
|
| 419 |
+
|
| 420 |
+
\begin{table}[t]
|
| 421 |
+
\centering
|
| 422 |
+
\caption{Measured residual \ctt{} rollout on 69 validation positive-support
|
| 423 |
+
charts across three train seeds, K=8. Generated candidates are decoded and
|
| 424 |
+
executed from restored simulator states; these are measured outcome metrics,
|
| 425 |
+
not \pptc{} proxies.}
|
| 426 |
+
\label{tab:ctt-val-rollout}
|
| 427 |
+
\scriptsize
|
| 428 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_val_rollout_comparison/table}}
|
| 429 |
+
\end{table}
|
| 430 |
+
|
| 431 |
+
Table~\ref{tab:ctt-val-rollout} is the first non-proxy \ctt{} validation
|
| 432 |
+
evidence. Across 207 measured rows, \outcomeptr{}@8 is 0.4589 with a 95\%
|
| 433 |
+
bootstrap interval of [0.3913, 0.5314]. This shows that transported positive
|
| 434 |
+
tangents often find actions that beat the base action. At the same time,
|
| 435 |
+
selected success is only 24.15\%, below the measured base success of 28.50\%.
|
| 436 |
+
The proposal oracle is 37.68\%, the hidden same-state chart oracle is 66.67\%,
|
| 437 |
+
the success support gap is 29.47 points, and the success selector gap is 13.53
|
| 438 |
+
points. The validation result supports the paper's support-gap story more than
|
| 439 |
+
it supports an unqualified deployment claim.
|
| 440 |
+
|
| 441 |
+
\begin{table}[t]
|
| 442 |
+
\centering
|
| 443 |
+
\caption{Measured validation rollout for the proxy-positive
|
| 444 |
+
\texttt{base\_context\_obs} visual-stat chart token, across three train seeds,
|
| 445 |
+
K=8. The RGB-stat chart token improves support-side validation metrics, but the
|
| 446 |
+
selected action still fails to beat the base action.}
|
| 447 |
+
\label{tab:ctt-base-context-obs-val-rollout}
|
| 448 |
+
\scriptsize
|
| 449 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_base_context_obs_val_rollout_comparison/table}}
|
| 450 |
+
\end{table}
|
| 451 |
+
|
| 452 |
+
Table~\ref{tab:ctt-base-context-obs-val-rollout} tests whether the proxy
|
| 453 |
+
improvement from \texttt{base\_context\_obs} survives measured rollout. It does
|
| 454 |
+
improve support-side validation metrics over Table~\ref{tab:ctt-val-rollout}:
|
| 455 |
+
\outcomeptr{}@8 rises from 45.89\% to 50.24\%, proposal-oracle success rises
|
| 456 |
+
from 37.68\% to 40.58\%, and the success support gap falls from 29.47 to 27.54
|
| 457 |
+
points. The selector failure remains: selected success is 24.15\%, below the
|
| 458 |
+
27.54\% base success, and the success selector gap grows to 16.43 points. Thus
|
| 459 |
+
deterministic visual statistics help proposal support, but they do not solve
|
| 460 |
+
deployment-clean action selection.
|
| 461 |
+
|
| 462 |
+
\begin{table}[t]
|
| 463 |
+
\centering
|
| 464 |
+
\caption{Measured residual \ctt{} rollout on 48 test positive-support charts
|
| 465 |
+
across three train seeds, K=8. The generated proposal oracle crosses the
|
| 466 |
+
internal 50\% support target, but the selected action fails because the current
|
| 467 |
+
score/dominance rule chooses poor candidates.}
|
| 468 |
+
\label{tab:ctt-test-rollout}
|
| 469 |
+
\scriptsize
|
| 470 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_test_rollout_comparison/table}}
|
| 471 |
+
\end{table}
|
| 472 |
+
|
| 473 |
+
Table~\ref{tab:ctt-test-rollout} gives the current clean test gate. Across 144
|
| 474 |
+
measured rows, \outcomeptr{}@8 is 52.78\% with a 95\% bootstrap interval of
|
| 475 |
+
[44.44, 60.42], proposal-oracle success is 50.69\%, and hidden chart oracle
|
| 476 |
+
success is 72.92\%. This is the strongest evidence so far that learned
|
| 477 |
+
positive-tangent transport can improve proposal support. However, selected
|
| 478 |
+
success is 22.22\%, below the measured base success of 28.47\%, and the success
|
| 479 |
+
selector gap is 28.47 points. The immediate next method step is therefore not
|
| 480 |
+
another proxy generator claim; it is calibrated causal dominance and utility
|
| 481 |
+
selection that refuse to execute generated actions unless they confidently
|
| 482 |
+
dominate the base.
|
| 483 |
+
|
| 484 |
+
\begin{table}[t]
|
| 485 |
+
\centering
|
| 486 |
+
\caption{Measured test rollout for the \texttt{base\_context\_obs} visual-stat
|
| 487 |
+
chart token, across three train seeds, K=8. Support and score-only selection
|
| 488 |
+
improve relative to the base-action chart token, but selected success remains
|
| 489 |
+
below base.}
|
| 490 |
+
\label{tab:ctt-base-context-obs-test-rollout}
|
| 491 |
+
\scriptsize
|
| 492 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_base_context_obs_test_rollout_comparison/table}}
|
| 493 |
+
\end{table}
|
| 494 |
+
|
| 495 |
+
Table~\ref{tab:ctt-base-context-obs-test-rollout} shows the held-out effect of
|
| 496 |
+
the leakage-audited RGB-stat token. It raises \outcomeptr{}@8 from 52.78\% to
|
| 497 |
+
53.47\%, proposal-oracle success from 50.69\% to 51.39\%, and score-only
|
| 498 |
+
selected success from 22.22\% to 27.08\%. The selected action is still below
|
| 499 |
+
the measured base success of 29.17\%, so this remains support evidence plus a
|
| 500 |
+
selector diagnostic rather than a deployment claim.
|
| 501 |
+
|
| 502 |
+
\begin{table}[t]
|
| 503 |
+
\centering
|
| 504 |
+
\caption{Validation-calibrated dominance fallback evaluated on the measured
|
| 505 |
+
test rollout. The threshold and conformal residual quantile are fit on
|
| 506 |
+
validation rows only; test outcomes are used only for reporting. The fallback
|
| 507 |
+
reduces coverage but does not yet repair selector transfer.}
|
| 508 |
+
\label{tab:ctt-dominance}
|
| 509 |
+
\scriptsize
|
| 510 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_dominance_val_to_test/table}}
|
| 511 |
+
\end{table}
|
| 512 |
+
|
| 513 |
+
Table~\ref{tab:ctt-dominance} tests the decision rule requested by the method:
|
| 514 |
+
execute a generated tangent only when a calibrated lower confidence bound on
|
| 515 |
+
$F(a)-F(a_b)$ exceeds a threshold. On validation, the auto threshold improves
|
| 516 |
+
selected success from 24.15\% to 30.92\% at 39.61\% coverage. On test, however,
|
| 517 |
+
the same calibrated rule reaches only 25.00\% selected success at 39.58\%
|
| 518 |
+
coverage, still below the 28.47\% base success. A stricter fixed $\tau=0$
|
| 519 |
+
variant falls back 87.50\% of the time and reaches 27.78\%, nearly the base
|
| 520 |
+
rate but still not an improvement. This makes the next failure mode precise:
|
| 521 |
+
the proposal set contains useful actions, but the current utility-energy margin
|
| 522 |
+
does not transfer as a reliable dominance certificate.
|
| 523 |
+
|
| 524 |
+
\begin{table}[t]
|
| 525 |
+
\centering
|
| 526 |
+
\caption{Learned dominance fallback trained on validation measured rows and
|
| 527 |
+
evaluated on held-out test rows. Features are deployment-visible candidate
|
| 528 |
+
features: utility-energy scores, score margins to base, rank, and tangent
|
| 529 |
+
norms. This improves over the base test success but remains far below the
|
| 530 |
+
paper gate.}
|
| 531 |
+
\label{tab:ctt-learned-dominance}
|
| 532 |
+
\scriptsize
|
| 533 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_learned_dominance_val_to_test/table}}
|
| 534 |
+
\end{table}
|
| 535 |
+
|
| 536 |
+
Table~\ref{tab:ctt-learned-dominance} asks whether a small learned calibrator
|
| 537 |
+
can repair the selector without new rollouts. A ridge dominance model trained
|
| 538 |
+
only on validation measured rows reaches 30.56\% held-out test selected success
|
| 539 |
+
at 24.31\% coverage, improving over the 28.47\% base policy and the 22.22\%
|
| 540 |
+
score-only selector. This is a real selector improvement, but it is still far
|
| 541 |
+
from the 47--50\% target and leaves a 25.69-point success selector gap. The
|
| 542 |
+
evidence therefore narrows the bottleneck: transported proposals contain useful
|
| 543 |
+
actions, and lightweight dominance helps, but the final method needs a stronger
|
| 544 |
+
train-only utility-energy model and richer visual/object-centric chart tokens.
|
| 545 |
+
Additional validation-selected ridge variants that fit success, success-weighted
|
| 546 |
+
utility margin, or the transported 21D tangent code are logged as diagnostics;
|
| 547 |
+
their held-out test selected success ranges from 29.17\% to 29.86\%, so they do
|
| 548 |
+
not replace the best learned-dominance row. Deployment-visible context features
|
| 549 |
+
based on task id, instruction hashes, source task id, and same-task flags also
|
| 550 |
+
reach only 29.17\% held-out selected success. Full train-only utility-energy
|
| 551 |
+
checkpoints are negative across three seeds: when
|
| 552 |
+
\texttt{eval\_dominance\_selector.py} recomputes candidate scores from
|
| 553 |
+
\texttt{runs/utility\_energy\_full\_seed\{0,1,2\}}, held-out selected success is
|
| 554 |
+
27.08\%, 28.47\%, and 23.61\%, below the learned ridge selector.
|
| 555 |
+
|
| 556 |
+
\begin{table}[t]
|
| 557 |
+
\centering
|
| 558 |
+
\caption{Best validation-calibrated dominance diagnostic so far: learned
|
| 559 |
+
context dominance over the measured \texttt{base\_context\_obs} visual-stat
|
| 560 |
+
rollout rows. The calibrator is fit on validation measured rows only and
|
| 561 |
+
evaluated on held-out test rows.}
|
| 562 |
+
\label{tab:ctt-base-context-obs-learned-dominance}
|
| 563 |
+
\scriptsize
|
| 564 |
+
\resizebox{\linewidth}{!}{\input{../runs/ctt_base_context_obs_learned_dominance_context_val_to_test/table}}
|
| 565 |
+
\end{table}
|
| 566 |
+
|
| 567 |
+
Table~\ref{tab:ctt-base-context-obs-learned-dominance} combines the visual-stat
|
| 568 |
+
proposal set with validation-calibrated context dominance. It reaches 32.64\%
|
| 569 |
+
held-out selected success at 50.69\% coverage, improving over the RGB-stat
|
| 570 |
+
score-only selector, the measured base action, and the previous learned
|
| 571 |
+
dominance row. The gain is real but not sufficient: proposal-oracle success is
|
| 572 |
+
51.39\%, hidden chart oracle success is 72.92\%, and the success selector gap
|
| 573 |
+
remains 24.31 points. The remaining problem is still reliable deployment-clean
|
| 574 |
+
dominance, not merely generating more nearby tangents.
|
| 575 |
+
|
| 576 |
+
The feature-source audits turn this negative result into a concrete engineering
|
| 577 |
+
target. In the original \texttt{data/cil\_charts} indexes, scene ids and
|
| 578 |
+
instructions are present, but observation embeddings and raw observation
|
| 579 |
+
references are absent. The new \texttt{data/cil\_charts\_rgb\_refs} export adds
|
| 580 |
+
leakage-audited observation refs and deterministic RGB-stat embeddings, and
|
| 581 |
+
the three-seed \texttt{base\_context\_obs} proxy and measured rollout rows
|
| 582 |
+
improve support and learned selected success. Therefore the current \ctt{}
|
| 583 |
+
chart encoder has a useful visual-stat diagnostic path, but it is still missing
|
| 584 |
+
the learned visual-language or object-centric geometry needed to close
|
| 585 |
+
SupportGap and SelectorGap.
|
| 586 |
+
|
| 587 |
+
\section{Reproducibility Artifacts}
|
| 588 |
+
|
| 589 |
+
The current draft is backed by explicit artifacts:
|
| 590 |
+
\begin{itemize}
|
| 591 |
+
\item \texttt{cil/metrics.py} and \texttt{scripts/eval\_metrics.py} enforce
|
| 592 |
+
the measured/proxy metric split.
|
| 593 |
+
\item \texttt{scripts/export\_cil\_charts.py},
|
| 594 |
+
\texttt{scripts/build\_data\_accounting.py}, and
|
| 595 |
+
\texttt{scripts/audit\_cil\_charts.py} produce split indexes, accounting, and
|
| 596 |
+
leakage reports.
|
| 597 |
+
\item \texttt{cil/models/ctt.py}, \texttt{scripts/train\_ctt.py}, and
|
| 598 |
+
\texttt{scripts/eval\_ctt\_proxy.py} implement the first transport path.
|
| 599 |
+
\item \texttt{cil/chart\_features.py} centralizes deployment-visible chart
|
| 600 |
+
feature construction, and
|
| 601 |
+
\texttt{scripts/audit\_chart\_feature\_sources.py} audits whether chart
|
| 602 |
+
indexes expose observation embeddings or raw observation references.
|
| 603 |
+
\item \texttt{scripts/slurm/render\_six\_task\_chart\_observations.sbatch}
|
| 604 |
+
and \texttt{scripts/slurm/reexport\_rgb\_ref\_cil\_charts.sbatch} produce the
|
| 605 |
+
non-destructive RGB-reference chart export used for visual-stat diagnostics.
|
| 606 |
+
\item \texttt{scripts/export\_chart\_observation\_embeddings.py} creates the
|
| 607 |
+
deterministic 32D RGB-stat observation embeddings, and
|
| 608 |
+
\texttt{scripts/slurm/train\_ctt\_feature\_proxy.sbatch} runs feature-mode
|
| 609 |
+
CTT proxy sweeps such as \texttt{base\_context\_obs}.
|
| 610 |
+
\item \texttt{scripts/eval\_ctt\_generated\_rollout.py} and
|
| 611 |
+
\texttt{scripts/slurm/eval\_ctt\_generated\_rollout.sbatch} implement the
|
| 612 |
+
measured generated-candidate rollout path, including a self-source exclusion
|
| 613 |
+
flag for train-split calibration and metadata loading for deployment-visible
|
| 614 |
+
chart features such as \texttt{base\_context\_obs}.
|
| 615 |
+
\item \texttt{scripts/build\_ctt\_rollout\_comparison.py} aggregates
|
| 616 |
+
measured validation/test rollouts and reports selected success, proposal
|
| 617 |
+
oracle success, hidden chart oracle success, success support gap, and success
|
| 618 |
+
selector gap.
|
| 619 |
+
\item \texttt{scripts/eval\_dominance\_selector.py} calibrates a dominance
|
| 620 |
+
fallback rule on validation measured rows and evaluates it on held-out test
|
| 621 |
+
measured rows; it can use rollout row scores or recompute scores from a
|
| 622 |
+
train-only utility-energy checkpoint.
|
| 623 |
+
\item \texttt{scripts/eval\_learned\_dominance\_selector.py} trains a small
|
| 624 |
+
validation-calibrated dominance model over deployment-visible candidate
|
| 625 |
+
features and evaluates it on held-out measured test rows; it also logs
|
| 626 |
+
feature/target ablations, including context metadata and tangent-code
|
| 627 |
+
variants, for selector diagnostics.
|
| 628 |
+
\item \texttt{scripts/eval\_chart\_positive\_memory\_proxy.py} and
|
| 629 |
+
\texttt{scripts/build\_ctt\_proxy\_comparison.py} generate the local-atlas
|
| 630 |
+
baseline and validation proxy gate table.
|
| 631 |
+
\item \texttt{scripts/check\_tangent\_reconstruction.py} verifies that the
|
| 632 |
+
exported 21D tangent codes are deterministic summaries of \texttt{delta\_action}.
|
| 633 |
+
\item \texttt{scripts/train\_utility\_energy.py} and
|
| 634 |
+
\texttt{scripts/calibrate\_dominance.py} implement the utility/scoring and
|
| 635 |
+
dominance-calibration path.
|
| 636 |
+
\item \texttt{scripts/summarize\_ctt\_runs.py} generates
|
| 637 |
+
\texttt{runs/summary\_ctt.csv} and \texttt{runs/summary\_ctt.md}.
|
| 638 |
+
\item \texttt{paper/notes/theory\_ctt.md} and
|
| 639 |
+
\texttt{paper/sections/theory.tex} state the theory obligations.
|
| 640 |
+
\end{itemize}
|
| 641 |
+
|
| 642 |
+
\section{Limitations and Next Steps}
|
| 643 |
+
|
| 644 |
+
This draft is not an unqualified SOTA claim. The current \ctt{} evidence
|
| 645 |
+
includes validation and test measured generated-candidate rollouts, but the
|
| 646 |
+
selected action fails the internal paper gate even when the test proposal oracle
|
| 647 |
+
passes 50\%. The missing method component is calibrated dominance and a better
|
| 648 |
+
utility selector, not another proxy-only support plot. The first standalone
|
| 649 |
+
train-only utility-energy checkpoints and context-metadata ridge variants do
|
| 650 |
+
not solve this transfer problem, so the chart token must move beyond base-action
|
| 651 |
+
summaries and coarse task metadata toward exported visual-language and
|
| 652 |
+
object-centric geometry. The RGB-reference export now provides a leakage-audited
|
| 653 |
+
visual-stat token and improves measured support plus validation-calibrated
|
| 654 |
+
selected success, but this does not qualify as the needed learned object-centric
|
| 655 |
+
representation because the best held-out selected success is only 32.64\% and
|
| 656 |
+
the selector gap remains large. Related work experiments, external
|
| 657 |
+
benchmarks, real robot near-miss recovery, unsafe-contact measurement, and a
|
| 658 |
+
dominance rule that approaches the internal success gate remain to be completed
|
| 659 |
+
before submission.
|
| 660 |
+
|
| 661 |
+
The next experimental step is concrete: replace the current weak train-only
|
| 662 |
+
utility-energy selector with visual-language/object-centric chart features,
|
| 663 |
+
rerun held-out measured dominance selection, and add unsafe execution and
|
| 664 |
+
fallback-rate metrics. Proxy evidence may open the rollout gate; it cannot
|
| 665 |
+
replace rollout measurement.
|
| 666 |
+
|
| 667 |
+
\section{Conclusion}
|
| 668 |
+
|
| 669 |
+
Same-state counterfactual charts reveal a support gap that ordinary
|
| 670 |
+
demonstration learning and verifier-only candidate selection cannot see.
|
| 671 |
+
Counterfactual Action Atlas turns that observation into a method program: learn
|
| 672 |
+
local causal action geometry, generate positive do-action tangents on support,
|
| 673 |
+
select them only under calibrated dominance, keep the metric boundary between
|
| 674 |
+
outcome and proxy evidence explicit, and evaluate deployment-clean improvements
|
| 675 |
+
only after generated candidates are measured.
|
| 676 |
+
|
| 677 |
+
\bibliographystyle{plain}
|
| 678 |
+
\bibliography{references}
|
| 679 |
+
|
| 680 |
+
\end{document}
|