Commit Graph
3 Commits
Author SHA1 Message Date
wassnameandClaude b4481f481a Pair the steer CI against base, save the answer primitive, add a manipulation check
The absolute WVS coordinate carries +-0.07 of item-set variance on a 12-item
battery, so the steer is now reported as a paired difference on the same items.
Per-dose psamples are saved, so every interval is post-processing.

The manipulation check exists because a flat map cannot be read on its own: a
vector that does nothing and a vector that culture does not respond to look the
same. Qwen3-0.6B: per-item changes are large (sd 0.18-0.38) but their signs are
coin flips (7/12 up), and random behaves the same.

Co-Authored-By: Claude <288921227+claudypoo@users.noreply.github.com>
2026-09-18 19:53:40 +08:00
wassnameandClaude 9109dbfe19 Open the think block for non-thinking-default templates, probe answer-slot readability
Qwen3.5 templates close an empty <think></think> by default, so the reader appended a
second <think> and the model saw </think>...<think>. enable_thinking=True fixes the
sequence; Qwen3 is unchanged (pmass 1.000 before and after).

The probe exists because Qwen3.5-0.8B reads the WVS battery at pmass 0.61-0.84, not
0.999, and a mushy readout would waste the big run.

Co-Authored-By: Claude <288921227+claudypoo@users.noreply.github.com>
2026-09-18 19:31:58 +08:00
wassnameandClaude 06389e8844 Share the WVS IW readout, add the honesty steering sweep and its Modal runner
- src/moralmaps/wvs.py: the item -> Instrument -> (X, Y) readout moved out of
  scripts/wvs_map.py so the base map and the steered run cannot drift apart
- scripts/wvs_steer_sweep.py: honesty persona axis, iso-KL calibrated doses,
  per-item positions saved so a leave-one-out holdout is post-processing
- scripts/run_modal_wvs.py: one container per (method, seed)

Co-Authored-By: Claude <288921227+claudypoo@users.noreply.github.com>
2026-09-18 19:01:26 +08:00