# LittlePly reproduction artifacts — 2026-10-28 This release contains the monthly and pilot model weights, filtered public Lichess raw PGNs, tokenized datasets and the reviewed source snapshots. It contains no optimizer/resume checkpoints, credentials or private human test games. ## Download and verify Requires Python 3 and curl. Download the readable helper and inspect it before running: ```sh curl --fail --output download.py https://artifacts.littleply.com/v1/2026-10-28/download.py python3 download.py ``` The helper downloads release.json, verifies every part with SHA-256, joins split archives in manifest order, and verifies the complete archive hash. It writes only under ./littleply-2026-10-28. Large archives are split to fit the authenticated upload endpoint; never extract a partial archive. All packages together are about 1.254 GB compressed. Individual object and archive sizes/hashes are in release.json. SHA256SUMS lists downloadable parts. ```sh cd littleply-2026-10-28 mkdir -p source data/month-202609/tokenized data/pilot-202609/tokenized tar -xzf source.tar.gz -C source tar -xzf data/month-202609/tokenized.tar.gz -C data/month-202609/tokenized tar -xzf data/pilot-202609/tokenized.tar.gz -C data/pilot-202609/tokenized gunzip -k data/month-202609/raw-filtered.pgn.gz gunzip -k data/pilot-202609/raw-filtered.pgn.gz tar -xzf models/month-20261028/model.tar.gz -C models/month-20261028 tar -xzf models/pilot-20261028/model.tar.gz -C models/pilot-20261028 ``` ## Inspect the model without training or playing games The export was checked with Python 3.12.15, torch 2.9.0+cu128, transformers 5.21.0 and safetensors 0.8.0. Use an isolated environment and a torch build appropriate for your hardware. No CUDA is needed for the included CPU smoke test. Install transformers==5.21.0 and safetensors==0.8.0 alongside compatible torch 2.9.0. Fetch load_model.py from the same release directory and run: ```sh python load_model.py models/month-20261028 ``` The helper constructs GPT2LMHeadModel from config.json, strictly loads model.safetensors and verifies 128 finite raw next-token logits from BOS (69). Every exported tensor was compared exactly to the hash-verified source checkpoint. Tied output embeddings are stored explicitly for a strict state-dict load. No optimizer, scheduler, RNG state or private training identity is serialized. export.json records the original checkpoint SHA-256 and transformation. The new export has its own hash. These are non-reasoning next-token models. Moves are source-square/destination-square/promotion triples; full history begins at the standard start. Tokenizer version and implementation are in source/data-202609/tokenizer.py. Do not crop context or confuse raw token argmax with legal joint-move selection. Legal filtering and the three-ply mate helper are external; their implementation is in source/match-20261028/. load_model.py is a new export reader, not a historical training source file. ## Data and reproduction boundaries Monthly raw-filtered.pgn is the 700,435-game header-qualified staging input (1,995,860,466 uncompressed bytes), before legality, deduplication and context-length exclusions. It is not the complete month and not just the retained training rows. The tokenized monthly release contains all 698,472 retained games across train/validation/test: 684,367 / 7,000 / 7,105. It stores uint8 tokens and uint64 little-endian offsets plus public-corpus metadata. No test-set model evaluation is claimed. Token, offset and public metadata bytes are unchanged. Dataset manifest local paths are replaced with PRIVATE_PATH placeholders; PUBLIC-PROVENANCE.json records original per-file hashes and the exact transformation. Source snapshots carry original and rendered digests. The datasets' recorded fingerprints refer to the original preparation, not a new run. Do not use a sanitized manifest hash as if it were the original integrity receipt. To inspect/convert data, assemble source/data-202609 as a chessdata package and install python-chess. Run python -m chessdata.convert --help for supported options. The manifest provenance includes exact preparation options, including strong filters, split seed and full-history token cap. Re-run into a new output directory with those options; compare token sequences and split membership rather than machine-specific metadata paths. The converter's complete-history contract rejects overlength games rather than cropping them. Training architecture/configuration, seed, schedule, optimizer, precision and hardware are recorded in source/experiments.json and https://littleply.com/experiments/month-20261028/. Monthly training source is in source/month-20261028/. The historical launch supervisor requires locally generated integrity/approval/deadline receipts; private operational receipts are deliberately not distributed. Generate your own verified input receipts and compute budget before a new training run. These exports support inference inspection and data reconstruction; this is not a turnkey replay of the original machine's supervised launch. Pilot historical training bytes remain unavailable, clearly marked in source/snapshots.json. No bit-identical cross-hardware training claim is made. For the complete 29,224,520,887-byte September archive, download from the official source: https://database.lichess.org/standard/lichess_db_standard_rated_2026-09.pgn.zst SHA-256: 1de8eb64fed443f4be310c779e8d60a13bcfc6e3b104bcb39a018eb056edec89 ## Licensing and attribution Lichess database exports are CC0: https://database.lichess.org/. The filtered raw/tokenized data are derived from those public exports. Public corpus usernames remain corpus metadata; no local private human-test game is added. Project code and model artifacts are published for inspection and reproduction; no broader reuse license is specified. Third-party dependencies retain their own licenses. Sunfish is separately obtained from https://github.com/thomasahle/sunfish at recorded commit e396948acbd80cdcbad3dccfb07e878fba9df8f4; its implementation is not bundled.