Explore the chart
Five oblique factors were extracted from the 134×134 trait correlation matrix. The chart is an orthonormal basis of their span, so an adapter's position is a set of inner products, not a set of loadings. Both are here, and they are different objects.
The 141 adapters
Pick any pair of factors for the axes. Colour follows the factor a trait loads most strongly on; switch it to the Big Five keying of the trait word to see how far the two agree. Hover or focus a mark for its five loadings; click to open the trait.
Coordinates from qwen35/fa_chart.py
(FAChart.trait_coords) over qwen35/results/gram_sweep.npz and
qwen35/phase10_runs/steer_spec2_7a.json. The four alignment adapters and three hole words are
not part of the 134 and were not factored: their positions are computed from their cross-Gram
with the zoo (qwen35/results/cross_gram_full_root_x_pc-qwen35-adapters_data_alignment_common.npz
and the hole equivalent) at build time, and they have no loadings.
What defines each factor
From
qwen35/results/fa_qwen35.json#solutions.centred_k5.loadings.oblimin and
qwen35/results/fa_qwen35.json#solutions.centred_k5.congruence_oblimin.
How far the factors match the Big Five
Tucker's congruence coefficient between each recovered factor and a target vector that is +1 for a positively keyed marker of a Goldberg factor, −1 for a negatively keyed one and 0 otherwise. The 34 Lexicon words score 0 in every target, so congruence is judged on the 100 Goldberg markers only. The last column is an evaluative "good trait / bad trait" target, which any clean Goldberg factor already scores 0.447 on by construction.
| Recovered factor | E | A | C | ES | I | Eval |
|---|---|---|---|---|---|---|
| Warmth | -0.046 | +0.655 | -0.106 | +0.152 | +0.003 | +0.295 |
| Competence | -0.052 | -0.058 | +0.574 | +0.027 | +0.214 | +0.315 |
| Fearful withdrawal | +0.338 | -0.093 | +0.018 | +0.405 | -0.024 | +0.288 |
| Arousal | +0.539 | +0.076 | -0.169 | -0.348 | -0.034 | +0.028 |
| Imagination | +0.089 | +0.035 | -0.140 | -0.090 | +0.682 | +0.258 |
Read the second-best column too. Fearful withdrawal's best target is Emotional Stability at +0.405, but it loads Extraversion at +0.338 alongside it, and Arousal loads Emotional Stability at -0.348 alongside Extraversion at +0.539. Those two are best read as a rotation of the same plane rather than as clean recoveries of two Goldberg factors. Nothing here clears 0.85. The project's own reading.
Ten adapters trained on the Big Five itself
Persona Cartography trains one adapter per Big Five factor per pole from its own constitutions. Ten of those were retrained here on this zoo's recipe and its shared LoRA-A, which puts them in the same coordinate system as the 134 and lets them be placed on the same chart. For each, the factor of this chart it lies closest to, and its nearest trait word.
| Adapter | Closest recovered factor | cosine | Nearest trait word | angle |
|---|---|---|---|---|
| Openness, high | Imagination | +0.496 | creative | 70.0° |
| Openness, low | Imagination | -0.549 | simple | 68.7° |
| Conscientiousness, high | Competence | +0.469 | neat | 63.2° |
| Conscientiousness, low | Competence | -0.593 | casual | 59.1° |
| Extraversion, high | Arousal | +0.613 | extraverted | 55.1° |
| Extraversion, low | Arousal | -0.623 | unexcitable | 61.5° |
| Agreeableness, high | Warmth | +0.630 | agreeable | 59.6° |
| Agreeableness, low | Warmth | -0.537 | unkind | 68.2° |
| Neuroticism, high | Fearful withdrawal | -0.406 | fearful | 70.1° |
| Neuroticism, low | Arousal | -0.440 | imperturbable | 59.6° |
These are cosines in the full weight space, not chart coordinates: a value near 0.5 is a strong alignment for two independently trained adapters, and the nearest trait word is tens of degrees away in every case. The shared LoRA-A drifted 1.46 per cent of its norm over this arm, which is the same order as the zoo's own drift and is what makes the comparison legitimate.
Sources for this section
qwen35/analysis/bigfive_adapters_geometry.json#traits, _metaqwen35/traits_bigfive.json
The elbow plots
Two different matrices, drawn side by side and never on one axis. The left panel is the eigenvalue spectrum of the centred trait correlation matrix — the principal-component question. The right panel replaces the diagonal with communality estimates, which is the factor-analytic question: principal axis factoring partitions common variance rather than total variance, so its eigenvalues are smaller and its elbow is not the PCA elbow. Dashed grey lines are the 95th percentile of eigenvalues from random data with the same number of variables, at two sample sizes (Horn's parallel analysis, 500 replicates). Components above the dashed line count as structure.
Stage one falls from 16.6 to 6.5 within three components and meets the N = 1528 null around component 9. Stage two never gets far from its null: it starts at 4.1 and is within a factor of two of the null from the first component. That difference is the elbow argument, and it is why the factor analysis of stage one is the part of this work worth trusting most.
There is no true sample size here. These are 134 weight updates, not 134 questionnaire respondents; the reference figure N = 1528 is an effective dimensionality carried over from an earlier sweep, and there are no reseed controls in this sweep to re-estimate it. Parallel analysis at that figure retains 9 factors for stage one and 7 for stage two. Five is a choice made so the solution can be compared with the Big Five.
Neighbourhoods
The nearest and farthest adapters to a chosen trait by cosine, in the exact Gram of each of the three adapter sets: the stage-one DPO adapters, the stage-two introspection adapters, and the deployed persona merge of the two. The stage-two column is where bipolarity goes missing: opposites stop being opposite.
Cosines computed at build time from
qwen35/results/gram_sweep.npz, qwen35/results/gram_stage2.npz and
qwen35/results/gram_personas.npz as Gij / √(GiiGjj).
Sources for this section
qwen35/fa_chart.pyqwen35/results/fa_qwen35.json#solutions.centred_k5, n_factors.parallel_analysis_centred, targetsqwen35/results/fa_qwen35_stage2.json#n_factors.parallel_analysis_centredqwen35/results/gram_sweep.npzqwen35/results/gram_stage2.npzqwen35/results/gram_personas.npzqwen35/results/cross_gram_full_root_x_pc-qwen35-adapters_data_alignment_common.npzqwen35/results/cross_gram_full_root_x_pc-qwen35-adapters_data_hole_common.npz- The elbow figure follows the wiki's explanation and adapts
wiki/tools/gen_scree_svg.py.