Exchange API — conformance fixtures
One directory per schema a route sends or receives, each with valid/ and invalid/ JSON files.
A directory named <schema>--<def> targets <schema>.schema.json#/$defs/<def>.
The schemas themselves live in ingest/src/main/resources/exchange/v1/schemas/ and are served at
their $id, https://ingest.profit-base.online/exchange/v1/schemas/<name>.schema.json. The
OpenAPI document is ingest/src/main/resources/api/exchange-v1.openapi.json.
ExchangeContractTest in the ingest module validates every fixture: a valid/ file must pass, an
invalid/ file must fail, and every schema the OpenAPI document references must have at least one
of each. A client can run the same files against its own reader and writer.