Fact-check · the claim ledger
Every claim in the story, traced to what its source actually says
The reporter's coded figures, the experts and advocates, the utility's own responses, and the legal and academic benchmarks — each mapped to the evidence behind it, what that evidence supports, and where it stops. Filter by side, search the text, and open any claim for its verdict and a direct link to both the original source and the archived copy in the repository.
← Back to the story · package home · plain-text version
The spine. The board was unanimous on all 228 votes over two years. By its Vice Chair's own account, the deliberation that would explain that happens in an hour-long executive session before each public meeting — and a media-law attorney says the Sunshine Act does not permit a closed session that decides the day's agenda. The dispute is not whether the board agrees. It is where the deciding happens, and whether the public is allowed to watch.
Three reconciliations
Two question counts
Counted per meeting the board asked 131; counted against specific resolutions, 96. The gap is general-discussion questions. Both are correct for what they measure.
Unquestioned: 156, not 142
The governing figure is 156 (228 − 72 questioned). An earlier enumerated list ran to only 142 rows; it was incomplete, not a different finding.
Draft → published
An early draft said 218 / 215 / $1.78B. Continued coding corrected those to 228 / 223 / $871.25M before publication. Only the published figures ship.
No claims match that filter.
Check the work. Every claim above resolves to a source in the repository, and every coded figure recomputes from the committed data. From the package folder:
python 03-harness/check.py
It re-hashes each archived source and rebuilds every headline figure, then prints one verdict.