Leplanner / code /report /README.md
nottygian's picture
Push code package
872cf4d verified
|
Raw History Blame Contribute Delete
2.7 kB
# 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.