EXP-039: modeled explicitly (was an inline dict[str, str])
so the generated JSON-Schema / TS types carry the structured
{left, right} shape instead of a loose string map. The
extra="forbid" config + the two required fields replace the
former per-pair key check in _validate_matching_fields;
validation semantics are unchanged (a pair must have exactly
left and right).
One left↔right pair in a MATCHING exercise.
EXP-039: modeled explicitly (was an inline
dict[str, str]) so the generated JSON-Schema / TS types carry the structured{left, right}shape instead of a loose string map. Theextra="forbid"config + the two required fields replace the former per-pair key check in_validate_matching_fields; validation semantics are unchanged (a pair must have exactlyleftandright).