# The Lamarckian Society — Layer 1 (analytical core) A parametric population-genetics model of knowledge transmission across generations of learning agents. Knowledge transmission is modelled *literally* as a Wright–Fisher process (not by analogy): a model's knowledge is a distribution `p_t` over `K` discrete items; a fixed true distribution `p*` has a rare tail; each generational step is "sample from the parent (drift) + mix in fresh real samples (grounding/immigration) + refit." Model collapse is the loss of rare alleles under drift. See `paper/blueprint.md` (the normative build spec) and `paper/the-lamarckian-society-v4.md` (the perspective paper). ## Reproduce Environment is a `uv` venv built from the committed, hash-pinned `uv.lock` — that lockfile is the single source of truth for "it runs" (Layer 1 is pure NumPy/SciPy and bitwise-reproducible from a seed; no container needed). ```bash # one-time: install uv (https://astral.sh/uv) curl -LsSf https://astral.sh/uv/install.sh | sh uv sync # build .venv from uv.lock make test # correctness + scientific-validation tests (the spine of trust) make layer1 # run experiments E1–E6 make figures # regenerate figures from committed results ``` ## Layout ``` src/knowledge/ Layer 1 package (imported as `knowledge`) configs/layer1/ one YAML per experiment (E1..E6) figures/ plot_EX.py — read results.parquet only tests/ test_correctness.py + test_scientific_validation.py (analytic checks) paper/ blueprint.md, perspective paper, figure_manifest.md results/ written artifacts (gitignored; hashes tracked in manifest.json) ```