main: keep only what reproduces the manuscript; everything else lives on dev
Removed from main (all preserved on the dev branch): the arXiv build and
its sources, design documents (blueprint, results summary, review responses,
essay drafts), tasks/ and CLAUDE.md, the cover letter and reference tooling,
two unused manuscript figures, and every experiment that feeds no figure or
number in the paper: the collapse null, the sexual-vs-asexual lineage, the
NK speciation variant, the 0.5B single-seed LLM prototypes, the compose and
society experiments with their calibration and pilot runs, and their
configs, runners, tests, figure scripts and PBS jobs. Their result bundles
are moved to results/_archive/ (ignored) so the parquets stay on disk.
Also: plot_llm_speciation reads the s{seed}/ layout; the mating-breadth
plot writes under its bundle name; Makefile targets reduced to the kept
experiments; REPRODUCING.md and README point to dev for the rest.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
This commit is contained in:
parent
ab3dc10587
commit
6f8cef1ac5
292 changed files with 26 additions and 15590 deletions
40
Makefile
40
Makefile
|
|
@ -2,8 +2,7 @@
|
|||
# reproducibility source of truth; every target runs inside it via `uv run`.
|
||||
|
||||
.PHONY: env env-neural env-mnist env-llm env-notebooks test inheritance neural mnist llm \
|
||||
llm-epistasis llm-society llm-society-calib llm-society-calib-b llm-society-v2-smoke \
|
||||
figures paper-figures paper notebooks clean
|
||||
llm-speciation llm-epistasis figures paper-figures paper notebooks clean
|
||||
|
||||
env: ## build .venv from the committed lockfile
|
||||
uv sync --extra dev
|
||||
|
|
@ -31,13 +30,13 @@ mnist: ## run the torchvision tiers: MNIST collapse + real-weight sp
|
|||
uv run python -m neural.experiment configs/neural/speciation_real_emergent.yaml
|
||||
MPLBACKEND=Agg uv run python figures/mnist_montage.py # the asset paper Fig. 2A embeds
|
||||
|
||||
env-llm: ## add the LLM stack for the Layer-2 prototype (GPU; transformers/peft)
|
||||
env-llm: ## add the LLM stack for the language-model tier (GPU; transformers/peft)
|
||||
uv sync --extra dev --extra neural --extra llm
|
||||
|
||||
llm: ## run the LLM prototypes: merge (fusion) + moe (union) + directed (offspring select)
|
||||
uv run python -m llm.experiment configs/llm/merge.yaml
|
||||
uv run python -m llm.experiment configs/llm/moe.yaml
|
||||
uv run python -m llm.experiment configs/llm/directed.yaml
|
||||
llm: ## the 0.5B multi-seed runs behind Fig. 3B and Table S2 (merge x5, moe-hard x3, directed-hard x3)
|
||||
uv run python -m llm.experiment configs/llm/merge_seeds.yaml
|
||||
uv run python -m llm.experiment configs/llm/moe_hard_seeds.yaml
|
||||
uv run python -m llm.experiment configs/llm/directed_hard_seeds.yaml
|
||||
|
||||
llm-speciation: ## LLM-tier speciation: conflict cliff (replace + de-confounded add) and duration null
|
||||
uv run python -m llm.experiment configs/llm/speciation.yaml
|
||||
|
|
@ -48,33 +47,6 @@ llm-epistasis: ## the controlled predictive test (feeds paper Fig. 3C-D) + i
|
|||
uv run python -m llm.experiment configs/llm/epistasis_compat.yaml
|
||||
uv run python figures/stats_llm_epistasis.py
|
||||
|
||||
llm-society: ## the composed society at LLM scale (C3): pilot; the campaign runs on HPC
|
||||
uv run python -m llm.experiment configs/llm/society.yaml
|
||||
|
||||
llm-society-calib: ## v2 society calibration gates (prereg §4): stage A (families), then B (C2/C3/C5)
|
||||
uv run python -m llm.experiment configs/llm/society_v2_calib_a.yaml
|
||||
@echo "Review the C1 table, fix the 12 families in society_v2_calib_b.yaml, then: make llm-society-calib-b"
|
||||
|
||||
llm-society-calib-b: ## v2 calibration stage B over the chosen 12 families: transmission, cross, consensus
|
||||
uv run python -m llm.experiment configs/llm/society_v2_calib_b.yaml
|
||||
mkdir -p configs/llm/_gen
|
||||
uv run python - <<'EOF'
|
||||
import yaml; c = yaml.safe_load(open("configs/llm/society_v2_calib_b.yaml"))
|
||||
for st in ("cross", "consensus"):
|
||||
c["stage"] = st; c["output"] = {"dir": f"results/llm_society_v2_calib_b_{st}"}
|
||||
yaml.safe_dump(c, open(f"configs/llm/_gen/calib_{st}.yaml", "w"), sort_keys=False)
|
||||
EOF
|
||||
uv run python -m llm.experiment configs/llm/_gen/calib_cross.yaml
|
||||
uv run python -m llm.experiment configs/llm/_gen/calib_consensus.yaml
|
||||
|
||||
llm-society-v2-smoke: ## v2 society loop smoke (4 families, 4 agents, 2 generations, all arms)
|
||||
uv run python -m llm.experiment configs/llm/society_v2_smoke.yaml
|
||||
uv run python figures/plot_llm_society.py results/llm_society_v2_smoke
|
||||
|
||||
llm-seeds: ## multi-seed firm-up (heavy): merge x5, moe-hard x3, directed-hard x3
|
||||
uv run python -m llm.experiment configs/llm/merge_seeds.yaml
|
||||
uv run python -m llm.experiment configs/llm/moe_hard_seeds.yaml
|
||||
uv run python -m llm.experiment configs/llm/directed_hard_seeds.yaml
|
||||
|
||||
figures: ## regenerate per-experiment figures from committed results (pure; no re-simulation)
|
||||
for p in figures/plot_*.py; do MPLBACKEND=Agg uv run python "$$p"; done
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue