EvolMoves: benchmark harness and source identity
score row → family → input → chains → decoder. keep that trail intact or this becomes a spreadsheet séance... which is a terrible debugging strategy
September 17 evidence cutoff: local repository e2b603d5, as recorded in the milestone deck. The harness carries source/case identity through inference, balanced posterior pooling and scoring. Reference/truth access is reserved for validation/scoring rather than sampler input.

Benchmark flow: inputs, MCMC, chain validation, pooling, and scoring.
File map: benchmarks/nute2019/README.md, benchmarks/nute2019/CONTRACTS.md, and benchmarks/nute2019/corpus/manifest.tsv. The recorded common biological corpus contains 658 BAliBase, 231 Homstrad, 202 MattBench and 101 Sisyphus families.
Reference semantics: structural benchmark alignments measure structural agreement; they are not known evolutionary histories. Recomputing scores from archived alignments is arithmetic reproduction, not a new inference run.
Review questions: can each metric row be traced to source family, exact input, chain, posterior-pooling rule and decoder? Are unsupported/undefined outcomes kept as missing rather than silently omitted? The deck's filenames are source references from that snapshot, not freshly inspected repository files.