- 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.
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.
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.
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.
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
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.