Two readouts added to the steering demo, both fresh-eyes signed off:
- rubric_score + coherence_sweep + plot_sweep: the model thinks then answers a
forced {"ans": N} slot; we read the logprob-weighted expected digit and its
pmass coherence. coherence_sweep walks C outward from 0 both ways, stopping a
side when the answer slot goes incoherent (pmass<floor), averaging n_samples
seeded traces (BMA) so the dose-response isn't single-sample noise. plot_sweep
colours points by pmass with the ramp anchored to [floor-0.15,1] (0-1 washed
every point one colour) and a red cutoff line. show_steer gains a `rubric` arg.
- lens_slice_ranks + plot_lens_slice: render jlens's own compute_slice output
(the reference's auto token selection over the full layer grid + full-vocab
ranks + J=I model row) as a table + rank-vs-depth plot, rather than reimplement
it. Rank, not raw lens-logit, is comparable across layers. CJK-first font so
multilingual tokens (e.g. the auto-surfaced 巴黎) render in the legend.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
- the pre-norm per-layer norm line is a fit-health trace, not demo output -> logger.debug
- README: short 'Persona j-thoughts' section showing the contrast-first extraction
(clean positive/negative tokens), kept in the experimental/untested-specificity frame
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
Notebook and hello-world now load the n1000 Hub lens (no local fit) and steer on
jac.steer_band(model). The clean pre-fitted direction has a much steeper coherence
knee than the old coarse fit: C~0.5 shifts tone while staying fluent, C~1 degenerates.
UAT: nbconvert/nbclient executes end-to-end; C=0.5 lens shows Happy climbing, C=1.5
over-drives to joyjoy, masked lens resolves Eiffel Tower city->Paris.
Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
- both notebook fit cells pass checkpoint_path so a multi-hour 4B fit survives an OOM
- README hello-world uses show_steer + qwen3.5-4b.jac (was raw greedy + 0.6b cache),
coefficient note made model-generic
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>