Initial contradiction advice
Esdieff explains four kinds of constraint contradiction in established effective Full Data Descriptions. Each proven contradiction produces warning advice with a stable proof.* code and assessment_unit:"advisory-four/1". This follows ADR 0003: Check findings and completeness, ADR 0009: Bounded processing and reporting, and ADR 0013: Shared workflow and report guarantees.
For example, type:"number", nullable:false, minimum:2, exclusiveMaximum:2 admits no numeric value. The warning explains the conflicting effective bounds, their nearest source contributors and the importing reference when present. Composition repairs and deletions are applied before proofs; the original source bytes remain available.
| Code | Established premises and boundary |
|---|---|
proof.empty_numeric_interval | Base number/integer, nullable false and an available lower/upper pair. Each present pairing of minimum/exclusiveMinimum with maximum/exclusiveMaximum is checked exactly. Lower greater than upper, or equal with an exclusive endpoint, warns once for that pair. Inclusive equality and integer gaps do not warn. |
proof.inverted_text_lengths | Base string, nullable false and nonnegative mathematically integral minLength/maxLength, with minimum greater than maximum. Lengths count decoded Unicode scalars. Known uri, uri-reference, uuid, date, time and date-time formats preserve this independent constraint. |
proof.inverted_array_counts | Base array, nullable false and nonnegative mathematically integral minItems/maxItems, with minimum greater than maximum. No item or uniqueness consistency inference is made. |
proof.primitive_const_type | Base number, integer, string or Boolean and an established scalar/null const. Integer constants use mathematical integrality, so 10.0 and 1e2 are integral. A nonnull wrong primitive kind is independent of nullable; const null contradicts nullable false, including with known string formats. Array/map constants and array/map base types are excluded. |
Owners with enum or sdfChoice are excluded, including malformed selectors. Established derived alternatives and nested full properties have their own guards. Direct item descriptions themselves are excluded; inheriting a direct-item quality into a Full alternative does not establish a meaning that was unavailable in its donor. The effective alternatives contract preserves these distinctions.
Guard uncertainty affects only proofs that depend on it. Unrelated default, requiredness, unit, contentFormat or opaque descendants do not veto independent ordinary numeric bounds. Unsupported sdfType, byte-string, unix-time and unknown format meaning leave dependent conclusions unfinished. Recognized abstract formats alone do not establish nonnull primitive const compatibility from a conventional JSON representation. Unavailable roots, named entries, collections or traversal also defer the advisory area while independently established warnings remain available.
Acquisition spends numeric work across all supplied sources. Each check starts one counter from the immutable remaining acquisition budget and shares it across descriptions, inherited instances, classes and pairs. Exact comparison charges the longer normalized coefficient length plus one before comparing. Integrality premises charge one unit each. Exponent gaps do not allocate expanded numbers, and normalized powers do not reapply raw exponent limits. A failed numeric precharge leaves an unproved conclusion unfinished and produces operational operation.limit with the advisory area, proof class, comparison or integrality operation, and affected Quality Names. Independent nonnumeric proofs can still warn. Repeating a check uses the same immutable acquisition remainder.
These numeric limit conditions use Operational basis advisory-numeric-work. Their bounded arguments include proof_class with the corresponding proof.* code, operation with compare or integrality, and qualities with the one or two affected Quality Names in operand order. Available effective/source locations and optional exact lexemes follow the same witness bounds as warnings. Unavailable input meaning remains a separate establishment limitation; omitting a witness for presentation limits does not create another unfinished semantic check.
Optional witnesses retain at most eight locations: the effective description, up to three effective contradiction operands, their nearest source contributors and an importing consumer. Type is also a bounded argument. Numeric argument values retain original lexemes as strings when at most 1024 bytes; no floating conversion is used. Enum const contributors point to their actual authored occurrences. Count, byte and pointer limits can omit these details without changing aggregate warning counts or semantic coverage.
The fixed initial inventory has eight areas. These proofs determine advisory-four/1 independently of the seven structure/composition areas. The first three classes require established nullable false before becoming applicable; declared or specified-default true excludes them. Relevant uncertainty makes the advisory area undetermined once across the whole requested scope, regardless of how many specific numeric limits are reported. Full includes this same advisory area once alongside its12 model areas. Inspect does not perform these proofs. Absence of a warning does not establish general satisfiability. Strict warnings affect disposition, preserving warning severity and counts.