Project-local deterministic bytes
One canonical representation.
No identity overclaim.
IARPG-CJSON-1 defines stable UTF-8 JSON bytes for package checksums, handoffs, fixtures, review ledgers, and round-trip evidence. It is an IARPG project profile—not a general industry standard.
CANONICAL PROFILEIARPG-CJSON-1UTF-8 · SHA-256 · duplicate keys rejected
Conformance vectors
Run browser and published-build parity checks.
Normative behavior
What the profile preserves and rejects
Parser Rules
- PARSE-01 Input MUST be one complete JSON value with no trailing non-whitespace content.
- PARSE-02 Duplicate object keys MUST be rejected before normalization.
- PARSE-03 Malformed UTF-8 and unpaired Unicode surrogates MUST be rejected.
- PARSE-04 The untouched original representation MUST remain exportable when an import fails or is normalized.
Serialization Rules
- SER-01 Object keys MUST be sorted in ascending Unicode scalar-value order.
- SER-02 Array order MUST be preserved exactly because array order is significant unless a separate standard says otherwise.
- SER-03 No insignificant whitespace is emitted.
- SER-04 Strings use JSON escaping for quotation mark, reverse solidus, and control characters; valid non-ASCII scalar values remain UTF-8.
- SER-05 Unknown extension fields MUST be preserved and participate in canonicalization.
- SER-06 Negative zero serializes as 0.
Number Rules
- NUM-01 Only finite JSON numbers are accepted.
- NUM-02 Integer values MUST be inside the interoperable range −9007199254740991 through 9007199254740991.
- NUM-03 Decimal values use the runtime shortest round-trippable JSON representation; publication fixtures avoid ambiguous cross-runtime exponent boundaries.
Timestamp Rules
- UTC-01 Fields whose name ends in _utc MUST use RFC 3339 UTC form YYYY-MM-DDTHH:mm:ss[.fraction]Z.
- UTC-02 Offsets other than Z are rejected for _utc fields.
| Result | Vector | Expected | Browser output | Explanation |
|---|---|---|---|---|
| Run the vectors to generate browser evidence. | ||||
Vectors have not been run in this browser.