Proposed source-7 clarification — pending integration =================================================== This is a proposed replacement for the DataTypeDefinition table in ``docs/language.rst`` section 4.5, plus a clarification of the Legacy port paragraph in section 4. Windows admission-1 passed ten focused tests on 2026-09-13; the linked evidence report defines their limits. Peer integration and incorporation into the reference remain pending. It changes no parser behavior. .. list-table:: Reusable definitions :header-rows: 1 * - Constructor - Required fields when this constructor is selected - Fields permitted to be omitted in source 7 * - Boolean - None - None * - Integer - None - ``minimum``, ``maximum``: optional signed 64-bit integers; each defaults to ``none`` * - Real - None - ``minimum``, ``maximum``: optional finite IEEE-754 binary64 values; each defaults to ``none`` * - String - ``minimum_length``: u32 - ``maximum_length``: optional u32; defaults to ``none`` * - Enumeration - ``literals``: unique nonempty, case-sensitive strings - None * - Record - None - ``supertype``: same-layer Record ref?; defaults to ``none`` These are selected-constructor contracts. Omitting an entire DataType ``definition`` uses the declaration default, String with minimum length 0 and no maximum. Selecting ``String {}`` instead MUST reject because its required ``minimum_length`` is absent. Explicit ``none`` remains accepted for nullable fields. Unknown and duplicate fields still reject. These omission rules do not make all nullable fields in every constructor omissible. For a supplied ``legacy`` port record, ``direction`` is required; ``interface`` may be omitted and then means ``none``. For example, ``legacy { direction InOut; };`` and ``legacy { direction InOut; interface none; };`` describe the same legacy record. ``contract Legacy`` remains explicit, and model validation requires the legacy record for that contract. The omission permission does not supply a missing direction or remove port ownership and compatibility checks.