studiocielo.studio
verified_user Multi-version UCP compliance, backward compatibility & transport audit
schedule Last scanned 5/4/2026
Conformance
54%Capability
100%Coverage
47%Backward Compat
0%Negative
64%Transport
100%Latency
98%Audit Details
Cache-Control max-age is within recommended bounds
Completed in 65ms
Profile response advertises cache headers
Completed in 94ms
Profile declares at least the checkout capability
Completed in 71ms
Capability version strings are valid ISO dates
Completed in 90ms
Profile response Content-Type is application/json
Completed in 77ms
Discovery endpoint exposes CORS headers
Completed in 79ms
Profile is served over HTTPS
Discovery profile is served over plaintext HTTP
Two consecutive profile fetches return identical bodies
Completed in 120ms
Signing JWKs use only allowed kty/crv values
Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant
No duplicate capability entries (same name + version)
Completed in 81ms
OpenAPI servers[] URL is reachable
Profile has no loadable service-level OpenAPI document
Business profile has a valid structure
Completed in 73ms
Merchant responses are signed with the published signing_keys
Profile declares no signing_keys; nothing to verify against. DISC-0002 tracks absence separately.
robots.txt allows AI agents to read the UCP profile
Completed in 58ms
All declared schema URLs use HTTPS
Completed in 70ms
Signing keys are importable via Web Crypto
Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant
Profile advertises well-formed signing keys
Profile declares no signing_keys array — the field is optional per the UCP spec, but agents cannot verify signed payloads from this merchant
Service binding transports are in the allowed set
Completed in 85ms
Profile declares a ucp.version string
Completed in 79ms
Profile ucp.version is one the grader recognizes
Completed in 75ms
Profile is served at the canonical .well-known/ucp path
Completed in 94ms
Declared capabilities match operations in the OpenAPI
No OpenAPI operations available to cross-check
Capability JSON Schemas declare a modern $schema draft
Profile declares no capability JSON Schemas
Capability-level JSON Schemas are well-formed
4 of 4 capability schemas are malformed
OpenAPI components.schemas has no orphans
Profile has no loadable service-level OpenAPI document
Service-level OpenAPI document is valid OpenAPI 3.x
No service-level OpenAPI schema was loaded
Every OpenAPI operation declares a 2xx JSON response schema
Profile has no loadable service-level OpenAPI document
Every $ref referenced schema document is reachable
Profile declares no loadable schema documents
All declared schema URLs return 200
5 of 5 schema URLs failed to load: [service] https://ucp.dev/services/shopping/rest.openapi.json → http_404 [capability] https://ucp.dev/schemas/shopping/checkout.json → http_404 [capability] https://ucp.dev/schemas/shopping/fulfillment.json → http_404 [capability] https://ucp.dev/schemas/shopping/catalog-search.json → http_404 [capability] https://ucp.dev/schemas/shopping/catalog-lookup.json → http_404
Cancel session response matches the OpenAPI schema
Merchant gates checkout creation behind authentication (HTTP 401); cannot validate cancel_session shape without credentials
Create session response matches the OpenAPI schema
Merchant gates checkout creation behind authentication (HTTP 401); cannot validate the response shape without credentials
Discovery profile matches the published JSON Schema
Completed in 76ms
Get product response matches the OpenAPI schema
Expected 200 or 404, got 409
Get session response matches the OpenAPI schema
Merchant gates checkout creation behind authentication (HTTP 401); cannot validate get_session shape without credentials
Search products response matches the OpenAPI schema
Expected 2xx, got 401
Update session response matches the OpenAPI schema
Merchant gates checkout creation behind authentication (HTTP 401); cannot validate update_session shape without credentials
Get a product by id
Expected 200 or 404, got 409
Get a product by id
Expected 200 or 404, got 200
Search products returns a products array
Expected 2xx for query "shirt", got 401
Search products returns a products array
Expected 2xx for query "shirt", got 200
Selected options filter variants in product detail
No product with options/variants found in catalog
Selected options filter variants in product detail
No product with options/variants found in catalog
Canceling a session twice with the same idempotency key is idempotent
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Canceling a session twice with the same idempotency key is idempotent
createSession returned status=200
Cancel a checkout session
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Cancel a checkout session
createSession returned 200
Create checkout session with defaults
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Create checkout session with defaults
createSession returned status=200
Repeated createSession with same idempotency key returns same session
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Repeated createSession with same idempotency key returns same session
First create failed: 200
Create session then set shipping address
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Create session then set shipping address
createSession returned 200
Retrieve a checkout session by id
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Retrieve a checkout session by id
createSession returned 200
Reusing an Idempotency-Key with a different body must be rejected
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Reusing an Idempotency-Key with a different body must be rejected
First createSession returned status=200
update_checkout is idempotent on replay and rejects conflicting replays
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
update_checkout is idempotent on replay and rejects conflicting replays
createSession returned status=200
Select a shipping method on a checkout session
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Select a shipping method on a checkout session
createSession returned 200
Shipping methods are returned after setting an address
Merchant gates checkout creation behind authentication (HTTP 401); cannot probe further without credentials
Shipping methods are returned after setting an address
createSession returned 200
Catalog capability advertised for product lookup
Catalog capability advertised for product lookup
Catalog capability is declared
Catalog capability is declared
Checkout capability is declared and reachable
Completed in 128ms
Checkout capability is declared and reachable
Completed in 141ms