The truth files used `determinableFromResponseDocument`; the schema column
and gateEvaluableFromResponse() use `determinableFromResponse`. A silent
name drift means the flag reads as its default (true), and R-B6C — "two bid
copies submitted", which no response document can ever establish — starts
failing bidders on a packaging detail.
Renamed in rfp.truth.json and validate-responses.py, and added the mirror
check to validate-truth.py so the drift cannot recur unnoticed:
gates 13, evaluable from the response 12, excluded 1
excluded: R-B6C Two bid copies submitted.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>