Restructure: descriptive tier and experiment names, paper/manuscript
- paper/pnas -> paper/manuscript (venue-neutral)
- configs/layer1 -> configs/inheritance, src/knowledge -> src/inheritance
(imported as `inheritance`), make layer1 -> make inheritance; layer2 alias dropped
- inheritance and trained-network bundles named after the manuscript figure
they feed (fig2_grounding_sweep, figS3_rebaselining, ...), or descriptively
where they feed none; configs keep their `experiment:` value so parquet
hashes are unchanged, only output.dir moves
- figure scripts, SI figure sources, notebooks, REPRODUCING.md, README and the
SI Methods/tables updated; make clean no longer deletes tracked manifests;
reproduce.sh hashes the s{seed}/ layouts too
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
This commit is contained in:
parent
84124de143
commit
ab3dc10587
240 changed files with 477 additions and 476 deletions
|
|
@ -40,7 +40,7 @@
|
|||
"import sys, pathlib, json, hashlib\n",
|
||||
"\n",
|
||||
"ROOT = pathlib.Path.cwd().parent\n",
|
||||
"sys.path.insert(0, str(ROOT / 'paper' / 'pnas'))\n",
|
||||
"sys.path.insert(0, str(ROOT / 'paper' / 'manuscript'))\n",
|
||||
"\n",
|
||||
"import make_figs # note: importing this chdir's to the repo root, by design\n",
|
||||
"from IPython.display import IFrame, display, Markdown\n",
|
||||
|
|
@ -79,18 +79,18 @@
|
|||
"| Panel | Artifact | Config | Seed(s) |\n",
|
||||
"|---|---|---|---|\n",
|
||||
"| Fig. 1A/1B | `schematics (no data)` | `-` | - |\n",
|
||||
"| Fig. 2A | `results/E2` | `configs/layer1/E2.yaml` | 20260704 |\n",
|
||||
"| Fig. 2B | `results/mnist_collapse` | `configs/neural/mnist_collapse.yaml` | 20260705 |\n",
|
||||
"| Fig. 2A | `results/fig2_grounding_sweep` | `configs/inheritance/fig2_grounding_sweep.yaml` | 20260704 |\n",
|
||||
"| Fig. 2B | `results/fig2_mnist_collapse` | `configs/neural/fig2_mnist_collapse.yaml` | 20260705 |\n",
|
||||
"| Fig. 3A | `results/llm_merge_seeds` | `configs/llm/merge_seeds.yaml` | 1-5 |\n",
|
||||
"| Fig. 3B | `results/llm_moe_hard_hpc` | `configs/llm/moe_hard_hpc.yaml` | 1 |\n",
|
||||
"| Fig. 3C/3D | `results/llm_epistasis(_compat)` | `configs/llm/epistasis*.yaml` | 1-3 |\n",
|
||||
"| Fig. 4A | `results/E4` | `configs/layer1/E4.yaml` | 20260704 |\n",
|
||||
"| Fig. 4B | `results/E8` | `configs/layer1/E8.yaml` | 20260705 |\n",
|
||||
"| Fig. 5A | `results/E9` | `configs/layer1/E9.yaml` | 20260705 |\n",
|
||||
"| Fig. 5B | `results/E10` | `configs/layer1/E10.yaml` | 20260705 |\n",
|
||||
"| Fig. 5C/5D | `results/E14` | `configs/layer1/E14.yaml` | 20260709 |\n",
|
||||
"| Fig. 6A-C | `results/E11` | `configs/layer1/E11.yaml` | 20260705 |\n",
|
||||
"| Fig. 7A/7B | `results/E12` | `configs/layer1/E12.yaml` | 12 |\n",
|
||||
"| Fig. 4A | `results/figS8_multiparent_union` | `configs/inheritance/figS8_multiparent_union.yaml` | 20260704 |\n",
|
||||
"| Fig. 4B | `results/figS9_specialist_superparent` | `configs/inheritance/figS9_specialist_superparent.yaml` | 20260705 |\n",
|
||||
"| Fig. 5A | `results/figS10_rugged_landscapes` | `configs/inheritance/figS10_rugged_landscapes.yaml` | 20260705 |\n",
|
||||
"| Fig. 5B | `results/figS11_directed_recombination` | `configs/inheritance/figS11_directed_recombination.yaml` | 20260705 |\n",
|
||||
"| Fig. 5C/5D | `results/figS13_mating_breadth` | `configs/inheritance/figS13_mating_breadth.yaml` | 20260709 |\n",
|
||||
"| Fig. 6A-C | `results/fig4_society_ablation` | `configs/inheritance/fig4_society_ablation.yaml` | 20260705 |\n",
|
||||
"| Fig. 7A/7B | `results/fig5_speciation_bdm` | `configs/inheritance/fig5_speciation_bdm.yaml` | 12 |\n",
|
||||
"| Fig. 7C | `results/speciation_real` | `configs/neural/speciation_real.yaml` | 13 |\n",
|
||||
"| Fig. 7D | `results/speciation_real_cliff` | `configs/neural/speciation_real_cliff.yaml` | 13 |\n",
|
||||
"| Fig. 7E/7F | `results/llm_speciation` | `configs/llm/speciation.yaml` | 1 |"
|
||||
|
|
@ -106,18 +106,18 @@
|
|||
"source": [
|
||||
"PROVENANCE = [\n",
|
||||
" ('Fig. 1A/1B', 'schematics (no data)', '-', '-'),\n",
|
||||
" ('Fig. 2A', 'results/E2', 'configs/layer1/E2.yaml', '20260704'),\n",
|
||||
" ('Fig. 2B', 'results/mnist_collapse', 'configs/neural/mnist_collapse.yaml', '20260705'),\n",
|
||||
" ('Fig. 2A', 'results/fig2_grounding_sweep', 'configs/inheritance/fig2_grounding_sweep.yaml', '20260704'),\n",
|
||||
" ('Fig. 2B', 'results/fig2_mnist_collapse', 'configs/neural/fig2_mnist_collapse.yaml', '20260705'),\n",
|
||||
" ('Fig. 3A', 'results/llm_merge_seeds', 'configs/llm/merge_seeds.yaml', '1-5'),\n",
|
||||
" ('Fig. 3B', 'results/llm_moe_hard_hpc', 'configs/llm/moe_hard_hpc.yaml', '1'),\n",
|
||||
" ('Fig. 3C/3D', 'results/llm_epistasis(_compat)', 'configs/llm/epistasis*.yaml', '1-3'),\n",
|
||||
" ('Fig. 4A', 'results/E4', 'configs/layer1/E4.yaml', '20260704'),\n",
|
||||
" ('Fig. 4B', 'results/E8', 'configs/layer1/E8.yaml', '20260705'),\n",
|
||||
" ('Fig. 5A', 'results/E9', 'configs/layer1/E9.yaml', '20260705'),\n",
|
||||
" ('Fig. 5B', 'results/E10', 'configs/layer1/E10.yaml', '20260705'),\n",
|
||||
" ('Fig. 5C/5D', 'results/E14', 'configs/layer1/E14.yaml', '20260709'),\n",
|
||||
" ('Fig. 6A-C', 'results/E11', 'configs/layer1/E11.yaml', '20260705'),\n",
|
||||
" ('Fig. 7A/7B', 'results/E12', 'configs/layer1/E12.yaml', '12'),\n",
|
||||
" ('Fig. 4A', 'results/figS8_multiparent_union', 'configs/inheritance/figS8_multiparent_union.yaml', '20260704'),\n",
|
||||
" ('Fig. 4B', 'results/figS9_specialist_superparent', 'configs/inheritance/figS9_specialist_superparent.yaml', '20260705'),\n",
|
||||
" ('Fig. 5A', 'results/figS10_rugged_landscapes', 'configs/inheritance/figS10_rugged_landscapes.yaml', '20260705'),\n",
|
||||
" ('Fig. 5B', 'results/figS11_directed_recombination', 'configs/inheritance/figS11_directed_recombination.yaml', '20260705'),\n",
|
||||
" ('Fig. 5C/5D', 'results/figS13_mating_breadth', 'configs/inheritance/figS13_mating_breadth.yaml', '20260709'),\n",
|
||||
" ('Fig. 6A-C', 'results/fig4_society_ablation', 'configs/inheritance/fig4_society_ablation.yaml', '20260705'),\n",
|
||||
" ('Fig. 7A/7B', 'results/fig5_speciation_bdm', 'configs/inheritance/fig5_speciation_bdm.yaml', '12'),\n",
|
||||
" ('Fig. 7C', 'results/speciation_real', 'configs/neural/speciation_real.yaml','13'),\n",
|
||||
" ('Fig. 7D', 'results/speciation_real_cliff','configs/neural/speciation_real_cliff.yaml','13'),\n",
|
||||
" ('Fig. 7E/7F', 'results/llm_speciation', 'configs/llm/speciation.yaml', '1'),\n",
|
||||
|
|
@ -200,7 +200,7 @@
|
|||
"source": [
|
||||
"## Regenerate the figures\n",
|
||||
"\n",
|
||||
"One call per manuscript figure. Each writes `paper/pnas/figs/<name>.pdf` — exactly the files the\n",
|
||||
"One call per manuscript figure. Each writes `paper/manuscript/figs/<name>.pdf` — exactly the files the\n",
|
||||
"manuscript includes, so a rebuilt PDF picks them up unchanged."
|
||||
]
|
||||
},
|
||||
|
|
@ -221,46 +221,46 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig1a.pdf\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig1a.pdf\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig1b.pdf\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig1b.pdf\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig2.pdf\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig2.pdf\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig3.pdf\n",
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig4.pdf\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig3.pdf\n",
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig4.pdf\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig5.pdf\n",
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig6.pdf\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig5.pdf\n",
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig6.pdf\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/figs/fig7.pdf\n",
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/figs/fig7.pdf\n",
|
||||
"\n",
|
||||
"all manuscript figures regenerated into paper/pnas/figs/\n"
|
||||
"all manuscript figures regenerated into paper/manuscript/figs/\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -278,7 +278,7 @@
|
|||
"\n",
|
||||
"for name, caption in FIGURES:\n",
|
||||
" getattr(make_figs, name)()\n",
|
||||
"print('\\nall manuscript figures regenerated into paper/pnas/figs/')"
|
||||
"print('\\nall manuscript figures regenerated into paper/manuscript/figs/')"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -490,7 +490,7 @@
|
|||
"\n",
|
||||
"has_poppler = shutil.which('pdftoppm') is not None\n",
|
||||
"for name, caption in FIGURES:\n",
|
||||
" pdf = ROOT / 'paper' / 'pnas' / 'figs' / f'{name}.pdf'\n",
|
||||
" pdf = ROOT / 'paper' / 'manuscript' / 'figs' / f'{name}.pdf'\n",
|
||||
" display(Markdown(f'### {caption}'))\n",
|
||||
" if not has_poppler:\n",
|
||||
" print(f'(install poppler-utils to preview inline) {pdf}'); continue\n",
|
||||
|
|
@ -507,7 +507,7 @@
|
|||
"source": [
|
||||
"## Rebuild the manuscript PDF (optional)\n",
|
||||
"\n",
|
||||
"`build.py` converts `paper/pnas/main.md` to LaTeX, placing these figures; compiling needs a TeX\n",
|
||||
"`build.py` converts `paper/manuscript/main.md` to LaTeX, placing these figures; compiling needs a TeX\n",
|
||||
"toolchain (`tectonic main.tex`), so it is left as a shell step rather than run here."
|
||||
]
|
||||
},
|
||||
|
|
@ -528,16 +528,16 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/pnas/body.tex\n",
|
||||
"now: cd paper/pnas && tectonic main.tex\n"
|
||||
"wrote /home/gg/ownCloud/Work/Projects/LamarckianAI/paper/manuscript/body.tex\n",
|
||||
"now: cd paper/manuscript && tectonic main.tex\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import subprocess\n",
|
||||
"print(subprocess.run([sys.executable, str(ROOT / 'paper' / 'pnas' / 'build.py')],\n",
|
||||
"print(subprocess.run([sys.executable, str(ROOT / 'paper' / 'manuscript' / 'build.py')],\n",
|
||||
" capture_output=True, text=True).stdout.strip())\n",
|
||||
"print('now: cd paper/pnas && tectonic main.tex')"
|
||||
"print('now: cd paper/manuscript && tectonic main.tex')"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue