Back to systems
Reading mode

Case Study 02

Snapshot: May 2026

Daily Libations, cocktail intelligence with proof-gated data quality.

One system spans a public product, a Python FastMCP surface, a Supabase-backed catalog, and the Drink Pipeline repair engine. The current work is not just importing recipes. It is building a public corpus whose measurements, categories, vessels, dilution math, qualification scores, and export readiness are all guarded by source evidence and operator approval.

  • 9,907public recipes
  • 48,687component rows
  • 9,907MCP reports
  • v30postdeploy audit passed

Working Surfaces

The public product now has proof shots, not only architecture copy.

These captures show the live product layer: public discovery, service-physics tooling, batch intelligence, and formulation controls without exposing source-capture URLs.

Batch and formulation tools ABV, brix, freeze point, acidity, balance, dilution, ingredient costs, servings, and service-card controls in one operator-grade surface.
Public catalog proof Searchable integrity-gated recipes with filters, source state, score sorting, ABV, sugar, technique, and public recipe cards.
Capture to public catalog flow Source capture, normalization, qualification, deduplication, repair, worker stores, export, deploy, watch, and replay stay in separate approval lanes.

Operator Evidence

The pipeline has a release ledger, not just background scripts.

The current operator workflow separates capture, processing, review, queues, repair, public export, deploy, watch, and replay so mutation and publication do not blur together.

Public system map Product, MCP authority, repair lanes, export gates, embeddings, deployment watch, and replay paths stay separated before public promotion.
Route map surface The abstract system map resolves into a public route map spanning tools, catalog, platform pages, proof layers, and editorial paths.
Proof ledger
  • About 71K raw recipes were captured. The corpus is treated as source evidence and structured data, not a one-shot scrape.
  • v30 exported 9,907 recipes and 48,687 component rows. Component rows are ingredient and service lines attached to public recipes, not separate cocktails.
  • v30 postdeploy audit passed after the sitemap refresh deploy. The release ledger shows production routes at 200, sitemap recipe URLs refreshed to 9,907 / 9,907, and a zero recipe URL gap.

Why This Is Hard

Cocktail data breaks in the units, not the pretty recipe card.

The public product only works if the hidden system can defend measurements, yields, vessels, service style, dilution math, and source conflicts before a row is allowed into the catalog.

Naive version
  • Import everything, normalize units optimistically, and let public pages inherit source ambiguity.
  • Repair local data directly without preserving old state, rollback keys, or approval boundaries.
  • Use a model to clean copy while ignoring dilution, glassware, yield, vessel fit, and service physics.
Architectural move
  • Separate local repair, public export, embeddings, MCP reports, deploy, watch, and replay lanes.
  • Force source-proof repair packets through dry-run, operator approval, and rollback-aware apply paths.
  • Treat qualification as service physics and data integrity, not just text cleanup.
Public proof
  • About 71K raw recipes plus 9,907 exported public recipes show real corpus-scale handling.
  • 43,182 v30 q14 scenario rows and 48,687 component rows anchor the current release in generated artifacts.
  • 9,907 public recipes stay behind guarded export, embedding, MCP report, deploy, and sitemap gates until integrity checks pass.

System Surface

Product, MCP, pipeline, and public data gates.

The public site stays clean while the pipeline keeps source repair, qualification, export, embedding, MCP report, deployment, and production-watch lanes separate. That separation is the point.

Product and catalog
  • Next.js public experience with calculator, compare, catalog, and recipe views.
  • Supabase export gates for public-ready rows, components, embeddings, and reports.
  • Public data stays blocked until integrity, MCP, qualification, and operator gates agree.
Pipeline and MCP authority
  • Drink Pipeline handles source capture, parse, normalization, enrichment, qualification, review, and repair.
  • Daily Libations MCP remains the cocktail knowledge authority for physics and qualification behavior.
  • Repair packets preserve rollback keys, old-state guards, and exact approval boundaries.
What shipped
  • 43,182 v30 q14 scenario rows in the policy-release lane, with the older 2,499,480-row calibrated sweep still preserved as corpus evidence.
  • 9,907 reviewed-waiver rows exported through guarded public gates with recipe/component parity checks.
  • Source-measure, vessel, glassware, yield, and citrus repair lanes with dry-run and rollback artifacts.
Key architecture decision

Public export is not the same thing as local repair. The system explicitly separates local data correction, Supabase export, embedding rehydration, MCP report rehydration, deploy, production watch, and MCP replay so each lane can be approved and rolled back independently.

Why it matters

Cocktail data looks simple until source units, yields, vessels, service style, dilution, ice, and category drift interact. Daily Libations treats those as data-engineering and physics problems rather than copy cleanup.

Stack

Chosen for proof, review, and reproducibility.

  • Next.js
  • React
  • Hono
  • Postgres
  • Supabase
  • Redis
  • Python
  • FastMCP
  • DL MCP
  • Qwen
  • Claude
  • Vitest

Need a public data product that can survive scrutiny?

That is a source-evidence, repair, qualification, and release-gating problem.

Email Rarity Index