{"specification":"RFC 8785","profile":"MandateShield-JCS-1","descriptor_version":"1.0.0","generated_at":"2026-07-25","reconstruction_rules":{"json-text":"Parse input_json as UTF-8 RFC 8259 JSON without normalizing strings or numbers.","abstract-json-data-model":"Reconstruct the ordered model. ieee754-binary64 hexadecimal contains the exact eight big-endian IEEE-754 bytes; object member order is input-only and must not affect canonical output.","abstract-host-model":"Construct the described non-JSON host value solely to confirm mandatory rejection."},"vectors":[{"id":"object-order","description":"Object member names sort by UTF-16 code units.","input_encoding":"json-text","input_json":"{\"z\":1,\"a\":2,\"€\":\"Euro\",\"\\r\":\"control\"}","canonical":"{\"\\r\":\"control\",\"a\":2,\"z\":1,\"€\":\"Euro\"}","utf8_hex":"7b225c72223a22636f6e74726f6c222c2261223a322c227a223a312c22e282ac223a224575726f227d","sha256":"sha256:7efdbd15e1203893afa4fccdc1250c13f7807802ed630040054b780d1555923c"},{"id":"numbers-binary64","description":"Exact IEEE-754 binary64 inputs make negative zero and rounding independently reconstructable without lossy JSON transport.","input_encoding":"abstract-json-data-model","input_model":{"kind":"object","members":[{"name":"negative_zero","value":{"kind":"ieee754-binary64","hexadecimal":"8000000000000000"}},{"name":"exponent","value":{"kind":"ieee754-binary64","hexadecimal":"46293e5939a08cea"}},{"name":"small_exponent","value":{"kind":"ieee754-binary64","hexadecimal":"3e7ad7f29abcaf48"}},{"name":"decimal","value":{"kind":"ieee754-binary64","hexadecimal":"41b3de4355555555"}}]},"canonical":"{\"decimal\":333333333.3333333,\"exponent\":1e+30,\"negative_zero\":0,\"small_exponent\":1e-7}","utf8_hex":"7b22646563696d616c223a3333333333333333332e333333333333332c226578706f6e656e74223a31652b33302c226e656761746976655f7a65726f223a302c22736d616c6c5f6578706f6e656e74223a31652d377d","sha256":"sha256:f96963f668d6ffaed3d72a491d185d9ec8cfc688a82b5a6f540420820798439c"},{"id":"nested","description":"Array order is preserved while nested objects are sorted.","input_encoding":"json-text","input_json":"[{\"b\":true,\"a\":null},\"text\",17]","canonical":"[{\"a\":null,\"b\":true},\"text\",17]","utf8_hex":"5b7b2261223a6e756c6c2c2262223a747275657d2c2274657874222c31375d","sha256":"sha256:33db6e5e58849a287dc50492b18c60a31cf8fab6d689c7170de2fd4f3a584c23"},{"id":"unicode-order","description":"Control, ASCII, BMP, surrogate-pair and presentation-form names exercise RFC 8785 UTF-16 ordering.","input_encoding":"json-text","input_json":"{\"דּ\":1,\"😀\":2,\"€\":3,\"z\":4,\"a\":5,\"\\r\":6}","canonical":"{\"\\r\":6,\"a\":5,\"z\":4,\"€\":3,\"😀\":2,\"דּ\":1}","utf8_hex":"7b225c72223a362c2261223a352c227a223a342c22e282ac223a332c22f09f9880223a322c22efacb3223a317d","sha256":"sha256:0fec319d612982b2a651a7fcd4d837baaf5ed69b8f180e885a000a35b2054390"},{"id":"string-escaping","description":"Required JSON escapes are preserved without optional slash or non-ASCII escaping.","input_encoding":"json-text","input_json":"{\"text\":\"line\\nquote\\\"backslash\\\\slash/\\u000f€\"}","canonical":"{\"text\":\"line\\nquote\\\"backslash\\\\slash/\\u000f€\"}","utf8_hex":"7b2274657874223a226c696e655c6e71756f74655c226261636b736c6173685c5c736c6173682f5c7530303066e282ac227d","sha256":"sha256:a5869d9b768f56eb250c22dcc5a63d30031c7c8972782ef5e65c41362256d9c5"}],"invalid_vectors":[{"id":"unpaired-surrogate","input_encoding":"json-text","input_json":"\"\\ud800\"","expected_behavior":"reject","expected_error":"UNPAIRED_SURROGATE"},{"id":"non-finite-number","input_encoding":"abstract-host-model","input_model":{"kind":"ieee754-binary64","hexadecimal":"7ff8000000000000"},"expected_behavior":"reject","expected_error":"NON_FINITE_NUMBER"},{"id":"sparse-array","input_encoding":"abstract-host-model","input_model":{"kind":"sparse-array","length":3,"entries":[{"index":0,"value":"first"},{"index":2,"value":"third"}]},"expected_behavior":"reject","expected_error":"SPARSE_ARRAY"},{"id":"cycle","input_encoding":"abstract-host-model","input_model":{"kind":"object-graph","root":"node-1","nodes":[{"id":"node-1","type":"object","members":[{"name":"self","value":{"kind":"reference","id":"node-1"}}]}]},"expected_behavior":"reject","expected_error":"CYCLIC_VALUE"},{"id":"unsupported-type","input_encoding":"abstract-host-model","input_model":{"kind":"host-undefined"},"expected_behavior":"reject","expected_error":"UNSUPPORTED_JSON_TYPE"}]}