Skip to content

Branch main Contract StateValidityDiagnostic

github-actions[bot] edited this page Jun 29, 2026 · 102 revisions

Contract: Statevaliditydiagnostic

Back to Branch Overview

Field Value
Branch main
Source specs/contracts/StateValidityDiagnostic.schema.json
Commit 774b981ef226
Synced (UTC) 2026-06-29T06:00:16Z

Visual Context

Contract pages define the machine-checkable object shape that crosses a lifecycle boundary.

flowchart LR
  Producer["Lifecycle producer"] --> Contract["Contract schema"]
  Contract --> Example["Schema example"]
  Example --> Validator["Schema validator"]
  Contract --> Fixture["Conformance fixture output"]
  Fixture --> Gate["Base-design gate"]
Loading

Reading Checklist

Question Where to look
Which lifecycle boundary uses it? Read description, required fields, and linked references.
What diagnostics are mandatory? Inspect diagnostic reference fields and rule-reference links.
How is it validated? Compare this schema with fixtures/schema_examples/ and conformance vectors.

JSON Payload

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "StateValidityDiagnostic",
  "description": "State-validity diagnostic composing the diagnostic envelope.",
  "type": "object",
  "properties": {
    "stateValidityDiagnosticID": {
      "type": "string"
    },
    "diagnosticEnvelope": {
      "$ref": "DiagnosticEnvelope.schema.json"
    },
    "admissibilityStatus": {
      "type": "string",
      "enum": [
        "VALID",
        "TRANSFORMATION_COMPATIBLE",
        "TRANSFORMATION_INCOMPATIBLE",
        "UNCLASSIFIED"
      ]
    },
    "normalizationStatus": {
      "type": "string",
      "enum": [
        "ALREADY_VALID",
        "NORMALIZABLE",
        "NOT_NORMALIZABLE",
        "BLOCKED"
      ]
    },
    "recoverabilityRelevance": {
      "$ref": "RecoveryCategory.schema.json"
    }
  },
  "required": [
    "stateValidityDiagnosticID",
    "diagnosticEnvelope",
    "admissibilityStatus",
    "normalizationStatus",
    "recoverabilityRelevance"
  ],
  "additionalProperties": false
}

Clone this wiki locally