Run 551 was OOM-killed at n_done=36: the user's VS Code Jupyter kernel
(jsteer venv, PID 3214401) co-loaded ~1.5GB VRAM + 1.9GB RAM while the fit
sat at the 22.4/24.6GB ceiling. Clean SIGKILL with no CUDA traceback = host
OOM killer, not a CUDA OOM. dim_batch=8 halves the fit's peak footprint;
it changes only the backward schedule, not the accumulated Jacobian, so U4
exactness is preserved. Resumes from checkpoint (n_done=36), lossless.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
U2 verdict: hello-world PASS verbatim zero-edit; fixes are the PARTIAL FAIL
(jlens admission was buried in a pyproject comment) and the notebook SHOULD
promising '-C more negative' when persona_vector at -2 actually degenerates.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
Hello-world block extracted and run verbatim from repo root (passes).
Evidence section: 3/5 moral foundations vs norm-matched random on ONE
model/eval; persona variants marked experimental (failed specificity).
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
persona_vector and mean_diff baseline both move tone at C=2;
persona_topk is an honest null on this setup (both personas evoke the
same generic sentence starters, contrast=0) and the notebook says so.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
+C collapses to "joy", -C to negative tone: sign correct. Coherence
breaks at |C|=8 uncalibrated, as expected.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
jlens git source is not fetchable; both deps are locally co-developed.
tabulate is imported by steering_lite.calibrate at module load but only
declared in its test extras.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
Ported from the verified j-steer-dev experiment (word pullback beat random
on 3/5 moral foundations, Qwen3-4B n=3). jacobian.py wraps jlens fit/save/
load and derives steering vectors by CPU matvec against the cached J;
vjp.py is the one-backward parity path; applies.py registers the methods
and delivery modes into steering-lite.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>