File size: 2,699 Bytes
872cf4d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | # 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.
|