mirror of
https://github.com/semantica-agi/semantica.git
synced 2026-09-13 04:04:09 +00:00
1. An absurd magnitude expanded instead of being rejected. xsd:decimal has no exponent notation, so the value has to be written out in full, and "1e100000000" is eleven characters that expand to a hundred million digits. "1e100000" already produced a 100,001 character string here. The export path continues past validation errors, so one malformed field could exhaust memory. Values beyond MAX_CONFIDENCE_EXPONENT are now omitted like any other unusable value. 1e-9 still round-trips. 2. Decimal keeps the sign of zero, so 0.0 and -0.0 serialised as "0" and "-0", which are two distinct RDF terms. That is exactly the duplicate this PR exists to remove, so zero is normalised. 4 further tests.