Account Nexus / Docs

Service reference

Catalog Aggregator — interface contracts

Curated public summary, not a live implementation guarantee.

Contract status: v1 static schema and service-local behavior verified in isolated tests. Live YSQL/provider/Redis integrations remain unverified. This is an internal data contract, not a public HTTP API.

Incoming provider catalog reads

Outgoing catalog snapshot: Redis v1

Sole publisher: Catalog Aggregator.

Key Meaning Ownership
catalog:current UTF-8 JSON catalog snapshot, schema version 1; no TTL Catalog Aggregator writes; approved browse/read consumers read
catalog:staging:<generation> Ephemeral complete snapshot before atomic rename Publisher only
catalog:publisher Time-bounded single-publisher claim Publisher only
catalog:rebuild:requested Best-effort catalog-refresh request Authorized policy owner requests; publisher consumes

Document format:

{
  "schema_version": 1,
  "published_at": "2026-10-28T00:00:00Z",
  "items": [
    {
      "id": "example-product",
      "name": "Example Product",
      "upstream_price_usd": "10.00",
      "price_usd": "13.00",
      "markup_percent": "30",
      "stock": 5,
      "in_stock": true,
      "provider_id": "example-provider",
      "offer_id": "example-offer",
      "upstream_product_id": "example-sku",
      "currency": "USD",
      "priority": 100,
      "healthy": true
    }
  ]
}

Decimal fields are exact, and a snapshot may include additional optional item fields. Consumers must validate schema_version=1. Browse may show an older snapshot, but purchase admission must reject one older than 180 seconds or more than 60 seconds in the future, and must revalidate any real purchase through the proper financial/provider authorities.

Failure and recovery contract

Deployment boundary

The service is a separately packaged, non-root container. It does not require a public subdomain: its standard interface is the internal versioned Redis document plus the authenticated Provider-read contract. The build has no access to other services’ source trees, Docker socket, live payments or secrets.

YSQL-backed Provider Registry and operator policy persistence, authenticated mTLS Adapter discovery and real Redis integration remain explicit production-readiness gates.