Commit Graph
212 Commits
Author SHA1 Message Date
wassnameandClaudypoo b2b8b00b5e Add macro zone grouping (6 groups) as map default
Nine fine IW zones over-fragment low-dimensional maps: English-speaking + the
European religions (Protestant/Catholic/Baltic) don't separate, and 'Confucian'
reads oddly for Japan. IW_MACRO collapses to 6 principled groups (West, Orthodox,
East Asia, Latin America, African-Islamic, South Asia); zones_for(macro=True) is
the default, macro=False keeps the principled 9. mfq2/big5 read much cleaner; 16pf
still overlaps (that instrument doesn't separate cultures).

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 20:40:28 +08:00
wassnameandClaudypoo f39a0763ab Add WVS/Inglehart-Welzel culture map placing LLMs among societies
wvs_map.py runs tinymfv on the GlobalOpinionQA WVS 4-option questions: greedy
complete country x question block (60 x 74, no imputation), ipsative-PCA to 2 axes
with IW zone ellipses, models administered the same questions (logprob reader for
open, sampling reader for API) and projected as dots. Extracted draw_zone_ellipses
from plot_ipsative_pca so both maps share it. Human map reproduces the Economist
layout: African-Islamic/South-Asia (survival) left, English-Speaking/Protestant
Europe (self-expression) right, Confucian/Latin America/Orthodox separating.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 20:37:02 +08:00
wassnameandClaudypoo 2af00b374c Extract IW zone taxonomy to tinymfv.zones, extend to WVS 90 countries
Second consumer (the WVS map) needs the same curated zone data, so move it out of
the showcase script into the package rather than duplicate it (avoids drift in
research data). Extended IW_ZONE to cover all 90 WVS countries + SAR/name-variant
aliases. Showcase script now imports zones_for from tinymfv.zones.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 20:26:44 +08:00
wassnameandClaudypoo b2532acd90 Switch zone blobs to country-mean covariance ellipses, fit PCA on means
Per feedback the individual-respondent contours filled the frame (within >>
between variance). Now each IW zone is a ~1.6-sigma covariance ellipse over its
member country-mean dots, with an eigenvalue floor so 1-2 country zones get a
visible blob instead of a dot/line (fixes big5 SG/PK orphans). PCA now fits on the
country means M so the axes are between-country and zones separate. mfq2/big5/mfv
read cleanly; humor still overlaps (real negative result: humor country profiles
don't cluster the IW way).

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 20:22:23 +08:00
wassnameandClaudypoo 40d08f8d7a Establish P4 WVS map data foundation (GlobalOpinionQA)
Probe + artifact: the WVS subset of Anthropic/llm_global_opinions is 353 questions
over 90 countries (212 questions with >=40 countries), matching tinymfv's MC +
human-anchor shape and dense enough for an Economist-scale map. Documents the
selections parse recipe and the open axis-definition fork (literal IW 10-question
factor model vs shared-question ipsative PCA) before model-run compute.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 19:43:24 +08:00
wassnameandClaudypoo f5efbd24bd Add sampling readout for logprob-less API models (OpenRouter)
read_api.read_items_sampled samples N chat completions at temperature and uses the
empirical answer frequency as the per-item categorical p, emitting the same row
shape the logprob reader does -- so E/profile/entropy flow through the identical
per_item_categorical + reducers and a frontier model without logprobs drops onto
the same map. pmass_allowed becomes the parse rate (sampling coherence gate); C/LO
are omitted by design (log of a frequency has -inf zeros). This is the Economist's
'average of ten responses' method.

UAT (docs/reviews/p3_api_sampling_uat.md): E_mc == E_logprob to <=0.01 (unbiased),
llama-3.1-8b sampled E lands on the same [1,5] scale, parse-rate gate flags
off-format draws.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 19:39:18 +08:00
wassnameandClaudypoo 2c2dd9b9bf Add MFQ-2 per-zone p90 respondent ellipses to ipsative map
respondent_profiles now returns countries alongside profiles; plot_ipsative_pca
gains respondent_zones -> a p90 Gaussian ellipse per IW zone of the projected
Atari respondent cloud (edge-only, no scipy). mfq2 uses these real-respondent
ellipses; the other instruments keep country-mean hulls. Journal notes the
finding: individual profiles overlap across cultures (within >> between variance),
so only the country-mean hull reproduces the Economist's clean zone blobs.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 19:25:52 +08:00
wassnameandClaudypoo 0e7178dfbd Add Inglehart-Welzel zone hulls + outlier labels to ipsative maps
Echoes the Economist WVS 'Godless hippies' chart: shaded convex-hull blobs per
IW cultural zone (inline 2D hull, no scipy dep so the maps extra stays
matplotlib-only) and bold-first labels for named outliers. Caller owns the zone
taxonomy + name/ISO2 normalizer, fails loud on unmapped countries; the corrupt
'(nu' big5 row is explicitly excluded with a warning.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-04 19:16:41 +08:00
wassname 3ae1fd48c9 Record CorDA UAT result 2026-07-02 19:09:15 +08:00
wassname 0a12bc23aa Track CorDA UAT retry 2026-07-02 06:07:30 +08:00
wassname a5f17956db Simplify README showcase framing 2026-07-01 18:45:53 +08:00
wassname d2b07121e3 Clarify README steering showcase wording 2026-07-01 18:27:08 +08:00
wassname 152ffa87e1 Track CorDA steering branch UAT 2026-07-01 18:17:43 +08:00
wassname f7d8e697d9 Rewrite README for pure Authority showcase 2026-07-01 07:50:47 +08:00
wassname b8f812c0ac Regenerate pure Authority showcase plots 2026-07-01 07:30:49 +08:00
wassname 0b3e28c9eb Render authority method comparison plots 2026-07-01 06:25:49 +08:00
wassname 061ce8a4f6 Export MFQ2 sample logprobs for N bootstrap 2026-07-01 06:24:13 +08:00
wassname 8f7067b525 Promote PCA authority MFV and MFQ2 plots 2026-07-01 06:20:55 +08:00
wassname d0278be144 Render PCA authority candidate maps 2026-07-01 06:10:58 +08:00
wassname 981d1c4ed9 Correct authority UAT to MFV path evidence 2026-07-01 06:04:16 +08:00
wassname aec74319f6 Record mundane authority verifier results 2026-07-01 05:59:15 +08:00
wassname 0fdc101f5c Record authority UAT queue blocker 2026-07-01 00:58:02 +08:00
wassname 0dce35c05f Record mundane authority selection UAT 2026-07-01 00:31:01 +08:00
wassname a7b49dd723 Record linear act authority verifier failure 2026-06-30 23:40:57 +08:00
wassname a8933a98b4 Record directional ablation authority verifier failure 2026-06-30 23:10:53 +08:00
wassname 9eb32d0569 Record sspace authority verifier failure 2026-06-30 22:38:26 +08:00
wassname 9dd7a9a24a Record pca authority verifier failure 2026-06-30 21:35:22 +08:00
wassname 23829d21bb Record mean_diff authority verifier failure 2026-06-30 21:03:58 +08:00
wassname df320d670b Track pure authority method queue 2026-06-30 20:32:46 +08:00
wassname 2d8a736935 Record pure authority UAT gates 2026-06-30 19:52:03 +08:00
wassname 8241551ec1 Replan pure authority steering workflow 2026-06-30 19:02:34 +08:00
wassname e9572ae00a Fix authority pipeline to hold persona pair fixed 2026-06-30 18:59:39 +08:00
wassname 713b3003fd Track authority method comparison queue 2026-06-30 18:43:50 +08:00
wassname 754da269ba Record authority steer verification verdict 2026-06-30 18:15:48 +08:00
wassname bbe59be7e3 Record MFQ2 path failure 2026-06-30 17:36:06 +08:00
wassname 81fda62ecf Track unbuffered authority UAT run 2026-06-30 17:22:24 +08:00
wassname 6788e84738 Track authority fixed-C UAT run 2026-06-30 17:11:58 +08:00
wassname 4862e6f24f Record authority score60 export 2026-06-30 16:29:34 +08:00
wassname d32272790d Track authority stage-b validation 2026-06-30 15:59:38 +08:00
wassname 0c43f1bc62 Tick authority validation subproofs 2026-06-30 15:33:32 +08:00
wassname b1c09966a2 Record DeepInfra Qwen smoke 2026-06-30 15:09:27 +08:00
wassname 8dcaf30705 Record authority validator routing 2026-06-30 15:02:17 +08:00
wassname b74c5ec9d3 Track authority validation workflow 2026-06-30 14:51:39 +08:00
wassname ec0bc32aed Track authority-only steer pipeline 2026-06-30 14:14:07 +08:00
wassname 9fc3852a8a Require explicit showcase steering anchor 2026-06-30 14:08:16 +08:00
wassname fe3b0aff2c Gate showcase paths on contrast and margin 2026-06-30 14:01:59 +08:00
wassname 0d7654506c Add showcase effect table summarizer 2026-06-30 13:50:39 +08:00
wassname 6fcdfea30f Support sampled survey reads and MFV c-grid plots 2026-06-30 13:28:20 +08:00
wassname d8941f47ac Rewrite README around profile plots 2026-06-30 12:38:20 +08:00
wassname 5a39b7ba9c Simplify showcase plot encodings 2026-06-29 21:32:05 +08:00