# Reference patch — 02-tiered-pricing

The answer key for how the reference absorbs this change, and the thing that makes
`budget.json` reproducible. **Never shipped to the candidate.**

1. **Add** `TieredPricing.java` (in this directory) to `reference/src/`. New file, so
   `measureChange` charges nothing for it.
2. **Change one line** in `reference/src/ParkingLot.java`, in the convenience constructor:

   ```diff
   -        this(new SpotGrid(standardSpots), new FirstFitAllocator(), new FlatHourlyPricing());
   +        this(new SpotGrid(standardSpots), new FirstFitAllocator(), new TieredPricing());
   ```

`FlatHourlyPricing` is left in place rather than edited — the old tariff is still a fact about
last month's revenue, and deleting it would be a bigger diff than keeping it.

Measured: `reference_diff = 2` (1 added, 1 removed, one file touched), so
`diff_budget = max(3, 2 + ceil(2/2)) = 3`.

The curveball suite (6 tests) is green after the patch. Note the base suite is **not** expected to
stay green here: the tariff it asserts has been replaced, which is what the change means.
