the gate measures the constructor, not a copy of its constants: loot-perf-gate starts from Fixtures::gated() (#915)
`Fixtures::gated()` is documented as what the pre-land gate measures and had no
production caller — the gate binary rebuilt an equivalent by hand out of
COUNTERS_SIZE/TIMING_SIZE/NEGOTIATION_SIZE/NEGOTIATION_DEPTH. Two independent
statements, and `fixture.rs`'s workload_id test — the one guarding the field
#607 selects baselines on — asserted against the one the shipped gate never
constructed. They agreed only because #847 edited both by hand.
The binary now starts at `Fixtures::gated()` and applies `--counters` /
`--timing` as modifications of it (`with_counters` / `with_timing`), so a change
to the constructor reaches the gate by construction rather than by whoever edits
next knowing this file exists. The negotiation half deliberately gets no setter:
its depth IS the measurement (#847), and that asymmetry is the design. 5a08bb26 · dbf3dbe6…
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.