— Surface 02 · The agentic-search timing play

Google's Search agent
is about to call.

Google's Universal Commerce Protocol (UCP) — announced Oct 2025 — turns every grocer's domain into an agent endpoint. Search agents, comparison-shopping agents, retail-media agents will start pinging grocer.com for real-time inventory, pricing, and personalized cart-building. Grocers without a UCP endpoint go invisible. Delectable ships the gateway, in their GCP project, in 15 minutes.

Status · Gateway built · Terraform bundle live · Reference image published · Cross-tenant demo recorded
— The hybrid-tenant architecture

Three boxes. Every box in the middle bills the customer.

The deployment topology that closes a deal in 90 seconds. Google's agent on the left, the grocer's GCP project in the middle, Delectable SaaS on the right. The Vertex inference, BigQuery scans, Cloud Run hosting, Cloud SQL queries are all in the customer's tenant — flowing through their committed-use line.

Caller

Google Search agent

Or any UCP-compliant client agent. Discovers the gateway via the well-known manifest.

UCP
Grocer's GCP project

UCP Gateway · Cloud Run

Vertex AI Gemini · Vector Search · BigQuery · Cloud SQL + pgvector. All in their billing.

A2A
Backend

Delectable SaaS

Food intelligence graph · alternatives · meal plans · mission classification. SaaS multi-tenant.

↑ The FSR-magnet line: Every UCP request lights up Cloud Run, Gemini Pro, BigQuery, Vector Search, Cloud SQL, and Secret Manager in the grocer's own GCP project. Steady consumption, day one — paid against their committed-use line.
— Day-one UCP capabilities

Seven intents. All Gemini-grounded.

Each intent corresponds to one underlying commerce capability in the Delectable platform. Every request fans out to GCP-native services in the grocer's tenant and returns a typed UCP response that Google's agents can parse.

01

find_products

Semantic product search, personalized + ranked. Vertex Vector Search lookup + Shopper HyperGraph re-ranking. ~3 vector lookups per call.

02

check_availability

Real-time inventory per store. Sub-MB BigQuery partitioned scan. Returns store-level stock + ETA for delivery.

03

get_pricing

Base + promo prices with loyalty resolution. Cloud SQL lookup + pricing rule engine. Per-shopper, per-store, time-windowed.

04

build_cart

ILP-optimized cart from an ingredient list or meal-plan intent. Gemini Pro reasons over the qualified subset. 490ms end-to-end.

05

find_alternatives

Dietary-aware substitutions. Food HyperGraph traversal + Vector Search. The slide that proves Gemini can't hallucinate gluten-free.

06

plan_meals

Multi-day meal plan with consolidated shopping list. Most compute-intensive intent — Vertex inference + recipe graph.

07

check_promotions

Active promos by SKU or category. BigQuery promo table scan + loyalty membership filter. Closes the agentic shopping loop.

Discovery manifest at /.well-known/ucp — Google's agent introspects the manifest, calls the intents it needs.
— Deployment · The 15-minute customer story

One Terraform apply. Then it's live.

Same pattern Joseph references on slide 7. Reproduced here so an FSR can demo the apply flow in front of a customer's IT team. The Terraform bundle lives at commerce/deploy/customer-tenant/ in the Delectable repo.

# In the customer's GCP project (e.g. giant-eagle-commerce)
cd ~/code/delectable/commerce/deploy/customer-tenant

./build_image.sh giant-eagle-commerce us-central1
./apply.sh        giant-eagle-commerce giant-eagle prod

# 15 minutes later:

ucp_gateway_url   = "https://giant-eagle-prod-ucp-gateway-xxxx.a.run.app"
ucp_discovery_url = "https://giant-eagle-prod-ucp-gateway-xxxx.a.run.app/.well-known/ucp"
ucp_dispatch_url  = "https://giant-eagle-prod-ucp-gateway-xxxx.a.run.app/ucp/v1/agent"

# Provisioned (all in customer GCP):
#   - Cloud Run service (gateway)
#   - BigQuery dataset + 4 tables
#   - Cloud SQL + pgvector instance
#   - Secret Manager secrets
#   - IAM bindings
#   - Artifact Registry repo

Every resource is provisioned in the customer's project under their committed-use discount. Zero data crosses to Delectable on this provisioning path. The grocer's security team approves once.

— The example UCP exchange

A find_alternatives call, end-to-end.

Google's agent asks the gateway for a gluten-free substitute. The gateway calls Vertex Vector Search + Delectable food graph + Cloud SQL. Returns a typed UCP response in ~340ms.

→ Request from Google's agent
POST /ucp/v1/agent
Content-Type: application/json
Authorization: Bearer [google-agent-token]

{
  "intent": "find_alternatives",
  "shopper_handle": "opaque:sha256:f3a...",
  "consent_scopes": ["dietary_preferences"],
  "context": {
    "original_sku": "30041500000094",
    "constraint": "gluten_free",
    "max_price_delta_pct": 15,
    "store_id": "ge-pgh-shadyside"
  }
}
← Response from the gateway (340ms)
HTTP/2 200
Content-Type: application/json
X-UCP-Trace-Id: 7b3a...

