Commit graph

11 commits

Author SHA1 Message Date
ab3dc10587 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
2026-09-13 17:00:40 +01:00
84124de143 Manuscript revision and pending experiment work, snapshot before restructuring
Clarity pass over the main text (36-item audit), Discussion rewrite and cut,
acknowledgements, Souly et al. as ref 62, lettered SI panels, model section
moved under Results; plus the untracked curriculum/society/compose/smol
configs, runners, figures, stats and tests that the SI already cites.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
2026-09-13 16:54:09 +01:00
c435cfba6e Reproducibility pass: figure map, one-command reproduce.sh, notebooks, Makefile gaps
An audit of the figure pipeline found real sync gaps, now closed:

- `paper/pnas/make_figs.py` (which draws every manuscript figure) was invoked
  by NO Makefile target or script - a manual step. Added `make paper-figures`.
- `configs/llm/epistasis{,_compat}.yaml` were reachable from nothing at all,
  despite producing Fig. 3C-D. Added `make llm-epistasis` (+ its statistics).
- `make figures` never regenerated the MNIST montage that Fig. 2B embeds;
  it now runs with the `mnist` target (it needs torch - it re-simulates).
- Added `make llm-society`, `env-notebooks`, `notebooks`.

New REPRODUCING.md is the authoritative map: every manuscript panel -> the
artifact it plots -> the config that produced it -> that config's seed, plus
the determinism policy (biological tier bitwise; GPU tiers statistical), the
seed-provenance statement, and an artifact-hash verification snippet. All 44
committed bundles currently hash-match their manifests, and figure
regeneration is pixel-identical (verified by comparison).

reproduce.sh delivers the one-command reproduction the paper's Methods
promises, writing REPRODUCED.md with recomputed hashes per bundle.

Two executed notebooks: 01 builds the Wright-Fisher model from scratch and
checks both closed forms interactively (runs in ~1 min on a laptop); 02
verifies artifact hashes then regenerates and displays all seven manuscript
figures. Both execute end-to-end (`make notebooks`).

Also pins `.python-version` to 3.14: the interpreter was previously
unpinned, and a `uv sync` silently switched it to 3.11 mid-session (see
tasks/lessons.md). README rewritten - it still described a Layer-1-only repo
of E1-E6 and pointed at a figure_manifest.md that does not exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 15:50:50 +01:00
70c8c54434 Fig. 1: borderless cells in A; the Flaticon robot everywhere in B
Cells lose their borders (pastel fills float; not-tested/literature/open cells
go light gray, headers keep their frame); Fig. 1B's hand-drawn robots are
replaced by the same licensed Flaticon robot as the 1A headers, embedded
unsampled, with the capability dots kept. Both panels visually inspected
post-render (text visible, no overlaps) per the new standing rule in the
global CLAUDE.md: never ship a figure you have not seen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:48:25 +01:00
60ef253c77 Fig. 1A: wrap the two long header subtitles inside their boxes
"RNN · MLP · VAE on a synthetic oracle;" and "LoRA specialists on Qwen 0.5B &
7B;" overflowed the box edge once the text column shifted left of the larger
icons; both now wrap to three short centred lines, with the block nudged up
so the guarantee line keeps its separation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:44:30 +01:00
40ad268c6d Fig. 1A: double the icon size (56 px placed; taller header row to fit)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:41:38 +01:00
438931d67b Fix icon resolution: imshow + interpolation="none" embeds icons unsampled
The OffsetImage path composites at figure dpi, so the icons were going into
the PDF as 39x39 bitmaps regardless of source resolution (pdfimages-verified;
this is why the SVG switch changed nothing visually). Placing them as
AxesImage with interpolation="none" embeds the full 1024 px rasterisation
with a scaling transform: 4719 ppi at the placed size, print-crisp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:37:53 +01:00
c9c4d927ad Fig. 1A icons: committed SVGs rasterised at build time; CDN PNGs removed
The two Flaticon icons (licensed via GG's paid subscription) are now committed
as SVG source and rasterised at 2048 px by make_figs.py via rsvg-convert
(~6000 DPI at the placed size - print-lossless), keeping every figure a pure
function of the script plus committed sources. The 512 px CDN PNGs are gone;
a clear error names the librsvg dependency if rsvg-convert is missing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:27:25 +01:00
9055fca792 Fig. 1A: pastel palette (green biology, two blues for AI) + Mendel peas and robot icons
Per GG: the biological model goes pastel green (nature), the two AI tiers
light and darker pastel blue; header text switches from white to the dark
shade of each hue (white is unreadable on pastel). A green-pea icon honours
Mendel in the biology header; a friendly robot marks the two AI headers.
Icons are Flaticon #2347052 and #10479785, used under GG's paid Flaticon
licence (noted in make_figs.py); header text is centred slightly left of a
dedicated icon slot so nothing collides. Caption colour sentence updated
(green vs blues).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:23:35 +01:00
2d8f661924 Paper-wide rename: the pop-gen construct is "the biological model"; "(exact)" dropped
"Model" now means an AI model everywhere; the Wright-Fisher construct is "the
biological model" throughout (19 occurrences): tier header, section title (now
"The biological model, and where trained learners depart from it"), Table 1
support column ("Exact" -> "Closed form"; "Analytic model" -> "Biological
model"), Results, Discussion, Methods ("Biological-model tier"), and all
figure captions. "Exact" survives only in technical noun phrases (exact-match
verifier, exact oracle, exact equilibrium, exact recovery); the abstract's
"exactly Wright-Fisher" is now "literally Wright-Fisher".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 13:08:58 +01:00
b417a66c23 Fig. 1B: the conceptual cartoon — from a society in space to a society in time
The paper's key move drawn as a two-panel partner to the programme grid (now
Fig. 1A): on the left, the usual picture — contemporaries exchanging messages
(multi-agent systems, one moment on the clock); on the right, the same
ecosystem seen along its time axis — a pedigree in which a rare capability
(gold dot) is lost under single-parent inheritance, reassembled by merging
complementary parents, and re-supplied by grounding from a reality that can
say no (the globe). Friendly-robot glyphs, colour-coded capability dots;
build.py now stacks multiple PDFs per figure; the Introduction cites 1A and
1B in panel order.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
2026-09-07 12:50:36 +01:00
Renamed from paper/pnas/figs/fig1.pdf (Browse further)