5 Commits
Author SHA1 Message Date
wassnameandClaudypoo ed7fa92996 nbs: steering_demo.py -- shared marimo notebook, all 7 methods + comparison table
One generically-named notebook (replaces persona-named ones): loads model+lens once,
builds all 7 steering vectors (word/persona_vector/topk/soft/pinv/meandiff/random-null)
with the j-thoughts lens readout, then loads precomputed results and shows a per-method
generation dropdown + comparison table.

Heavy 7-method sweep (~18 min) runs headless via scripts/scratch/run_steering_demo.py ->
artifacts/steering_demo_results.json, because marimos single-threaded kernel makes a long
in-cell compute un-monitorable (any status poll interrupts it). Notebook loads the JSON so
it renders instantly. Result (dilemma, P(YES=lie)): flat ~0.03-0.14 at every methods
coherent edge vs 0.107 baseline; persona_pinv widest window (C*+ = +1.19). Includes the
GPT-5.6-terra comment review (docs/reviews/).

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-12 11:39:08 +08:00
wassname 474f74ac33 wip 2026-07-10 14:36:55 +08:00
wassnameandClaudypoo a2bf5c31a0 notebook: word steering hello-world (executed on real 0.6B cache)
C sweep shows coherence/strength tradeoff (C=1 fluent+happy, C=8 spam),
greedy+sampled at C=1, negative steering, lens_topk layer progression
(city slot -> candidates -> Paris), Vector save/load. Adds nbconvert to
notebooks extra; ignores notebook-produced safetensors.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-10 13:10:15 +08:00
wassnameandClaudypoo aa44834cb3 uv: switch to local editable path deps; add tabulate
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>
2026-07-10 12:48:47 +08:00
wassnameandClaudypoo 1f458fd53e core algo: Jacobian fit/cache/pullback (jlens) + word/persona vectors (steering-lite runtime)
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>
2026-07-10 12:08:07 +08:00