{
  "intent": "find_alternatives",
  "latency_ms": 343,
  "alternatives": [
    {
      "sku": "30041500004021",
      "title": "GE Brand · Gluten-Free Multigrain Bread",
      "price": 4.49,
      "availability": "in_stock",
      "intelligence_source": "food_hypergraph_v3",
      "confidence": 0.94
    }
  ],
  "reasoning": "Substituted on dietary_flag mismatch. Closest match by ingredient_lineage + nutrition_tier."
}

Note the intelligence_source: food_hypergraph_v3 field — that's the attribution. That's why every call bills the grocer's tenant: Vertex Vector Search ran in their project, BigQuery scanned their inventory in their project, Gemini Pro generated the reasoning string in their project.

— Why this is the FSR's magnet · the per-request fan-out

Every UCP request fans out across eighteen+ Google services.

A single agentic-basket request is not one Gemini call. It's a multi-stage fan-out across Vertex AI inference, knowledge-graph traversal, ML-model serving, vector search, BigQuery analytics, content + recipe search, and logging — every stage billed to the customer's GCP project. Eighteen+ Google services light up on a single shopper utterance.

WorkloadWhat runs per UCP requestGCP service billed
i. Reasoning + retrieval
Gemini Pro inferenceThe 20% reasoning hop · cart build, substitution logic, meal-plan generation · 100–500 grounded tokens per callVertex AI
Vector Search lookupsSemantic match for find_products · 3+ lookups per call on the grocer's embedding indexVertex Vector Search
Retail Search rankCatalog ranking for grocer.com surface · personalized ordering + business guardrailsVertex Retail Search
Recipe + content search"Friday family dinner" → recipe corpus + CMS editorial content scanned for relevanceDiscovery Engine
Meal-plan generationMulti-day plan with consolidated shopping list · second Gemini reasoning pass over recipe setVertex AI
ii. Knowledge graph + IA ontology
Memgraph / KG traversalSubstitution graph traversal · ingredient → alternative · dietary-equivalent walking · recipe ↔ SKU resolutionCompute Engine · GKE
IA ontology lookup27 cross-cutting taxonomies applied · dietary, allergen, cultural, occasion, missionCloud Run · BigQuery
iii. ML model fleet · Vertex Model Build/Run + BigQuery ML
Propensity modelPer-shopper × SKU purchase-likelihood scoring · ranks the qualified candidate setVertex AI · BigQuery ML
Mission classifier"Weekly stockup" vs "quick trip" vs "specialty" vs "fill-in" vs "gift" — shapes basket compositionVertex AI
Dietary + restrictions modelGluten-free, vegan, kosher, halal, low-FODMAP, pregnancy-safe filters applied with groundingVertex AI
Flavor DNA modelFlavor-compound similarity for substitution ranking · "keep the umami profile"Vertex AI · BigQuery
Allergen graph modelTop-9 allergens + sesame avoidance graph applied per shopper-household profileVertex AI
Pantry decay modelPredicts what's left in shopper's pantry vs what needs repurchase · informs auto-fill suggestionsVertex AI · BigQuery
Household deaveraging"Mom buys gluten-free for daughter, regular for adults" — segment-of-one resolution per householdVertex AI · BigQuery
iv. Data, state, and pricing
BigQuery scansInventory + pricing partitioned scans · ~50KB / request · hundreds per hour per shopperBigQuery
Pricing rule engineBase + promo + loyalty resolution · per shopper, per store, time-windowedCloud SQL
Embeddings (pgvector)In-tenant embedding storage + retrieval for catalog + recipesCloud SQL + pgvector
Session state cacheIn-flight cart, conversation memory, agent scratchpadMemorystore Redis
Catalog + media readsSKU images, recipe media, PDF nutrition labels referenced in agentic responsesCloud Storage (GCS)
v. Runtime, security, observability
Cloud Run gatewayUCP gateway + per-module microservices · paid per ms · min instances on critical pathCloud Run
Secret + key accessBearer token + API key reads on every request · CMEK envelope encrypt/decryptSecret Manager + KMS
Structured logs + tracesEvery request emits structured logs · traces · audit events for governance + SOC 2Cloud Logging · Trace
Analytics writesEvery basket + agent-decision event written to BigQuery analytics tables · feeds Looker dashboardsBigQuery streaming inserts

That's ~18 distinct services billed on every UCP call. At 1.2M requests/month for a Tier-2 grocer, the fan-out compounds: Vertex AI calls (~6 per request across the model fleet), KG traversals, BigQuery streaming inserts, GCS reads, log writes. The deck's $1.6M/yr Tier-1 model captures this; the deck's slide-8 "21 services" understates it. Every request is a multi-service consumption event.

For the FSR's quota manager → The volume × fan-out is why a single Tier-1 grocer lands at ~$1.6M/yr of net-new Vertex + BigQuery + Cloud Run consumption (see consumption story →). It's not "one Gemini call per basket." It's a 6-model inference cascade + KG walk + content search + analytics fan-out, per shopper utterance.
— Next step

Pick a Tier-2 grocer. We provision a UCP gateway in their GCP. Three Google services light up the same week.

→ Co-sell playbook → Per-grocer P&L