paper_figuers/ — figures for the write-upGenerated by reporting/make_report_figures.py; do not edit by hand, and do not add a figure here that no generator can rebuild.
| figure | what it is evidence for | built from |
|---|---|---|
funnel_coverage_to_sres.png |
co-firing proposes far more edges than survive the strict test | 6 gemma + 4 PCFG layers with second_pass.json |
edge_survival_by_block_pair.png |
what each filter removes, by block pair and by depth | 6 gemma layer reports |
depth_profile_across_layers.png |
no measure is monotonic in depth once BOS is excluded | 6 gemma layer reports |
multiparenting_by_layer.png |
the graph is not a tree — the one claim BOS exclusion left standing | 6 gemma + 4 PCFG layer reports |
shared_input_moved_every_metric.png |
five of six metrics share an input and failed together — the battery’s own failure mode | 5 layers graded both before and after BOS exclusion |
base_rate_vs_frequency_capture.png |
the over-connection is base rate, not frequency capture — the hypothesis’s premise, tested | 6 gemma layer reports |
superparent_fanout_vs_firing.png |
the superparent gate reads fan-out; firing rate is handled per edge | 6 gemma layer reports |
calibration_synthetic_toy_scorecard.png |
every metric scored against a known tree, plus two demonstrated blind spots | outputs/synthetic_toy_calibration.json |
calibration_toy_world_before_after.png |
which gate removed which injected pathology, on the world where the answer was fixed first | computed from validation/synthetic_toy_world.py (no cache needed) |
calibration_toy_world_gate_verdicts.png |
the same gate verdicts in one panel — blocks as rows, the declared world kept as the faded edges | computed from validation/synthetic_toy_world.py (no cache needed) |
calibration_toy_corpus_firing.png |
the corpus the Tier-1 calibration runs on — firing per feature, and where the token mass sits | computed from validation/synthetic_toy_world.py — 48 features over 2,635 tokens |
calibration_gate_funnel_by_role.png |
what each composed gate removes, counted by the structure it was planted as | computed from validation/synthetic_toy_world.py — 63 candidates through three gates |
calibration_reverse_coverage.png |
what reverse coverage proposes at full resolution, and the true edge it structurally cannot | computed from validation/synthetic_toy_world.py — 15×33 coverage matrix |
calibration_seed_sweep.png |
the Tier-1 scorecard re-run per seed — whether 14/14 is a result or one draw | 8 seeds × 17 scorecard rows, re-run from validation/calibrate_on_synthetic_toy.py |
calibration_trained_toy_recovery.png |
the same tree after a real training run, and the nesting control | outputs/trained_toy_calibration.json |
calibration_toy_tree_recovered.png |
the tree drawn: which edges the metrics returned, and which features were never learned | outputs/trained_toy_calibration.json |
cross_source_funnel_shares.png |
one unchanged metric set across two SAE sources | 6 gemma + 4 PCFG layer reports |
cross_source_layer_response.png |
the shape of B0→B1 is the same on both base models at the layers both graded; its strength is not | 10 graded runs across 2 sources, layers 1, 3 on both |
cross_source_alignment_check.png |
which alignment across two models of different depth the data prefers — block index or relative depth | the same 10 runs under both alignment rules |
in_block_relations.png |
same-level structure concentrates in B0 on both sources, read as a per-pair rate | 10 runs with in_block_edges.json |
sres_null_rate_vs_dictionary_size.png |
a top-k rank rule is only as strict as D is large | config (k=5) + 10 measured pass rates |
tangle_lives_in_top_block_pair.png |
every metric, every column, on both sources with one untuned instrument | 6 gemma + 4 PCFG layer reports, all block pairs |
metrics_result_mid_layers.png |
every metric at one fixed depth per source, so the axis carries architecture and not depth | gemma layer_12 + PCFG layer_02 metrics_report.json, all block pairs |
battery_questions_gemma.png |
6 gemma layer reports + 6 second passes | |
recovered_graph_toy_vs_pcfg_vs_gemma.png |
trained_toy_calibration.json + gemma layer_12 + PCFG layer 2 second_pass.json | |
one_parent_owns_the_block.png |
gemma layer_12 second_pass.json | |
a_slice_of_the_tangle.png |
gemma layer_12 second_pass.json + feature_labels.json | |
one_child_many_parents.png |
gemma layer_12 second_pass.json (single-child twin of the slice) | |
pcfg_formatting_sweep.png |
12 fmt_* runs across 4 delimiter densities |
Every number in every title is read from the JSON being plotted, so a caption cannot outlive the data under it – the previous generator quoted layer-6 figures that had been withdrawn.