The config family is taken from the instance's $schema, which must be one of
the supported schemas; a missing or unrecognized $schema is an error.
A run record is rejected, and named as such. A record declares the same
fields as the config it came from, so it would read as one -- but every value
in it is resolved, including values a run derived from data this call has
never seen. Accepting it would silently pin settings the new call should
decide for itself. Records are written by write_record and identify
themselves with a record.json schema.
Validation is entirely rtemis's own: check_wire_keys() rejects an unknown
key at every level of the document, and each setup_* then constructs an S7
object whose properties enforce their declared types, bounds, enums and
arities. Those properties are the same PropertySpecs the published JSON
Schemas are generated from, so reading a config in R applies the published
contract by construction.