MachineSex/paper/manuscript/refs
Giorgio Gilestro 6f8cef1ac5 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
2026-09-13 17:07:23 +01:00
..
Evolution of sex for AI.ris Restructure: descriptive tier and experiment names, paper/manuscript 2026-09-13 17:00:40 +01:00
README.md Restructure: descriptive tier and experiment names, paper/manuscript 2026-09-13 17:00:40 +01:00
references.csl.json Restructure: descriptive tier and experiment names, paper/manuscript 2026-09-13 17:00:40 +01:00
references.json Restructure: descriptive tier and experiment names, paper/manuscript 2026-09-13 17:00:40 +01:00
references.ris Restructure: descriptive tier and experiment names, paper/manuscript 2026-09-13 17:00:40 +01:00

Zotero library for the manuscript's references

Evolution of sex for AI.ris — all 80 references from paper/manuscript/main.md, with metadata fetched from the publisher of record rather than retyped.

To import: Zotero → File → Import… → choose this file → keep "Place imported collections and items into new collection" ticked. The collection takes its name from the file, so rename the file first if you want a different folder name.

How it was built

build_zotero_library.py (run from the repo root) parses the numbered reference list, resolves a DOI for each entry, and fetches authoritative metadata by content negotiation against doi.org, which serves both Crossref and DataCite records. Each Zotero item carries its manuscript reference number in the Extra/Notes field, so an item can be traced back to its citation.

  • 77 of 80 resolved from a DOI. 53 DOIs were already printed in the manuscript; the rest were found by Crossref title search, accepted only when the returned title actually matched (a plain relevance score is not enough — Crossref answers confidently for pre-DOI works).
  • 2 needed a hand-verified DOI: ref 17 (Brinkmann et al., Machine culture), where the search returned a different paper with a near-identical title, and ref 64 (Schwarz et al., Progress & Compress), a PMLR paper with no Crossref DOI, cited by its arXiv DOI instead.
  • 3 genuinely predate DOIs and are written out by hand in the script: Jenkin 1867, Fisher 1930 (book), Templeton 1986 (book chapter).

resolution-report.tsv records the outcome and source for every entry. references.csl.json is the same library as CSL-JSON, for any tool that prefers it.

Notes on the records

arXiv DOIs come back from DataCite uppercased and with no venue; the script restores the canonical 10.48550/arXiv.NNNN casing and sets the publication to arXiv with the identifier in the archive field, so those items do not import as untitled journal articles. Publisher abstracts arrive wrapped in JATS markup with HTML entities and hard line breaks, all of which are stripped — RIS is line-oriented, and an unescaped abstract silently corrupts the record that follows it.

Re-run the script after any change to the reference list; it is a pure function of main.md.