{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://intentroute.net/catalog/v1.1/schema/capability-record.schema.json",
  "title": "IntentRoute web.search capability record v1.1",
  "description": "Versioned, evidence-bearing record contract for one programmatic web-search capability, including product stage and claim-backed agent-task classifications.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "$schema",
    "schema_version",
    "record_id",
    "record_version",
    "catalog_release_id",
    "category",
    "record_status",
    "provider",
    "product",
    "delivery_model",
    "agent_tasks",
    "canonical_uris",
    "claims",
    "correction",
    "revision_history"
  ],
  "properties": {
    "$schema": {
      "const": "https://intentroute.net/catalog/v1.1/schema/capability-record.schema.json"
    },
    "schema_version": {
      "const": "1.1.0"
    },
    "record_id": {
      "type": "string",
      "pattern": "^web-search:[a-z0-9]+(?:-[a-z0-9]+)*$"
    },
    "record_version": {
      "$ref": "#/$defs/semanticVersion"
    },
    "catalog_release_id": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$"
    },
    "category": {
      "const": "web.search"
    },
    "record_status": {
      "enum": [
        "candidate",
        "accepted",
        "stale",
        "disputed",
        "withdrawn"
      ]
    },
    "provider": {
      "$ref": "#/$defs/providerReference"
    },
    "product": {
      "$ref": "#/$defs/productReference"
    },
    "delivery_model": {
      "enum": [
        "independent_index",
        "ai_native_retrieval",
        "serp_provider",
        "hybrid",
        "model_hosted",
        "other"
      ]
    },
    "canonical_uris": {
      "$ref": "#/$defs/canonicalUris"
    },
    "claims": {
      "$ref": "#/$defs/claims"
    },
    "correction": {
      "$ref": "#/$defs/correction"
    },
    "revision_history": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/revision"
      }
    },
    "agent_tasks": {
      "$ref": "#/$defs/agentTasks"
    }
  },
  "allOf": [
    {
      "if": {
        "type": "object",
        "properties": {
          "correction": {
            "type": "object",
            "properties": {
              "status": {
                "const": "corrected"
              }
            },
            "required": [
              "status"
            ]
          }
        }
      },
      "then": {
        "type": "object",
        "properties": {
          "revision_history": {
            "type": "array",
            "minItems": 1
          }
        }
      }
    }
  ],
  "$defs": {
    "semanticVersion": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
    },
    "nullableDate": {
      "oneOf": [
        {
          "type": "string",
          "format": "date"
        },
        {
          "type": "null"
        }
      ]
    },
    "nullableUri": {
      "oneOf": [
        {
          "type": "string",
          "format": "uri"
        },
        {
          "type": "null"
        }
      ]
    },
    "nullableString": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    },
    "providerReference": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "provider_id",
        "name"
      ],
      "properties": {
        "provider_id": {
          "type": "string",
          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        }
      }
    },
    "productReference": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "product_id",
        "name"
      ],
      "properties": {
        "product_id": {
          "type": "string",
          "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        }
      }
    },
    "canonicalUris": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "machine",
        "human"
      ],
      "properties": {
        "machine": {
          "type": "string",
          "format": "uri"
        },
        "human": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "evidence": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "evidence_id",
        "evidence_type",
        "source_url",
        "source_title",
        "observed_on",
        "source_published_on",
        "locator",
        "content_digest",
        "notes"
      ],
      "properties": {
        "evidence_id": {
          "type": "string",
          "pattern": "^ev:[a-z0-9]+(?:[.-][a-z0-9]+)*$"
        },
        "evidence_type": {
          "enum": [
            "provider_reported",
            "public_documentation",
            "intentroute_observed",
            "third_party",
            "manual_seed",
            "fixture"
          ]
        },
        "source_url": {
          "type": "string",
          "format": "uri"
        },
        "source_title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        },
        "observed_on": {
          "type": "string",
          "format": "date"
        },
        "source_published_on": {
          "$ref": "#/$defs/nullableDate"
        },
        "locator": {
          "$ref": "#/$defs/nullableString"
        },
        "content_digest": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^sha256:[a-f0-9]{64}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "notes": {
          "$ref": "#/$defs/nullableString"
        }
      }
    },
    "claimMetadata": {
      "type": "object",
      "required": [
        "claim_class",
        "state",
        "confidence",
        "observed_on",
        "review_interval_days",
        "next_review_on",
        "state_reason",
        "evidence"
      ],
      "properties": {
        "claim_class": {
          "enum": [
            "provider_identity",
            "product_identity",
            "endpoint",
            "authentication",
            "access_availability",
            "product_stage",
            "request_features",
            "response_fields",
            "pricing",
            "quota",
            "languages",
            "geographies",
            "terms",
            "privacy",
            "usage_restrictions"
          ]
        },
        "state": {
          "enum": [
            "unknown",
            "current",
            "stale",
            "disputed",
            "withdrawn"
          ]
        },
        "confidence": {
          "enum": [
            "unknown",
            "low",
            "medium",
            "high"
          ]
        },
        "observed_on": {
          "$ref": "#/$defs/nullableDate"
        },
        "review_interval_days": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        },
        "next_review_on": {
          "$ref": "#/$defs/nullableDate"
        },
        "state_reason": {
          "$ref": "#/$defs/nullableString"
        },
        "evidence": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/evidence"
          }
        }
      },
      "allOf": [
        {
          "if": {
            "type": "object",
            "properties": {
              "state": {
                "const": "unknown"
              }
            },
            "required": [
              "state"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "value": {
                "type": "null"
              },
              "confidence": {
                "const": "unknown"
              },
              "observed_on": {
                "type": "null"
              },
              "review_interval_days": {
                "type": "null"
              },
              "next_review_on": {
                "type": "null"
              },
              "state_reason": {
                "type": "null"
              },
              "evidence": {
                "type": "array",
                "maxItems": 0
              }
            }
          },
          "else": {
            "type": "object",
            "properties": {
              "value": {
                "not": {
                  "type": "null"
                }
              },
              "confidence": {
                "enum": [
                  "low",
                  "medium",
                  "high"
                ]
              },
              "observed_on": {
                "type": "string",
                "format": "date"
              },
              "review_interval_days": {
                "type": "integer",
                "minimum": 1,
                "maximum": 365
              },
              "next_review_on": {
                "type": "string",
                "format": "date"
              },
              "evidence": {
                "type": "array",
                "minItems": 1
              }
            }
          }
        },
        {
          "if": {
            "type": "object",
            "properties": {
              "state": {
                "const": "current"
              }
            },
            "required": [
              "state"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "state_reason": {
                "type": "null"
              }
            }
          }
        },
        {
          "if": {
            "type": "object",
            "properties": {
              "state": {
                "enum": [
                  "stale",
                  "disputed",
                  "withdrawn"
                ]
              }
            },
            "required": [
              "state"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "state_reason": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        }
      ]
    },
    "providerIdentityValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "official_name",
        "official_url"
      ],
      "properties": {
        "official_name": {
          "type": "string",
          "minLength": 1
        },
        "official_url": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "productIdentityValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "official_name",
        "documentation_url"
      ],
      "properties": {
        "official_name": {
          "type": "string",
          "minLength": 1
        },
        "documentation_url": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    "endpointValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "base_url",
        "search_path",
        "http_method"
      ],
      "properties": {
        "base_url": {
          "type": "string",
          "format": "uri"
        },
        "search_path": {
          "type": "string",
          "pattern": "^/"
        },
        "http_method": {
          "enum": [
            "GET",
            "POST"
          ]
        }
      }
    },
    "authenticationValue": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "enum": [
          "api_key_header",
          "bearer_token",
          "oauth2",
          "signed_request",
          "none",
          "other"
        ]
      }
    },
    "accessAvailabilityValue": {
      "enum": [
        "public_signup",
        "waitlist",
        "approval_required",
        "invite_only",
        "unavailable"
      ]
    },
    "requestFeaturesValue": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "enum": [
          "query",
          "max_results",
          "domain_filter",
          "recency_filter",
          "language",
          "geography",
          "safe_search",
          "other"
        ]
      }
    },
    "responseFieldsValue": {
      "type": "array",
      "minItems": 2,
      "uniqueItems": true,
      "contains": {
        "const": "url"
      },
      "items": {
        "enum": [
          "title",
          "url",
          "snippet",
          "published_at",
          "relevance_score",
          "raw_content",
          "answer",
          "other"
        ]
      }
    },
    "decimalString": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]+)?$"
    },
    "currencyCode": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "providerUnitPrice": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "tier_name",
        "amount",
        "currency",
        "unit",
        "unit_quantity",
        "description"
      ],
      "properties": {
        "tier_name": {
          "type": "string",
          "minLength": 1
        },
        "amount": {
          "$ref": "#/$defs/decimalString"
        },
        "currency": {
          "$ref": "#/$defs/currencyCode"
        },
        "unit": {
          "type": "string",
          "pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
        },
        "unit_quantity": {
          "type": "integer",
          "minimum": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "normalizedUnitPrice": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "amount",
        "currency",
        "unit",
        "formula",
        "inputs",
        "calculated_on"
      ],
      "properties": {
        "amount": {
          "$ref": "#/$defs/decimalString"
        },
        "currency": {
          "$ref": "#/$defs/currencyCode"
        },
        "unit": {
          "type": "string",
          "pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
        },
        "formula": {
          "type": "string",
          "minLength": 1
        },
        "inputs": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "calculated_on": {
          "type": "string",
          "format": "date"
        }
      }
    },
    "pricingValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "billing_model",
        "provider_units",
        "normalized_units"
      ],
      "properties": {
        "billing_model": {
          "enum": [
            "free",
            "usage_based",
            "subscription",
            "hybrid",
            "custom"
          ]
        },
        "provider_units": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/providerUnitPrice"
          }
        },
        "normalized_units": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/normalizedUnitPrice"
          }
        }
      }
    },
    "quotaValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "limits"
      ],
      "properties": {
        "limits": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "amount",
              "period"
            ],
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "amount": {
                "type": "integer",
                "minimum": 0
              },
              "period": {
                "enum": [
                  "second",
                  "minute",
                  "hour",
                  "day",
                  "month",
                  "account",
                  "other"
                ]
              }
            }
          }
        }
      }
    },
    "stringListValue": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 160
      }
    },
    "termsValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "terms_url",
        "effective_on"
      ],
      "properties": {
        "terms_url": {
          "type": "string",
          "format": "uri"
        },
        "effective_on": {
          "$ref": "#/$defs/nullableDate"
        }
      }
    },
    "privacyValue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "privacy_url",
        "retention_summary"
      ],
      "properties": {
        "privacy_url": {
          "type": "string",
          "format": "uri"
        },
        "retention_summary": {
          "$ref": "#/$defs/nullableString"
        }
      }
    },
    "providerIdentityClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "provider_identity"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/providerIdentityValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "productIdentityClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "product_identity"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/productIdentityValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "endpointClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "endpoint"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/endpointValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "authenticationClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "authentication"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/authenticationValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "accessAvailabilityClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "access_availability"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/accessAvailabilityValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "requestFeaturesClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "request_features"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/requestFeaturesValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "responseFieldsClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "response_fields"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/responseFieldsValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "pricingClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "pricing"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/pricingValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "quotaClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "quota"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/quotaValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "stringListClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/stringListValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "termsClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "terms"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/termsValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "privacyClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "privacy"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/privacyValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "claims": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "identity",
        "access",
        "capabilities",
        "commercial",
        "coverage",
        "policy"
      ],
      "properties": {
        "identity": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "provider",
            "product"
          ],
          "properties": {
            "provider": {
              "$ref": "#/$defs/providerIdentityClaim"
            },
            "product": {
              "$ref": "#/$defs/productIdentityClaim"
            }
          }
        },
        "access": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "endpoint",
            "authentication",
            "availability",
            "product_stage"
          ],
          "properties": {
            "endpoint": {
              "$ref": "#/$defs/endpointClaim"
            },
            "authentication": {
              "$ref": "#/$defs/authenticationClaim"
            },
            "availability": {
              "$ref": "#/$defs/accessAvailabilityClaim"
            },
            "product_stage": {
              "$ref": "#/$defs/productStageClaim"
            }
          }
        },
        "capabilities": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "request_features",
            "response_fields"
          ],
          "properties": {
            "request_features": {
              "$ref": "#/$defs/requestFeaturesClaim"
            },
            "response_fields": {
              "$ref": "#/$defs/responseFieldsClaim"
            }
          }
        },
        "commercial": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "pricing",
            "quota"
          ],
          "properties": {
            "pricing": {
              "$ref": "#/$defs/pricingClaim"
            },
            "quota": {
              "$ref": "#/$defs/quotaClaim"
            }
          }
        },
        "coverage": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "languages",
            "geographies"
          ],
          "properties": {
            "languages": {
              "type": "object",
              "allOf": [
                {
                  "$ref": "#/$defs/stringListClaim"
                }
              ],
              "properties": {
                "claim_class": {
                  "const": "languages"
                }
              }
            },
            "geographies": {
              "type": "object",
              "allOf": [
                {
                  "$ref": "#/$defs/stringListClaim"
                }
              ],
              "properties": {
                "claim_class": {
                  "const": "geographies"
                }
              }
            }
          }
        },
        "policy": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "terms",
            "privacy",
            "usage_restrictions"
          ],
          "properties": {
            "terms": {
              "$ref": "#/$defs/termsClaim"
            },
            "privacy": {
              "$ref": "#/$defs/privacyClaim"
            },
            "usage_restrictions": {
              "type": "object",
              "allOf": [
                {
                  "$ref": "#/$defs/stringListClaim"
                }
              ],
              "properties": {
                "claim_class": {
                  "const": "usage_restrictions"
                }
              }
            }
          }
        }
      }
    },
    "correction": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "status",
        "public_correction_uri",
        "acknowledgement_target_days",
        "resolution_target_days"
      ],
      "properties": {
        "status": {
          "enum": [
            "none",
            "under_review",
            "corrected"
          ]
        },
        "public_correction_uri": {
          "$ref": "#/$defs/nullableUri"
        },
        "acknowledgement_target_days": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        },
        "resolution_target_days": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "allOf": [
        {
          "if": {
            "type": "object",
            "properties": {
              "public_correction_uri": {
                "type": "null"
              }
            },
            "required": [
              "public_correction_uri"
            ]
          },
          "then": {
            "type": "object",
            "properties": {
              "acknowledgement_target_days": {
                "type": "null"
              },
              "resolution_target_days": {
                "type": "null"
              }
            }
          }
        }
      ]
    },
    "revision": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "revision_id",
        "corrected_on",
        "reason_code",
        "summary",
        "previous_record_version",
        "changes"
      ],
      "properties": {
        "revision_id": {
          "type": "string",
          "pattern": "^rev:[a-z0-9]+(?:[.-][a-z0-9]+)*$"
        },
        "corrected_on": {
          "type": "string",
          "format": "date"
        },
        "reason_code": {
          "enum": [
            "source_changed",
            "source_error",
            "provider_correction",
            "intentroute_error",
            "legal_change",
            "access_change",
            "other"
          ]
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500
        },
        "previous_record_version": {
          "$ref": "#/$defs/semanticVersion"
        },
        "changes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "claim_pointer",
              "previous_state",
              "previous_value",
              "previous_evidence",
              "replacement_evidence_ids"
            ],
            "properties": {
              "claim_pointer": {
                "type": "string",
                "pattern": "^/claims/"
              },
              "previous_state": {
                "enum": [
                  "unknown",
                  "current",
                  "stale",
                  "disputed",
                  "withdrawn"
                ]
              },
              "previous_value": true,
              "previous_evidence": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/evidence"
                }
              },
              "replacement_evidence_ids": {
                "type": "array",
                "minItems": 1,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "pattern": "^ev:[a-z0-9]+(?:[.-][a-z0-9]+)*$"
                }
              }
            }
          }
        }
      }
    },
    "productStageValue": {
      "enum": [
        "generally_available",
        "preview",
        "beta",
        "deprecated"
      ]
    },
    "productStageClaim": {
      "type": "object",
      "allOf": [
        {
          "$ref": "#/$defs/claimMetadata"
        }
      ],
      "properties": {
        "claim_class": {
          "const": "product_stage"
        },
        "value": {
          "oneOf": [
            {
              "$ref": "#/$defs/productStageValue"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "value"
      ],
      "unevaluatedProperties": false
    },
    "agentTasks": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "task",
          "basis_claims"
        ],
        "properties": {
          "task": {
            "enum": [
              "current_fact_retrieval",
              "source_discovery",
              "citation_gathering",
              "comparative_research",
              "domain_constrained_search",
              "regional_search",
              "language_search",
              "fresh_content_for_rag",
              "coding_source_discovery"
            ]
          },
          "basis_claims": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "pattern": "^/claims/(?:[a-z_]+/)+[a-z_]+$"
            }
          }
        }
      }
    }
  }
}
