{
  "kalicart_discovery_profile": "1.0",
  "title": "Kalicart — global federated catalog discovery profile",
  "human_summary": "Documents the global.kalicart.com discovery JSON. This is NOT the per-merchant agent bridge.",
  "full_discovery_document": "https://global.kalicart.com/v1/global-catalog/discovery",
  "scope_type": "global_multi_merchant_catalog",
  "content_negotiation": {
    "note": "GET https://global.kalicart.com/ with Accept: application/json returns the same JSON as full_discovery_document.",
    "vendor_media_type": "application/vnd.kalicart.global-discovery+json",
    "vendor_behavior": "GET full_discovery_document (or GET / with that Accept) with Accept including application/vnd.kalicart.global-discovery+json returns identical JSON; Content-Type uses the vendor type and Vary: Accept applies. Generic clients keep using application/json."
  },
  "architectural_separation": {
    "global_federation_layer": {
      "host": "global.kalicart.com",
      "serves": [
        "Federated discovery JSON",
        "Public GET /v1/global-catalog/* (merchants, categories, products, search, product detail)"
      ],
      "does_not": "Require or redirect to dashboard.kalicart.com/v1/agent-bridge for reading the global index."
    },
    "merchant_agent_bridge": {
      "host": "dashboard.kalicart.com",
      "path_pattern": "/v1/agent-bridge/{opaque_store_token}",
      "discovered_from": "Merchant storefront HTML <head> link rel=\"kalicart-catalog\" pointing at that merchant's token URL.",
      "scope_type": "one_merchant_per_token",
      "purpose": "Normalized catalog for one shop only; orthogonal to the global federated layer."
    }
  },
  "recommended_bootstrap_order_for_generic_agents": [
    "GET https://global.kalicart.com/.well-known/kalicart-global-discovery.json",
    "Then GET the full_discovery_document URL above",
    "For constrained shopping language prefer POST /v1/global-catalog/intent/resolve (commerce_state) before raw /search",
    "Then follow endpoints.* keys in that JSON — all paths are on global.kalicart.com"
  ],
  "commerce_reasoning_runtime": {
    "plan_doc": "https://global.kalicart.com is served by Kalicart; operator doc: COMMERCE_REASONING_RUNTIME_PLAN.md in dashboard repo",
    "resolve_post": "https://global.kalicart.com/v1/global-catalog/intent/resolve",
    "trust_policy_query_params": ["min_confidence", "max_freshness_sec", "min_completeness", "include_quarantine"],
    "commerce_outcome_enum": [
      "resolved",
      "needs_clarification",
      "constraint_unsatisfiable",
      "not_in_catalog",
      "underspecified",
      "input_out_of_scope"
    ],
    "out_of_scope_http_status_on_resolve": 422
  },
  "kalicart_link_relation": "kalicart-catalog",
  "iana_describedby": "https://www.rfc-editor.org/rfc/rfc6892.html"
}
