| # scripts/analysis | |
| downstream mechanistic + interpretability analyses on trained PANDA checkpoints. | |
| runs after `scripts/common/train_panda.py` and `scripts/common/zero_shot.py`. | |
| each script writes CSV/JSON/npy outputs into `discovery/` (or `discovery/{system}/...`) | |
| and is safe to re-run. | |
| | id | script | what it does | | |
| |---:|---|---| | |
| | 70 | `70_prototype_geometry.py` | intra + cross-system prototype cosine geometry | | |
| | 72 | `72_emergent_axes.py` | within-class PCA of the 128-d projections | | |
| | 73 | `73_novel_populations_dahlin.py` | same abstain-gate flow, on Dahlin | | |
| | 80 | `80_prototype_gene_attribution.py` | integrated-gradient prototype-to-gene attribution | | |
| | 81 | `81_counterfactual_knockouts.py` | per-gene KO delta on prototype cosine | | |
| | 82 | `82_gene_coattribution_modules.py` | gene-gene co-attribution modules | | |
| | 83 | `83_prototype_training_trajectory.py` | prototype drift + eff-dim across the 4-stage curriculum | | |
| | 84 | `84_adversary_purification.py` | tests that dataset + depth adversaries are at chance | | |
| | 85 | `85_hessian_gene_interactions.py` | second-order gene-gene Hessian per prototype | | |
| | 90-92 | `9{0,1,2}_*_marker_deep_dive.py` | per-class Wilcoxon vs canonical panels, per target | | |
| | 93-94 | `9{3,4}_true_zero_shot_*.py` | true zero-shot on fully held-out Baron + Nestorowa | | |