Every input arrives as a pin
The climate row, the yield factors, the retail price, the capital cost, the subsidy and the assumption set each enter as a reference, a vintage and a hash. The grid's operating record is listed too, as an empty input with its own hash, because no published range uses it. An input that does not exist for a market, or that no published edition uses, is recorded with its reason, never defaulted to zero or borrowed from a neighbour.
A new edition needs a committed change
When it runs, the daily job recomputes each market from the committed inputs and compares the result with the published edition's hashes. On most days nothing has changed. A commit that changes an input or the method supersedes the edition. The job reads the grid's recent record only to test the review triggers. It keeps each trigger's reference and a dated record of every test, which the market pages show, and the record never moves a published range.
A trigger opens a review, not a rewrite
Each edition declares the tests that would make it worth reopening, as a comparator, a threshold and a window a machine can evaluate rather than a sentence it cannot. A crossed trigger opens a review. A person closes it.
The horizon is marked when it arrives
When a period becomes observable, the like-for-like observation is appended beside the original range and marked inside, above or below it. The published range is not edited to fit what happened.