8 Commits
Author SHA1 Message Date
wassnameandClaudypoo 9149e8c1d1 demo: quantitative readouts -- rubric coherence-sweep + reference lens-rank
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>
2026-07-11 11:03:13 +08:00
wassnameandClaudypoo a091cc7527 persona_topk: demote per-layer |J^T w| trace to debug; add short README demo
- 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>
2026-07-10 20:37:05 +08:00
wassnameandClaudypoo d4b74d329d word_steering + README: load pre-fitted lens, recalibrate C to the steep knee
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>
2026-07-10 19:20:07 +08:00
wassnameandClaudypoo 69d7d2f1d9 demo: apply gpt-5.5 review -- float-C fix, trim comments, soften overclaims
External review (docs/reviews/code_demo.md) triaged scout-mindset:
- FIX float-C crash: C={C:+g} not {:+d} (steering coeffs are floats)
- ACCEPT trim: shorter demo.py/config/fit docstrings (user also flagged verbosity)
- ACCEPT soften "fit J where we steer" -> "closer to the chat distribution" (most
  fitted positions are user/doc tokens, not assistant <think>; run-524 went further)
- ACCEPT soften "what the model thinks" -> "lens readout (linear approx)"
- ADD seed to show_steer so per-C blocks are comparable under sampling
- REJECT "</think> stripped by skip_special_tokens" -- verified false: decode keeps
  think tags (they're added, not registered-special tokens), split_think works

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-10 15:02:42 +08:00
wassnameandClaudypoo 17f5310660 demo: resumable notebook fits (checkpoint_path) + README to chat-template show_steer
- 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>
2026-07-10 14:52:51 +08:00
wassname 474f74ac33 wip 2026-07-10 14:36:55 +08:00
wassnameandClaudypoo 6f59986139 apply fresh-eyes UAT: jlens availability stated in README install, persona -C degeneration narrated honestly
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>
2026-07-10 13:19:03 +08:00
wassnameandClaudypoo 0e7126ba6e README: pitch, install, verbatim-tested hello-world, API table, evidence
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>
2026-07-10 13:10:15 +08:00