# Report Comprehensive write-up of the LeWM × PushT control experiment: the horizon-reset procrastination pathology, the arrival-and-hold fix, and the ablation study. ## Contents | path | what | |---|---| | `report.tex` | the document — abstract, full formula inventory, ablations, statistics | | `figures/` | eight figures, each as `.pdf` (for LaTeX) and `.png` (for viewing) | | `tables/` | five LaTeX tables, `\input` by the document | | `make_figures.py` | regenerates `figures/` from the raw result files | | `make_tables.py` | regenerates `tables/`; also recomputes and persists the paired statistics | | `recover_profiles.py` | recovers the original controller's per-offset validation profile (its checkpoint predates that logging) | | `check_tex.py` | static check of the `.tex` — dangling refs, missing inputs/figures, brace and math balance | | `build.sh` | regenerate everything, then compile | ## Building ```bash bash report/build.sh ``` Or step by step: ```bash python report/make_figures.py # -> report/figures/ python report/make_tables.py # -> report/tables/ latexmk -pdf report/report.tex # -> report/report.pdf ``` **No LaTeX engine is installed on the machine this was written on**, so the PDF has not been compiled here — `report.tex` passes `check_tex.py` but has not been through a real typesetter. To build it, install one of: - Windows — `winget install MiKTeX.MiKTeX` - macOS — `brew install --cask mactex-no-gui` - Debian/Ubuntu — `sudo apt install texlive-latex-recommended texlive-fonts-recommended` - Anywhere — `cargo install tectonic` (single binary, fetches packages on demand) Or upload this directory to Overleaf; it is self-contained and uses only stock packages (`amsmath`, `booktabs`, `graphicx`, `caption`, `subcaption`, `xcolor`, `microtype`, `hyperref`, `geometry`). ## Provenance Every number in the document is generated, not transcribed. The scripts read only: - `data/runs/eval/results.jsonl` — closed-loop evaluations - `data/runs/diagnostics/` — contraction fits, refinement traces, support statistics - `data/runs/*/controller.pt` — checkpoints, for hyperparameters and validation profiles so the prose cannot silently drift from the results. The paired statistics are recomputed by `make_tables.py` using the same functions as `scripts/paired_stats.py` and written back to `data/runs/eval/paired_stats.jsonl`. One figure input is not a result file: `fig_training_signal` parses raw training logs, two of which live under the job temp directory. If those are gone, that figure will render with fewer series; everything else is unaffected.