Learning to See Beauty: Personalized Ranking from Portrait Comparisons Completed individual study, 23 October 2026 Unzip all archives into the same directory. They share one top-level folder, chicken-angel-beauty, and their research files do not overlap. Every archive has a manifest of SHA-256 file hashes; downloads.json records the archive hashes. records-and-code: the frozen protocol and input code, all 40 real participant responses, frozen feature arrays, every saved prediction, evaluation, conditional resampling output, tests, source metadata, and reading notes with primary links. paper-and-figures: the final PDF, complete LaTeX sources, all 16 figures in PNG/SVG/PDF, and seven editable diagrams.net scenes. Parts split by size only. portraits: all 104 byte-identical canonical and full-frame JPEG inputs, plus the four original target photographs and their source metadata. commons-originals: the 48 final original actress photographs; parts split by size. Original metadata and attribution records are in records-and-code. The primary result is 3/11 decisive held-out choices, versus 2/11 for the matched ablation and 9/11 for an identity-only control. The observer preferred Tongdak Cheonsa in all four scheduled target pairs. The primary scorer matched none and ranked her 12th of 13 panels. A complete human ranking was never collected. The data describe one participant and a purposive finite collection. Reanalyze saved predictions in a COPY of this folder; preserve the recorded results and their freeze files. Python 3.12 and exact package versions are listed in experiments/learning-beauty/requirements.txt. From the top-level folder: python -m unittest discover -s experiments/learning-beauty -p 'test_*.py' python experiments/learning-beauty/verify_release.py python experiments/learning-beauty/evaluate_results.py python paper/learning-beauty/make_designs.py python paper/learning-beauty/make_results_figures.py python paper/learning-beauty/build_tables.py tectonic paper/learning-beauty/manuscript/main.tex To refit from the saved features, first rename results to recorded-results in the COPY, then run experiments/learning-beauty/run_training.py followed by the evaluation command. Without this preservation step, fitting refuses an unnecessary rerun. The scripts verify the protocol, response and input hashes. Re-running training is a reproducibility exercise after labels have been seen; it cannot create a new prospective experiment. The original prediction freeze predates the original evaluation. Local times and hashes are recorded in the manifests. Feature extraction is optional because frozen arrays are included. It downloads the two public CLIP checkpoints pinned by revision in study_spec.json. Model weights and downloaded literature PDFs are excluded from these archives. prepare_portraits.py uses the recorded MediaPipe model hash and fixed crop rule; its model asset must be obtained separately as described in that script. The canonical image files used in the experiment are already included byte-for-byte. The initial Korean panel had zero responses and is preserved as protocol history; its photographs and obsolete feature arrays are not part of this experiment's public bundle. Two rejected international sources are documented in metadata and replacement logs; the 48 originals bundle contains only final retained sources. Each Commons photograph retains its own attribution, license and source link. Canonical crops are adaptations under the corresponding source terms, including ShareAlike where applicable. This is not a blanket license for the dataset. The four target photographs were supplied by the requester; no CC license or verified redistribution rights is inferred for them. Consult source records. This independent preprint uses the unchanged official NeurIPS 2026 style; it is not a submitted, reviewed, or accepted conference paper. The participant supplied the choices; coding, research synthesis, and manuscript preparation used AI assistance. The website is static and makes no model calls.