Fuaranfuaran

The source for generative UI

The conformance corpus

The wire-format-fixtures corpus is the F# reference encoder's canonical output: the canonical encoding written straight into each fixture's expected file, and the reference decoder's error code + JSON path written straight into the manifest. So the corpus is a serialised conformance report – every other codec host is held byte-identical to it.

Download the bundle · JSON Schema · manifest.json

Fixture groups

Each fixture declares a kind that names how a conformant host must treat it:

GroupWhat a host must do
node-round-tripdecode the input, re-encode, assert byte-equal to the expected canonical form
op-round-tripthe same, for TreeOps
rejectdecode, assert the decode fails with the expected error code at the expected JSON path
lenient-accept (§16)decode a shorthand input, re-encode, assert byte-equal to the verbose canonical form – a host MUST accept and normalise shorthand
envelope-round-trip / -reject (§15)negotiate the authored $profile against the host's own core@1.0; preserve unknown kinds verbatim, or refuse a foreign profile
elicitation-* (§18)the elicitation envelope, outcome, and answer-conformance codecs

Reject fixtures carry their expected error

A reject fixture asserts the decoder fails with a specific, stable error – the same code at the same JSON path on every host. Representative examples:

Expected errorAt pathMeaning
EMPTY_NODE_ID$.ida node id must be non-empty
MISSING_FIELD$.kind.texta required field is absent
WRONG_TYPE$.kind.…a field has the wrong JSON type
UNKNOWN_DU_CASE$.kind.$typean unrecognised node / op discriminator
INVALID_JSON$the input is not well-formed JSON
FOREIGN_PROFILE$.$profilea wire profile the host cannot negotiate

The full error taxonomy and every fixture's exact code + path are in the bundled manifest.json.