The field list isn't JSON Schema yet
The discovery connector returns field names, type expressions and required booleans. A declaration such as array | null describes an intention, but it isn't valid JSON Schema. Passing it directly to the payload validator would ask that validator to interpret a second format.
The normalizer first checks that the requested endpoint, returned endpoint and tested adapter agree. It then builds a Draft 2020-12 object schema: required flags become a root list, nullable values become explicit alternatives and extra properties are disallowed. The generic validator doesn't need an exception for the connector.
An array needs item rules
The descriptor or selected adapter can supply the array's item schema. When both supply one, they must agree. Unknown unions, duplicate names and conflicting required flags stop preparation before approval, where the ambiguity can still be resolved without submitting a job.
An optional array with incomplete item rules stays in the normalization record but is forbidden in an execution payload. This preserves what the connector returned without guessing what the provider accepts.
Review the translation as well as the payload
The normalization record keeps the raw descriptor and normalized schema, their separate fingerprints, the adapter and the normalizer version. Routing and compilation carry those identities into the final handoff. Execution checks can then compare the job with the same interpretation that was reviewed.
Changing the descriptor or normalizer version changes the later fingerprints even if the payload still passes validation. Validity answers whether the payload fits a schema; these bindings also answer which schema and translation were approved.
The focused regression definitions cover nullable string arrays, unsupported unions, duplicates, endpoint mismatches and descriptor or version changes. They weren't rerun for this account, and the package contains no upload or generation client.
Keeping the original descriptor and its translated schema
The provider descriptor is translated before job approval. Later checks still track the raw descriptor used to produce that schema.
Provider evidence
Deterministic preparation
Approval chain
Scroll or drag the background to move. Use the zoom buttons to resize.Arrow keys move between components. Enter selects.
Choose a component to explore
Select a numbered component on the map or use the component menu. Its details and connections will appear here.
No component selected.
All connections (11)
- 01 · Connected descriptor → 03 · Pure normalizerexact descriptor · Direct call
- 02 · Tested adapter contract → 03 · Pure normalizersupported interpretation · Direct call
- 03 · Pure normalizer → 09 · Refused contractmalformed or unsupported · Blocked / denied
- 03 · Pure normalizer → 05 · Raw provenance fingerprintpreserve raw authority · Direct call
- 03 · Pure normalizer → 04 · Strict schema validatorcanonical schema · Direct call
- 04 · Strict schema validator → 09 · Refused contractschema or adapter mismatch · Blocked / denied
- 04 · Strict schema validator → 06 · Normalized schema fingerprintaccepted schema · Direct call
- 06 · Normalized schema fingerprint → 07 · Capability and compiled jobpayload validation authority · Direct call
- 05 · Raw provenance fingerprint → 07 · Capability and compiled jobprovenance authority · Direct call
- 07 · Capability and compiled job → 08 · Approval and precall bindingsfingerprinted job · Direct call
- 08 · Approval and precall bindings → 09 · Refused contractbinding drift · Blocked / denied