{
  "version": 1,
  "synthetic": true,
  "observed_at": "2026-07-22",
  "provider": {
    "context": "inventory",
    "owner": "Inventory Product and Engineering"
  },
  "service_contract": {
    "name": "inventory-availability-service",
    "current_version": 1,
    "state": "as_is",
    "owner": "Inventory Engineering",
    "supported_consumers": ["storefront", "fulfilment", "replenishment"],
    "route": "GET /availability/{sku}?location={location}",
    "authentication_scope": "inventory.read",
    "media_type": "application/vnd.inventory-availability+json",
    "errors": {
      "unknown_sku": 404,
      "invalid_location": 422,
      "rate_limited": 429
    },
    "request_limit_per_minute": 600,
    "timeout_ms": 800,
    "cursor": "not-applicable-single-resource",
    "change_notification_owner": "Inventory Developer Relations",
    "support_owner": "Inventory Operations"
  },
  "language_contracts": [
    {
      "name": "inventory-availability",
      "version": 1,
      "state": "as_is",
      "owner": "Inventory Domain Owner",
      "compatibility": "supported-during-v2-migration",
      "fields": {
        "sku": "Inventory product identifier.",
        "location": "Inventory stocking-location identifier.",
        "available_quantity": "Whole items Inventory currently permits new sales to promise after reservations and holds.",
        "unit": "Counting unit; v1 supports item only.",
        "status": "available when available_quantity is positive, otherwise unavailable.",
        "observed_at": "UTC instant when Inventory calculated this availability fact."
      },
      "status_values": ["available", "unavailable"],
      "unknown_fields": "ignore",
      "unknown_enum": "reject",
      "unknown_version": "reject"
    },
    {
      "name": "inventory-availability",
      "version": 2,
      "state": "target",
      "owner": "Inventory Domain Owner",
      "compatibility": "breaking-new-language-version",
      "fields": {
        "sku": "Inventory product identifier.",
        "location": "Inventory stocking-location identifier.",
        "physical_quantity": "Whole items physically recorded at the location.",
        "sellable_quantity": "Whole items Inventory currently permits new sales to promise after reservations and holds.",
        "unit": "Counting unit; v2 supports item only.",
        "status": "available when sellable_quantity is positive, otherwise unavailable.",
        "observed_at": "UTC instant when Inventory calculated both quantities."
      },
      "status_values": ["available", "unavailable"],
      "unknown_fields": "ignore",
      "unknown_enum": "reject",
      "unknown_version": "reject"
    }
  ],
  "examples": [
    {
      "id": "EXAMPLE-V1-AVAILABLE",
      "language_version": 1,
      "payload": {
        "language": "inventory-availability",
        "version": 1,
        "sku": "sku-1001",
        "location": "hel-01",
        "available_quantity": 7,
        "unit": "item",
        "status": "available",
        "observed_at": "2026-07-22T10:15:00Z"
      }
    },
    {
      "id": "EXAMPLE-V2-AVAILABLE",
      "language_version": 2,
      "payload": {
        "language": "inventory-availability",
        "version": 2,
        "sku": "sku-1001",
        "location": "hel-01",
        "physical_quantity": 11,
        "sellable_quantity": 7,
        "unit": "item",
        "status": "available",
        "observed_at": "2026-07-22T10:15:00Z"
      }
    }
  ],
  "consumers": [
    {
      "id": "storefront",
      "owner": "Storefront Engineering",
      "current_service_version": 1,
      "current_language_version": 1,
      "decision": "offer-for-sale when status is available and available_quantity is positive",
      "contract_examples": ["EXAMPLE-V1-AVAILABLE"],
      "migration": {
        "target_language_version": 2,
        "status": "planned",
        "owner": "Storefront Engineering",
        "evidence": "No v2 deployment evidence recorded."
      }
    },
    {
      "id": "fulfilment",
      "owner": "Fulfilment Engineering",
      "current_service_version": 1,
      "current_language_version": 1,
      "decision": "allocate accepted order when status is available and available_quantity covers demand",
      "contract_examples": ["EXAMPLE-V1-AVAILABLE"],
      "migration": {
        "target_language_version": 2,
        "status": "planned",
        "owner": "Fulfilment Engineering",
        "evidence": "No v2 deployment evidence recorded."
      }
    },
    {
      "id": "replenishment",
      "owner": "Replenishment Engineering",
      "current_service_version": 1,
      "current_language_version": 2,
      "decision": "request replenishment when sellable_quantity falls below the owned threshold",
      "contract_examples": ["EXAMPLE-V2-AVAILABLE"],
      "migration": {
        "target_language_version": 2,
        "status": "deployed",
        "owner": "Replenishment Engineering",
        "evidence": "EXAMPLE-V2-AVAILABLE passes the deployed adapter contract."
      }
    }
  ],
  "retirement": {
    "language_version": 1,
    "status": "blocked",
    "earliest_removal_date": "2026-10-22",
    "owner": "Inventory Product and Engineering",
    "required_evidence": "Every supported consumer records current_language_version 2 with deployed contract evidence."
  },
  "observations": [
    {
      "id": "BREAK-LANGUAGE-SAME-SERVICE",
      "kind": "semantic-break",
      "service_version_before": 1,
      "service_version_after": 1,
      "language_version_before": 1,
      "language_version_after": 2,
      "statement": "Splitting physical and sellable quantities changes meaning without changing access."
    },
    {
      "id": "BREAK-SERVICE-SAME-LANGUAGE",
      "kind": "access-break",
      "service_version_before": 1,
      "service_version_after": 2,
      "language_version_before": 1,
      "language_version_after": 1,
      "statement": "Changing authentication scope breaks access without changing language meaning."
    }
  ]
}
