Skip to content

Branch main Contract RecoveryPlan

github-actions[bot] edited this page May 19, 2026 · 102 revisions

Contract: Recoveryplan

Back to Branch Overview

Field Value
Branch main
Source specs/contracts/RecoveryPlan.schema.json
Commit a8bea152e7f9
Synced (UTC) 2026-05-19T05:45:26Z

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": "RecoveryPlan",
  "description": "Recoverability-driven plan with no executable NO_OP step.",
  "type": "object",
  "properties": {
    "recoveryPlanID": {
      "type": "string"
    },
    "planDisposition": {
      "type": "string",
      "enum": [
        "NO_ACTION",
        "MUTATION_REQUIRED",
        "ESCALATION_REQUIRED",
        "TERMINAL"
      ]
    },
    "diagnosticReference": {
      "$ref": "DiagnosticReference.schema.json"
    },
    "stateClass": {
      "$ref": "SystemStateClass.schema.json"
    },
    "recoveryCategory": {
      "$ref": "RecoveryCategory.schema.json"
    },
    "requiresPolicyGate": {
      "type": "boolean"
    },
    "requiresBackup": {
      "type": "boolean"
    },
    "recoverySteps": {
      "type": "array",
      "items": {
        "$ref": "RecoveryStep.schema.json"
      },
      "minItems": 0
    },
    "planHash": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    }
  },
  "required": [
    "recoveryPlanID",
    "planDisposition",
    "diagnosticReference",
    "stateClass",
    "recoveryCategory",
    "requiresPolicyGate",
    "requiresBackup",
    "recoverySteps",
    "planHash",
    "createdAt"
  ],
  "additionalProperties": false
}

Clone this wiki locally