v0.2.0 - stable: graduated on the first real full-pipeline run
CoalFace leaves beta. The graduation gate - held honestly since the first public beta ("graduates only when a REAL /coalface swarm runs on a REAL flat worksite") - is satisfied by a genuine job: a 15-spot doc-conform sweep across 5 sibling repositories, running the full contract end-to-end.
The run: scout (spot list + shared-digest + invariants) ? deterministic partition (the min-unit floor merged one repo's spots into the conductor) ? 1 wave, width 4 (slow-start) ? 4 workers returning anchor-edit orders as text ? QC at collection caught 4 real issues before any apply (a scout anchor drift, 2 template path errors, a memory-vs-code contradiction) ? single-writer sequential apply ? domain gates green ? receipt.
Honest wallet note: on this job the swarm did not beat the solo estimate (?220k worker tokens vs a ~150-250k solo estimate) - consistent with the shipped benchmark: the wallet is a bound and a right-sizing discipline, not a token saving. The graduation evidence is the discipline working - QC catches before apply, no worker ever writing the tree, gates green - not a token win.
Code is identical to 0.2.0-beta.3; this release changes the version and status labels only. Full history: CHANGELOG.md.