Architecture contract
Produce aDecisionBackendProfileV1, a DecisionReadoutProfileV1 and a DecisionCalibrationManifestV1 co-versioned with the backend. The manifest is bound to the exact model, revision, runtime, question and candidate schema. Your backend returns a DecisionResultV1 over the given candidates; output outside the candidate set is a malformed decision and is rejected.
Gate to leave shadow: calibration metrics. Agreement with another model is not a criterion.
Validate against the schema in spec/Contracts/kernel/v1/schemas/ before anything else. Receivers fail closed, so a document that does not validate is rejected, not repaired.