Code and data map

Which script produces which analysis file, which post figure and companion page read it, and which wiki pages cite it, built on 2026-09-16 from the wiki's own sources frontmatter, the figure script and the companion builder; with the state of the Hugging Face releases and the files that have no producing script.

currentverified 2026-09-16overviewcodedataprovenance

Code and data map

How to read this page: a result on this wiki is a number in a file under qwen35/analysis/ or qwen35/results/. Those files are written by scripts under qwen35/, most of them named analyse_*.py, from raw outputs of Modal jobs (*_on_modal.py, logs under qwen35/phase10_runs/). The post's figures (qwen35/figures/post/make_post_figures.py) and the companion site (qwen35/companion/build_companion.py, checked by check_numbers.py) read the same files. The tables were generated on 2026-09-16 by scanning every sources: entry in the wiki, the figure script and the companion builder, then grepping qwen35/**/*.py for each file's name. "Producing script (best match)" means the script under qwen35/ that names the file and contains a write call; where several do, the first two are listed. Paths are relative to qwen35/.

The pipeline in one paragraph

train_qwen35.py trains one adapter per trait on Modal from data/<slug>.jsonl (pairs from gen_pairs.py, conditioned on constitutions.json from constitutions.py); oct_stage2.py runs the introspection stage; fix_persona_merge.py builds the exact personas. build_gram.py computes the exact 134 x 134 Gram into results/gram_sweep.npz (stage two: results/gram_stage2.npz; cross-arm Grams: cross_gram_full_on_modal.py into results/cross_gram_full_*.npz). analyse_fa_qwen35.py factors it into results/fa_qwen35.json; fa_chart.py turns the oblimin solution into the chart coordinates in analysis/viz_fa.json. Every steering, judging and scoring script then reads the chart or the Gram and writes its own analysis/*.json.

Where the artefacts are

Table 1. The files behind the post draft

These are the files the 2026-09-15 draft, its figures and Claims and evidence rest on. Figure stems are the fig_* functions of make_post_figures.py, each written as <stem>_light.png, <stem>_dark.png and SVG.

file producing script (best match) post figure companion wiki pages citing it
analysis/viz_fa.json qwen35/analyse_goldberg_only.py, qwen35/analyse_selfid.py (+2) facets_own yes Best axis pair per Goldberg group, Inventory of built HTML pages, Factor analysis of the adapter Gram (+3)
analysis/best_axis_pairs.json analyse_best_axis_pairs.py facets_best - Best axis pair per Goldberg group, Post draft (short rewrite, 2026-09-15), Start here for collaborators
results/fa_qwen35.json qwen35/analyse_fa_actgram.py, qwen35/analyse_fa_fisher.py (+15) scree_congruence yes Inventory of built HTML pages, Claims and evidence, Do the recovered factors map onto the Big Five? (+3)
analysis/scree_null_matched.json none found scree_congruence yes Inventory of built HTML pages, Factor analysis of the null arms, What has been done to the PCs but not to the factors (+3)
analysis/fa_nulls.json qwen35/analyse_fa_nulls.py, qwen35/analyse_goldberg_only.py - - Claims and evidence, Factor analysis of the adapter Gram, Factor analysis of the null arms (+3)
analysis/fa_fisher_metric.json qwen35/analyse_fa_fisher.py - - Claims and evidence, Factor analysis of the adapter Gram, The factor analysis in the model's own metric (+2)
analysis/goldberg_only.json qwen35/analyse_goldberg_only.py, qwen35/analyse_lexicon_only.py - - Claims and evidence, Factor analysis of the null arms, Goldberg-only factoring and the 34 as a held-out set (+3)
analysis/fa_text_contrast.json analyse_fa_text_contrast.py - - Claims and evidence, Start here for collaborators, Factor analysis of the training-contrast embeddings
analysis/act_gram.json qwen35/analyse_act_gram.py, qwen35/analyse_act_gram_stage2.py seed_metrics - The activation-weighted Gram, and what the seed floor looks like in it, The stage boundary in the activation-weighted metric, Inventory of built HTML pages (+3)
analysis/act_gram_stage2.json qwen35/analyse_act_gram_stage2.py - - The stage boundary in the activation-weighted metric, Claims and evidence, Source contradictions (+1)
analysis/column_space.json qwen35/analyse_column_space.py, qwen35/analyse_column_space_sorh.py (+3) seed_metrics - The activation-weighted Gram, and what the seed floor looks like in it, Inventory of built HTML pages, Claims and evidence (+3)
analysis/rank_sweep.json qwen35/analyse_rank_sweep.py, qwen35/train_rank_sweep.py rank_sweep - Inventory of built HTML pages, Claims and evidence, Post draft (short rewrite, 2026-09-15) (+2)
analysis/fisher_norms.json qwen35/analyse_fisher.py, qwen35/analyse_fisher_gram.py (+6) fisher yes Steering the unnamed direction on the factor chart, Inventory of built HTML pages, Claims and evidence (+3)
analysis/persona_sliders.json qwen35/analyse_persona_sliders.py - - Constitution-as-prompt persona vectors vs weight geometry, Steering the unnamed direction on the factor chart, Claims and evidence (+3)
analysis/stage2_structure.json qwen35/analyse_act_gram_stage2.py, qwen35/analyse_actspace_stage2.py (+7) stage_two yes The stage boundary in the activation-weighted metric, Inventory of built HTML pages, Claims and evidence (+3)
analysis/stage2_neutral_control.json qwen35/analyse_stage2_frame.py, qwen35/analyse_stage2_neutral.py (+2) - - Claims and evidence, Paper reading, 2026-09-09 - SliderSpace and Gradient Atoms, Stage two, explored (+1)
analysis/stage2_exploration.json qwen35/build_stage2_exploration_index.py - yes -
analysis/s2mean_steer_stats.json qwen35/analyse_s2mean_steer.py stage_two yes Inventory of built HTML pages, What the stage-two shared direction does, Start here for collaborators
analysis/fulloct_geometry.json qwen35/analyse_fulloct.py, qwen35/build_s2register_spec.py - yes Claims and evidence, Full OCT persona replication, Start here for collaborators
analysis/selfid.json qwen35/analyse_selfid.py selfid - Claims and evidence, Post draft (short rewrite, 2026-09-15), Self-identification probe (+1)
results/selfid_generations.json qwen35/analyse_selfid.py, qwen35/selfid_on_modal.py selfid - Post draft (short rewrite, 2026-09-15), Self-identification probe, Start here for collaborators
analysis/matched_dose_steering.json qwen35/analyse_matched_dose.py dose - Inventory of built HTML pages, Claims and evidence, FA_Arousal (Arousal / activation) (+3)
analysis/sphere_page_fa.json qwen35/analyse_fisher.py sphere yes Inventory of built HTML pages, Claims and evidence, Fisher norms of the steering directions (+3)
analysis/sphere_isokl.json qwen35/analyse_sphere_isokl.py - - Fisher norms of the steering directions, Suppression versus amplification at matched Fisher dose, Post draft (short rewrite, 2026-09-15) (+3)
analysis/spider.json qwen35/build_s2register_spec.py, qwen35/build_spider_data.py (+1) dials yes Big Five factor adapters (Persona Cartography's own ten dials), Inventory of built HTML pages, Claims and evidence (+3)
analysis/additivity.json qwen35/analyse_additivity.py - yes Additivity of the Big Five steering axes, Claims and evidence, Paper reading, 2026-09-09 - SliderSpace and Gradient Atoms (+1)
analysis/inspect_personality.json qwen35/analyse_inspect_personality.py - yes Inspect personality evaluations (BFI and TRAIT), Post draft (short rewrite, 2026-09-15), Start here for collaborators
analysis/data_forecast.json qwen35/analyse_data_forecast.py forecast - Inventory of built HTML pages, Claims and evidence, Forecasting trained behaviour from the data's first-order score (+3)
analysis/nxn_summary.json qwen35/analyse_nxn.py - yes A short post plus a whole website, The external review of the blog page, The N x N data-to-adapter scoring test (+3)
analysis/dolci_audit.json qwen35/analyse_dolci_scores.py - yes Auditing the Dolci Instruct mixtures with the direction scorer, Post draft (short rewrite, 2026-09-15)
analysis/syc_forecast.json qwen35/analyse_syc_forecast.py - yes Claims and evidence, Forecasting trained behaviour from the data's first-order score, Auditing the Dolci Instruct mixtures with the direction scorer (+3)
analysis/dolci_flag_training.json qwen35/analyse_dolci_flag.py, qwen35/render_dolci_flag_tables.py - yes Claims and evidence, Forecasting trained behaviour from the data's first-order score, Auditing the Dolci Instruct mixtures with the direction scorer (+3)
analysis/em_medical.json qwen35/analyse_em.py external - Inventory of built HTML pages, Claims and evidence, Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards (+3)
analysis/em_part_b.json qwen35/analyse_em.py, qwen35/analyse_em_b.py external - Inventory of built HTML pages, Claims and evidence, Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards (+3)
analysis/sorh_data_scoring.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_sorh_data_scores.py (+1) external yes Inventory of built HTML pages, Claims and evidence, Auditing the Dolci Instruct mixtures with the direction scorer (+3)
analysis/sorh_behavioural.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_s2register.py (+2) - yes Open questions, Paper reading, 2026-09-09 - SliderSpace and Gradient Atoms, Post draft (short rewrite, 2026-09-15) (+3)
analysis/sorh_projection.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_sorh.py (+2) - - Claims and evidence, The reward-hacks arms — the positive control that also failed, The reward hacker in column space (+3)
analysis/probe_adapters.json qwen35/analyse_probe_adapters.py - - Post critique round, 2026-09-10, Post draft (short rewrite, 2026-09-15), Probe adapters as a data-audit instrument
analysis/actspace_geometry.json qwen35/analyse_actspace.py, qwen35/analyse_actspace_fa.py (+2) - yes Activation-space analyses: overview, Constitution-as-prompt persona vectors vs weight geometry, Cross-seed geometry (+3)
analysis/actspace_geometry_fa.json qwen35/analyse_actspace_fa.py - - Constitution-as-prompt persona vectors vs weight geometry, Claims and evidence, Factor-first migration (+3)
analysis/direction_gaps_fa.json qwen35/analyse_alien_fa.py - yes What has been done to the PCs but not to the factors, Where no word goes - the hole on the factor chart, Post draft (short rewrite, 2026-09-15)
analysis/alien_fa.json qwen35/analyse_alien_fa.py, qwen35/analyse_alien_steer_fa.py (+5) - yes Steering the unnamed direction on the factor chart, What has been done to the PCs but not to the factors, Where no word goes - the hole on the factor chart (+2)
analysis/alien_steer_fa.json qwen35/analyse_alien_steer_fa.py - - Steering the unnamed direction on the factor chart, Fisher norms of the steering directions, Post draft (short rewrite, 2026-09-15)
analysis/slider_probe.json none found - - Persona sliders - LoRAs trained to an activation-space target, Post draft (short rewrite, 2026-09-15)
analysis/crossseed_arms.json qwen35/act_gram_on_modal.py, qwen35/act_gram_stages_on_modal.py (+4) - yes The activation-weighted Gram, and what the seed floor looks like in it, Column-space structure, Cross-seed geometry (+3)
results/gram_sweep.npz qwen35/analyse_act_gram.py, qwen35/analyse_actspace.py (+43) stage_two yes The activation-weighted Gram, and what the seed floor looks like in it, What the adapters do to activations, Steering the unnamed direction on the factor chart (+3)
results/gram_stage2.npz qwen35/analyse_actspace_stage2.py, qwen35/analyse_s2mean_steer.py (+6) - yes Inventory of built HTML pages, Stage two, explored, What the stage-two shared direction does (+1)
analysis/emb_pairs_minilm.npz qwen35/analyse_goldberg_only.py, qwen35/embed_goldberg_only.py - - Factor analysis of the training-contrast embeddings

Notes on Table 1. results/fa_qwen35.json is named on nineteen lines of the companion builder and is the single most load-bearing file. analysis/viz_fa.json is the chart every coordinate on the wiki is read from. analysis/best_axis_pairs.json and analysis/fa_text_contrast.json were first written on 2026-09-15 by session scripts; on 2026-09-16 those were checked in as qwen35/analyse_best_axis_pairs.py and qwen35/analyse_fa_text_contrast.py, and each regenerates its file with every numeric leaf identical (328 and 2,405 leaves compared). Their method is documented on Best axis pair per Goldberg group and Factor analysis of the training-contrast embeddings, and their inputs are analysis/viz_fa.json and analysis/emb_pairs_minilm.npz (embedded by embed_goldberg_only.py).

Table 2. Every analysis script and the files it names

Scripts under qwen35/ named analyse_*.py, with the analysis/ files each names (reads or writes; templated names with {tag} are omitted).

script analysis files it names (reads or writes)

Table 3. The other files the wiki cites

Every other analysis/ or results/ file named in a wiki page's sources frontmatter or body, with the scripts under qwen35/ that name it. Consumers (build_blog_page.py, build_companion.py, make_post_figures.py and the other page builders) are excluded from the script column.

file scripts naming it wiki pages citing it
analysis/actspace_adapters_geometry.json qwen35/analyse_actspace_adapters.py What the adapters do to activations, Activation-space analyses: overview (+3)
analysis/actspace_cross_geometry.json qwen35/analyse_actspace_cross.py What the adapters do to activations, Adapter x constitution, 16 x 16 (+3)
analysis/actspace_means_adapters.npz qwen35/analyse_actspace_adapters.py, qwen35/analyse_actspace_cross.py (+3) Persona sliders - LoRAs trained to an activation-space target
analysis/actspace_means_adapters_stage2.npz qwen35/analyse_actspace_stage2.py Stage two, explored
analysis/actspace_spec.json qwen35/act_space.py, qwen35/persona_sliders.py Activation-space analyses: method notes and limits, Activation-space analyses: overview
analysis/actspace_stage2_geometry.json qwen35/analyse_actspace_stage2.py, qwen35/build_stage2_exploration_index.py Column-space structure, Paper reading, 2026-09-09 - SliderSpace and Gradient Atoms (+1)
analysis/alien.json qwen35/act_space.py, qwen35/analyse_actspace.py (+19) Activation-space analyses: method notes and limits, Constitution-as-prompt persona vectors vs weight geometry (+4)
analysis/alien_match.json qwen35/analyse_alien_steer_fa.py Steering the unnamed direction on the factor chart, Steering the unnamed direction (+1)
analysis/alien_match_fa.json qwen35/analyse_alien_steer_fa.py, qwen35/analyse_persona_sliders.py Steering the unnamed direction on the factor chart, Persona sliders - LoRAs trained to an activation-space target
analysis/alien_steer.json qwen35/analyse_alien_steer.py, qwen35/analyse_alien_steer_fa.py Steering the unnamed direction on the factor chart, Steering the unnamed direction
analysis/alien_v_fa.npy qwen35/analyse_alien_fa.py Where no word goes - the hole on the factor chart
analysis/alien_v_k5.npy qwen35/analyse_alien.py, qwen35/analyse_gaps.py (+2) Where no word goes - the hole and the alien direction, Where no word goes - the hole on the factor chart
analysis/align_scores.json qwen35/analyse_align.py, qwen35/land.sh Alignment-relevant traits in the geometry, Scoring data against a LoRA direction in one backward pass (+2)
analysis/align_summary.json qwen35/analyse_align.py Adapter effect and LoRA-A drift, axis_Agreeableness (the named Agreeableness axis) (+4)
analysis/align_validate.json qwen35/align_score.py, qwen35/dolci_score.py The N x N data-to-adapter scoring test, Scoring data against a LoRA direction in one backward pass (+2)
analysis/alignment_geometry_fa.json qwen35/analyse_alignment_fa.py Alignment-relevant traits in the geometry, Where no word goes - the hole on the factor chart
analysis/bigfive_adapters_geometry.json qwen35/analyse_bigfive.py Big Five factor adapters (Persona Cartography's own ten dials)
analysis/blog_data.json qwen35/train_rank_sweep.py Inventory of built HTML pages, FA_Arousal (Arousal / activation) (+4)
analysis/column_space_sorh.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_em_colspace.py Column-space structure, The reward-hacks arms — the positive control that also failed (+1)
analysis/corpus_degeneration.json qwen35/check_corpus_degeneration.py Repetition in the stage-two corpora
analysis/corpus_scan_all.json qwen35/scan_corpus_modal.py Repetition in the stage-two corpora
analysis/crossseed_arms_stage2.json qwen35/analyse_stage2_frame.py, qwen35/analyse_stage2_neutral.py (+1) Open questions, Stage two, explored (+2)
analysis/direction_gaps.json qwen35/analyse_alien_fa.py, qwen35/analyse_gaps.py Steering the unnamed direction, axis_Agreeableness (the named Agreeableness axis) (+4)
analysis/direction_seed_stability.json qwen35/analyse_direction_seed_stability.py Per-direction seed stability, and why the check is uninformative, Factor analysis of the adapter Gram (+1)
analysis/dolci_examples.json qwen35/extract_dolci_examples.py Auditing the Dolci Instruct mixtures with the direction scorer
analysis/dolci_flag_adrift.json qwen35/analyse_dolci_flag.py, qwen35/dolci_flag_train.py Training on what the Dolci corrigible flag flagged
analysis/dolci_flag_arm_scores.json qwen35/analyse_dolci_flag.py Training on what the Dolci corrigible flag flagged
analysis/dolci_flag_examples.json qwen35/dolci_flag_examples.py Training on what the Dolci corrigible flag flagged
analysis/dolci_flag_judge_replicate.json qwen35/build_syc_post_inputs.py, qwen35/em_to_eval.py (+2) Training on what the Dolci corrigible flag flagged, Forecasting sycophancy from a preference dataset's first-order score
analysis/dolci_flag_refusal_style.json qwen35/analyse_dolci_flag.py, qwen35/dolci_flag_refusal_style.py Training on what the Dolci corrigible flag flagged
analysis/dolci_judge.json qwen35/extract_dolci_examples.py, qwen35/judge_dolci.py Auditing the Dolci Instruct mixtures with the direction scorer
analysis/dolci_judge_precision.json qwen35/judge_dolci.py Auditing the Dolci Instruct mixtures with the direction scorer
analysis/dolci_judge_v1.json qwen35/judge_dolci.py Auditing the Dolci Instruct mixtures with the direction scorer
analysis/dolci_scores.json qwen35/analyse_dolci_scores.py, qwen35/extract_dolci_examples.py (+1) Auditing the Dolci Instruct mixtures with the direction scorer
analysis/dolci_scores_dpo.json qwen35/analyse_dolci_scores.py, qwen35/build_dolci_flag_arms.py (+1) Auditing the Dolci Instruct mixtures with the direction scorer, Scoring the reward-hacks data before any training (+1)
analysis/dolci_scores_sft.json qwen35/analyse_dolci_scores.py Auditing the Dolci Instruct mixtures with the direction scorer
analysis/em_column_space.json qwen35/analyse_em.py, qwen35/analyse_em_colspace.py Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards, The reward-hacks arms — the positive control that also failed
analysis/em_part_a.json qwen35/analyse_em.py, qwen35/analyse_em_a.py (+1) Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards, Persona Vectors (Chen et al., 2025) (+1)
analysis/em_part_c.json qwen35/analyse_em.py, qwen35/analyse_em_c.py Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards, The reward-hacks arms — the positive control that also failed
analysis/em_part_d.json qwen35/analyse_em.py, qwen35/analyse_em_d.py Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards
analysis/em_part_d_ls.json qwen35/analyse_em.py Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards
analysis/em_probe_scores.json qwen35/analyse_em_d.py Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards
analysis/em_train.json qwen35/analyse_em_b.py, qwen35/em_flatten.py (+1) Emergent misalignment on bad medical advice - the map sees it coming and sees it afterwards
analysis/fa_act_metric.json qwen35/analyse_fa_actgram.py The activation-weighted Gram, and what the seed floor looks like in it
analysis/fa_chart_summary.json qwen35/fa_chart.py Factor analysis of the adapter Gram, Factor audit, 2026-09-11 (+4)
analysis/fa_summary.json qwen35/build_viz_data_fa.py Factor analysis of the adapter Gram, FA_Arousal (Arousal / activation) (+4)
analysis/fisher_gram_validation.json qwen35/analyse_fisher_gram.py The factor analysis in the model's own metric, Fisher norms of the steering directions
analysis/geometry_k_sweep.json qwen35/geometry.py Factor-first migration, Weight-space geometry of the 134-adapter zoo (+1)
analysis/geometry_stage1.json qwen35/geometry.py How to read the elbow (scree) figure, axis_Agreeableness (the named Agreeableness axis) (+4)
analysis/goldberg_only_ratings.jsonl qwen35/analyse_goldberg_only.py -
analysis/gradient_atoms.json qwen35/analyse_gradient_atoms.py Factor analysis of the adapter Gram, Factor analysis of the null arms (+4)
analysis/gradient_atoms_atoms_sorh.json qwen35/analyse_gradient_atoms_sorh.py Gradient atoms on the reward-hacks corpus
analysis/gradient_atoms_extract_sorh.json qwen35/analyse_gradient_atoms_sorh.py Gradient atoms on the reward-hacks corpus
analysis/gradient_atoms_sorh.json qwen35/analyse_gradient_atoms_sorh.py The reward-hacks arms — the positive control that also failed, Gradient atoms on the reward-hacks corpus
analysis/gradient_atoms_weightspace.json qwen35/analyse_gradient_atoms.py, qwen35/gradient_atoms_on_modal.py Gradient atoms on the zoo's own preference data
analysis/gradient_atoms_weightspace_sorh.json qwen35/analyse_gradient_atoms_sorh.py Gradient atoms on the reward-hacks corpus
analysis/hole_geometry.json qwen35/analyse_hole.py, qwen35/analyse_hole_fa.py Where no word goes - the hole and the alien direction, Where no word goes - the hole on the factor chart
analysis/hole_geometry_fa.json qwen35/analyse_hole_fa.py What has been done to the PCs but not to the factors, Where no word goes - the hole on the factor chart (+1)
analysis/inspect_trait20.json qwen35/analyse_inspect_personality.py, qwen35/inspect_personality_on_modal.py Inspect personality evaluations (BFI and TRAIT)
analysis/lora_a_identity.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_sorh_data_scores.py (+9) Persona sliders - LoRAs trained to an activation-space target, Rank sweep (+4)
analysis/matched_dose_alphas.json qwen35/analyse_matched_dose.py, qwen35/solve_matched_alphas.py Fisher norms of the steering directions, Suppression versus amplification at matched Fisher dose
analysis/merge_audit.json qwen35/fix_persona_merge.py The distil page and its withdrawal, Hugging Face artefacts (+4)
analysis/nxn_scores.json qwen35/analyse_data_forecast.py, qwen35/analyse_dolci_scores.py (+3) Forecasting trained behaviour from the data's first-order score, Auditing the Dolci Instruct mixtures with the direction scorer (+4)
analysis/optimise.json qwen35/build_verify_data.py, qwen35/optimise_data.py (+1) Optimised data and the training check
analysis/persona_exact_repush.json qwen35/reupload_persona_exact.py Full OCT persona replication, Hugging Face artefacts
analysis/persona_key_repair.json qwen35/fix_persona_keys.py, qwen35/reupload_persona_exact.py Full OCT persona replication
analysis/personas_seed1_build.json qwen35/build_personas_seed1.py Full OCT persona replication
analysis/probe_scores_sft.json qwen35/analyse_probe_adapters.py, qwen35/judge_probes.py (+1) Probe adapters as a data-audit instrument
analysis/rl_preflight.json qwen35/rl_capability.py, qwen35/rl_preflight.py The Dolci RL-Zero datasets (Ai2, Olmo 3), Capability RL and persona drift
analysis/slider_cross_gram.json qwen35/analyse_persona_sliders.py, qwen35/cross_gram_sliders.py Persona sliders - LoRAs trained to an activation-space target
analysis/slider_generations.jsonl qwen35/fetch_slider_artifacts.sh -
analysis/slider_means.npz qwen35/analyse_persona_sliders.py, qwen35/fetch_slider_artifacts.sh Persona sliders - LoRAs trained to an activation-space target
analysis/slider_targets.npz qwen35/analyse_persona_sliders.py, qwen35/build_slider_targets.py (+1) Persona sliders - LoRAs trained to an activation-space target
analysis/slider_targets_meta.json qwen35/analyse_persona_sliders.py, qwen35/build_slider_targets.py (+1) Persona sliders - LoRAs trained to an activation-space target
analysis/slider_train.json qwen35/analyse_persona_sliders.py, qwen35/persona_sliders.py Persona sliders - LoRAs trained to an activation-space target
analysis/sorh_data_scores.json qwen35/analyse_column_space_sorh.py, qwen35/analyse_sorh_data_scores.py The reward hacker in column space, Scoring the reward-hacks data before any training
analysis/sorh_train.json qwen35/sft_rewardhacks.py The reward-hacks arms — the positive control that also failed, The reward hacker in column space (+1)
analysis/sphere_isokl_alphas.json qwen35/analyse_sphere_isokl.py, qwen35/solve_sphere_isokl_alphas.py Fisher norms of the steering directions, The sphere sweep at iso-KL dose
analysis/sphere_layout.json qwen35/analyse_sphere_isokl.py, qwen35/build_sphere_spec.py (+1) The sphere sweep — 72 directions nobody chose, The sphere sweep on the factor chart (+3)
analysis/sphere_layout_fa.json qwen35/build_sphere_spec_fa.py What has been done to the PCs but not to the factors, The sphere sweep on the factor chart
analysis/sphere_page.json qwen35/analyse_sphere_isokl.py The sphere sweep — 72 directions nobody chose, The sphere sweep on the factor chart (+2)
analysis/stage2_factors_choice.json qwen35/analyse_stage2_factors.py, qwen35/build_stage2_exploration_index.py Stage two, explored, Structure of the stage-two adapter space
analysis/stage2_frame.json qwen35/analyse_stage2_frame.py, qwen35/build_stage2_exploration_index.py Stage two, explored, Stage two at a second seed (+2)
analysis/stage2_register_vs_residual.json qwen35/analyse_s2register.py, qwen35/build_stage2_exploration_index.py Paper reading, 2026-09-09 - SliderSpace and Gradient Atoms, Stage two, explored
analysis/steer_alpha_units.json qwen35/analyse_fisher.py, qwen35/analyse_s2register.py (+3) Fisher norms of the steering directions, Stage two, explored (+3)
analysis/steerfix_replication.json qwen35/analyse_gradient_atoms.py Gradient atoms on the zoo's own preference data, Steering the base model along weight-space directions (+1)
analysis/syc_adrift.json qwen35/analyse_syc_forecast.py, qwen35/syc_train.py Forecasting sycophancy from a preference dataset's first-order score
analysis/trait_angles.json qwen35/analyse_alien_fa.py, qwen35/analyse_alignment_fa.py PC5 - Contemplation and Scheduling, Where no word goes - the hole and the alien direction (+2)
analysis/umap_test.json qwen35/build_viz_data_fa.py, qwen35/umap_test.py The factor chart, Factor-first migration (+2)
analysis/validate_100.json qwen35/validate_100.py Weight-space geometry of the 134-adapter zoo, Source contradictions (+1)
analysis/verify.json qwen35/analyse_sphere_isokl.py, qwen35/analyse_verify.py Optimised data and the training check, PCA, the scree curve and the two nulls
analysis/viz.json qwen35/build_viz_data.py, qwen35/build_viz_data_fa.py The factor chart, Factor-first migration (+3)
results/column_space_crossstage.npz qwen35/analyse_column_space.py Column-space structure
results/column_space_gram_stage1.npz qwen35/analyse_column_space.py Column-space structure
results/column_space_sorh.npz qwen35/analyse_column_space_sorh.py, qwen35/column_space_sorh_on_modal.py The reward hacker in column space
results/column_space_stage1.npz qwen35/analyse_column_space.py, qwen35/column_space_on_modal.py Column-space structure
results/column_space_stage2.npz qwen35/analyse_column_space.py Column-space structure
results/cross_gram_actweighted_stage1_x_stage2.npz qwen35/analyse_act_gram_stage2.py The stage boundary in the activation-weighted metric
results/cross_gram_full_data_alignment_common_x_data_alignment_common.npz qwen35/analyse_alignment_fa.py Where no word goes - the hole on the factor chart
results/cross_gram_full_data_alignment_common_x_dolci_flag.npz qwen35/analyse_dolci_flag.py Training on what the Dolci corrigible flag flagged
results/cross_gram_full_data_alignment_common_x_syc_forecast.npz qwen35/analyse_syc_forecast.py Forecasting sycophancy from a preference dataset's first-order score
results/cross_gram_full_data_hole_common_x_data_hole_common.npz qwen35/analyse_hole_fa.py Where no word goes - the hole on the factor chart
results/cross_gram_full_dolci_flag_x_dolci_flag.npz qwen35/analyse_dolci_flag.py Training on what the Dolci corrigible flag flagged
results/cross_gram_full_loras_introspection_x_loras_introspection.npz qwen35/analyse_act_gram_stage2.py, qwen35/analyse_fulloct.py The stage boundary in the activation-weighted metric, Full OCT persona replication (+1)
results/cross_gram_full_loras_introspection_x_seed1_loras_introspection.npz qwen35/analyse_fulloct.py Stage two at a second seed
results/cross_gram_full_neutral_loras_introspection_x_loras_introspection.npz qwen35/analyse_stage2_neutral.py Stage two, explored
results/cross_gram_full_neutral_loras_introspection_x_neutral_loras_introspection.npz qwen35/analyse_stage2_neutral.py Stage two, explored
results/cross_gram_full_personas_exact_x_personas_exact.npz qwen35/analyse_actspace_stage2.py, qwen35/analyse_fulloct.py Full OCT persona replication
results/cross_gram_full_personas_exact_x_seed1_personas_exact.npz qwen35/analyse_fulloct.py Full OCT persona replication
results/cross_gram_full_root_x_data_null_seedpaired_s40.npz qwen35/build_traits_page_data.py Lesson: a preregistered bar can be in the wrong units, The seed floor
results/cross_gram_full_root_x_data_null_seedpaired_s40_matched.npz qwen35/analyse_act_gram.py, qwen35/analyse_column_space.py (+1) The activation-weighted Gram, and what the seed floor looks like in it, Per-direction seed stability, and why the check is uninformative (+1)
results/cross_gram_full_root_x_pc-qwen35-adapters_data_alignment_common.npz qwen35/analyse_alignment_fa.py Where no word goes - the hole on the factor chart
results/cross_gram_full_root_x_pc-qwen35-adapters_data_hole_common.npz qwen35/analyse_hole_fa.py Where no word goes - the hole on the factor chart
results/cross_gram_full_root_x_pc-qwen35-adapters_dolci_flag.npz qwen35/analyse_dolci_flag.py Training on what the Dolci corrigible flag flagged
results/cross_gram_full_root_x_pc-qwen35-adapters_sliders.npz qwen35/analyse_persona_sliders.py Persona sliders - LoRAs trained to an activation-space target
results/cross_gram_full_root_x_pc-qwen35-adapters_syc_forecast.npz qwen35/analyse_syc_forecast.py Forecasting sycophancy from a preference dataset's first-order score
results/cross_gram_full_root_x_pc-qwen35-oct2_personas_exact.npz qwen35/analyse_fulloct.py, qwen35/analyse_stage2_structure.py Full OCT persona replication, Structure of the stage-two adapter space
results/cross_gram_full_seed1_personas_exact_x_seed1_personas_exact.npz qwen35/analyse_fulloct.py Full OCT persona replication
results/cross_gram_full_syc_forecast_x_syc_forecast.npz qwen35/analyse_syc_forecast.py Forecasting sycophancy from a preference dataset's first-order score
results/cross_gram_seedpaired_provenance.json qwen35/cross_gram_on_modal.py The seed floor
results/decomposition.json qwen35/analyse_stage2_structure.py, qwen35/build_traits_page_data.py (+3) Constitution-as-prompt persona vectors vs weight geometry, Cross-seed geometry (+4)
results/decomposition_actspace_resp.json qwen35/analyse_actspace.py Activation-space analyses: method notes and limits, Constitution-as-prompt persona vectors vs weight geometry
results/decomposition_permuted.json qwen35/build_traits_page_data.py, qwen35/compare_nulls.py The null control arms
results/decomposition_seedB.json qwen35/build_traits_page_data.py, qwen35/cross_gram_full_on_modal.py Cross-seed geometry
results/decomposition_shuffled.json qwen35/build_traits_page_data.py, qwen35/compare_nulls.py The null control arms
results/decomposition_stage2.json qwen35/analyse_stage2_structure.py Structure of the stage-two adapter space
results/fa_qwen35_actgram.json qwen35/analyse_fa_actgram.py The activation-weighted Gram, and what the seed floor looks like in it
results/fa_qwen35_fisher.json qwen35/analyse_fa_fisher.py The factor analysis in the model's own metric, Post draft (short rewrite, 2026-09-15)
results/fa_qwen35_fisher_emp.json qwen35/analyse_fa_fisher.py The factor analysis in the model's own metric
results/fa_qwen35_goldberg100.json qwen35/analyse_goldberg_only.py Goldberg-only factoring and the 34 as a held-out set, Post draft (short rewrite, 2026-09-15)
results/fa_qwen35_null_permuted.json qwen35/analyse_fa_nulls.py Factor analysis of the adapter Gram, Factor analysis of the null arms
results/fa_qwen35_null_shuffled.json qwen35/analyse_fa_nulls.py Factor analysis of the adapter Gram, Factor analysis of the null arms
results/fa_qwen35_stage2.json qwen35/analyse_stage2_factors.py, qwen35/analyse_stage2_structure.py (+1) Stage two, explored, Structure of the stage-two adapter space
results/fa_qwen35_stage2_noshared.json qwen35/analyse_stage2_factors.py Stage two, explored
results/gradient_atoms/sorh_atoms.npz qwen35/analyse_gradient_atoms_sorh.py Gradient atoms on the reward-hacks corpus
results/gradient_atoms/zoo_atoms.npz qwen35/gradient_atoms_on_modal.py Gradient atoms on the zoo's own preference data
results/gram_actspace_resp_L16.npz qwen35/analyse_actspace.py Constitution-as-prompt persona vectors vs weight geometry
results/gram_actweighted.npz qwen35/analyse_fa_actgram.py, qwen35/run_actgram_analysis.sh The activation-weighted Gram, and what the seed floor looks like in it
results/gram_data_null_permuted_p100_matched.npz qwen35/analyse_fa_nulls.py, qwen35/figures/clusters/make_cluster_figures.py Factor analysis of the null arms
results/gram_data_null_seedpaired_s40.npz qwen35/build_traits_page_data.py, qwen35/umap_grams.py Per-direction seed stability, and why the check is uninformative, What has been done to the PCs but not to the factors
results/gram_data_null_shuffled_p100_matched.npz qwen35/analyse_fa_nulls.py Factor analysis of the null arms
results/gram_fisher.npz qwen35/analyse_fa_fisher.py, qwen35/analyse_fisher_gram.py The factor analysis in the model's own metric
results/gram_fisher_empirical.npz qwen35/analyse_fa_fisher.py, qwen35/analyse_fisher_gram.py The factor analysis in the model's own metric
results/gram_goldberg100.npz qwen35/analyse_goldberg_only.py Goldberg-only factoring and the 34 as a held-out set
results/gram_stage2_noshared.npz qwen35/analyse_stage2_factors.py, qwen35/build_gram_stage2_noshared.py Stage two, explored
results/rank_sweep_grams.npz qwen35/analyse_rank_sweep.py, qwen35/cross_gram_rank_sweep.py Rank sweep
results/runmeta_sweep.json qwen35/build_traits_page_data.py, qwen35/decompose.py (+2) Run provenance - runmeta.json and its defects, Source contradictions
results/steer134_judged.json qwen35/build_traits_page_data.py, qwen35/judge_steer134.py Inventory of built HTML pages, Costs (+4)
results/trait_descriptions.json qwen35/build_traits_page_data.py, qwen35/describe_traits134.py Qualitative reads and adjudications
results/umap_embeddings.json qwen35/build_traits_page_data.py, qwen35/umap_grams.py Superseded claims, UMAP, sphere and other layouts

Files written under a templated name

The scan matches literal basenames, so these files show no producer by name; each is written by the script shown, with the tag filled in at run time.

Files the wiki cites with no producing script found under qwen35/

Provenance gaps: the file exists, pages quote it, and no checked-in script names it (consumers excluded). Eight of these were already recorded on Open questions under "Provenance gaps" on 2026-09-07 (module_holography, polarity_deflation, adapter_effect, intrinsic_coords, steerfix_replication, judged_ceiling, functional_probe, qual_pairs); page_data.json and monitor_page_data.json are read by the old page builders and written by nothing checked in. The rl_* files belong to the 2026-08 RL arm (Capability RL and persona drift); that page's sources name rl_capability.py, rl_preflight.py, eval_rl_persona.py and analyse_rl.py under qwen35/, but none of those names the rl_*.json files literally (they build the names at run time), so they appear here. scree_null.json and scree_null_matched.json are named only by build_blog_page.py, a consumer; no producing script is checked in, and #real is byte-identical in both files (see Open questions, "Provenance gaps").

Files cited by history pages under other subprojects (sweep100/results/, drift/results/, teacherscreen/results/) are outside this map; the pages that cite them (The 100-trait sweep on Qwen2.5-3B, The drift experiment — weight-space control of a trait fails, The teacher screen) name the scripts.

How to check a number

  1. Find the number's file#key on the wiki page (or on Claims and evidence).
  2. Open the file under qwen35/ and read the key. Never recompute.
  3. If the value differs from the page, record it on Source contradictions and do not pick one silently.
  4. If you need the figure, run python qwen35/figures/post/make_post_figures.py; it reads only the files in Table 1 and writes under qwen35/figures/post/. The companion is rebuilt by its own systemd timer from the same files and must not be run from a session; check_numbers.py is its regression test.

Sources

  • qwen35/figures/post/make_post_figures.py
  • qwen35/companion/build_companion.py
  • qwen35/companion/check_numbers.py
  • qwen35/analyse_fa_qwen35.py
  • qwen35/build_gram.py
  • wiki/pages/**/*.md
  • qwen35/POST_DRAFT.md

Linked from

File

pages/overview/code-and-data-map.md