{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://gentle-ai.dev/contracts/review-integration/v2/schemas/capabilities.schema.json",
  "title": "Gentle AI review integration capabilities protocol 2.0",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema", "contract", "protocol", "package", "build", "executable", "operations", "gates",
    "projections", "schemas", "features", "compatibility"
  ],
  "properties": {
    "schema": {"const": "gentle-ai.review-integration.capabilities/v2"},
    "contract": {"const": "gentle-ai.review-integration/v2"},
    "protocol": {
      "type": "object", "additionalProperties": false, "required": ["major", "minor"],
      "properties": {"major": {"const": 2}, "minor": {"const": 0}}
    },
    "package": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/package"},
    "build": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/build"},
    "executable": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/executable"},
    "operations": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/operations"},
    "gates": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/gates"},
    "projections": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/projections"},
    "schemas": {
      "type": "array", "minItems": 22, "maxItems": 22, "uniqueItems": true,
      "items": {
        "enum": [
          "gentle-ai.review-admitted-result/v2",
          "gentle-ai.review-artifact-subject/v2",
          "gentle-ai.review-authority-repair-assessment/v1",
          "gentle-ai.review-authority-status/v1",
          "gentle-ai.review-gate-request/v1",
          "gentle-ai.review-integration.capabilities/v2",
          "gentle-ai.review-integration.consent/v2",
          "gentle-ai.review-integration.failure/v2",
          "gentle-ai.review-final-verification-incident/v1",
          "gentle-ai.review-integration.operation/v2",
          "gentle-ai.review-integration.projection/v1",
          "gentle-ai.review-integration.repair/v2",
          "gentle-ai.review-integration.start/v3",
          "gentle-ai.review-integration.status/v3",
          "gentle-ai.review-receipt/v1",
          "gentle-ai.review-receipt/v2",
          "gentle-ai.review-result-artifact/v2",
          "gentle-ai.review-targeted-validation-request/v1",
          "gentle-ai.review-verification-evidence/v2",
          "https://gentle-ai.dev/schema/review/refuter/v1",
          "https://gentle-ai.dev/schema/review/reviewer/v1",
          "https://gentle-ai.dev/schema/review/validator/v1"
        ]
      }
    },
    "features": {
      "type": "object", "additionalProperties": false, "required": ["mandatory", "optional"],
      "properties": {
        "mandatory": {"type": "array", "minItems": 10, "maxItems": 10, "items": {"$ref": "#/$defs/feature"}},
        "optional": {"type": "array", "minItems": 17, "maxItems": 17, "items": {"$ref": "#/$defs/feature"}}
      }
    },
    "bootstrap": {"$ref": "#/$defs/bootstrap"},
    "compatibility": {
      "type": "object", "additionalProperties": false,
      "required": [
        "minimum_protocol_major", "maximum_protocol_major", "additive_minor_policy", "unknown_mandatory",
        "unknown_optional", "modes", "legacy_window"
      ],
      "properties": {
        "minimum_protocol_major": {"const": 2},
        "maximum_protocol_major": {"const": 2},
        "additive_minor_policy": {"const": "optional-fields-only"},
        "unknown_mandatory": {"const": "reject"},
        "unknown_optional": {"const": "ignore"},
        "modes": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/compatibility/properties/modes"},
        "legacy_window": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/properties/compatibility/properties/legacy_window"}
      }
    }
  },
  "$defs": {
    "feature": {
      "type": "object", "additionalProperties": false, "required": ["name", "supported", "requires"],
      "properties": {
        "name": {
          "enum": [
            "base_ref_workspace_overlay", "bounded_process_waits", "classified_authority_repair", "compact_v2_authority",
            "exact_gate_receipt_discovery", "exact_receipt_replay", "five_delivery_gates", "immutable_snapshot",
            "legacy_v1_target_scoped_read_only", "native_frozen_candidate_context", "native_low_risk_verification",
            "native_next_transition", "one_shot_final_verification_retry", "opaque_repository_context",
            "outcome_bound_verification_evidence",
            "provider_artifact_admission", "provider_bound_native_git_context", "provider_targeted_validation_request",
            "recovered_correction_evidence", "repository_independent_capabilities", "restart_safe_projection", "risk_reasons",
            "scope_change_diagnostics", "sdd_receipt_binding", "target_scoped_status", "uniform_failure_envelope",
            "validating_result_reopen"
          ]
        },
        "supported": {"type": "boolean"},
        "requires": {"type": "array", "uniqueItems": true, "items": {"type": "string", "minLength": 1}}
      }
    },
    "bootstrap": {
      "type": "object", "additionalProperties": false,
      "required": ["command", "target_selector_variants", "required_feature", "unsupported_outcome", "parent_only"],
      "properties": {
        "command": {"const": "gentle-ai review status --cwd <repo> --contract gentle-ai.review-integration/v2 --next-transition"},
        "target_selector_variants": {"$ref": "../../v1/schemas/capabilities-v1.4.schema.json#/$defs/bootstrap/properties/target_selector_variants"},
        "required_feature": {"const": "native_next_transition"},
        "unsupported_outcome": {"const": "unsupported-capability"},
        "parent_only": {"const": true}
      }
    }
  }
}
