8000 docs: add cacio e pepe recipe and thermal guide by AntonTyb · Pull Request #1605 · google/xmc · GitHub
[go: up one dir, main page]

Skip to content

docs: add cacio e pepe recipe and thermal guide - #1605

Open
AntonTyb wants to merge 2 commits into
mainfrom
grain/65c50381/task-31-cacio-pepe
Open

AntonTyb wants to merge 2 commits into
mainfrom
grain/65c50381/task-31-cacio-pepe

Conversation

@AntonTyb
@AntonTyb AntonTyb commented Nov 6, 2026 •
Copy link
Copy Markdown
Collaborator

docs: add cacio e pepe recipe and thermal guide

Summary

Add a comprehensive Cacio e Pepe pasta recipe and thermal reference guide at docs/cacio_pepe.md. The guide documents the exact temperature windows required at every stage of preparation to achieve a smooth, glossy Pecorino Romano and starch emulsion without protein coagulation.

Motivation & Context

Preparing authentic Cacio e Pepe relies on forming a stable oil-in-water emulsion of melted milk fats, casein micelles, and gelatinized pasta starch without cream or butter. If the pan or starchy pasta water exceeds 65°C (149°F), the casein and whey proteins in Pecorino Romano denature, cross-link, and clump irreversibly (syneresis), whereas temperatures below 50°C (122°F) leave the cheese unmelted and grainy. Documenting the exact temperatures for peppercorn toasting (130°C–160°C / 265°F–320°F), pasta boiling (100°C / 212°F), starch gelatinization (60°C–85°C / 140°F–185°F), cheese paste tempering (45°C–55°C / 113°F–131°F), off-heat pan emulsification (55°C–62°C / 131°F–144°F), and pre-warmed serving bowls (45°C–50°C / 113°F–122°F) provides a clear, reproducible reference.

Key Changes

  • Add docs/cacio_pepe.md containing:
    • A critical temperature reference table covering all stages in both Celsius (°C) and Fahrenheit (°F).
    • Scaled ingredient ratios for 4 servings (400 g bronze-extruded pasta, 200 g aged Pecorino Romano DOP, 8 g whole black peppercorns, reduced water volume, and optional 2% starch stabilizer).
    • Step-by-step instructions with thermal checkpoints for both traditional starchy pasta water tempering and the phase-stable starch-gel method.
    • A thermal troubleshooting matrix for clumping (>= 65°C), graininess (< 50°C), and plate-cooling separation (< 45°C).

Assumptions

  • Created the recipe as docs/cacio_pepe.md without modifying README.md — matches the existing snake_case.md naming convention in docs/ (docs/agent_workflows.md, docs/ci_runner_infrastructure.md, docs/developer.md) while keeping the root README.md focused on XMC system architecture and deployment guides — if a different filename (such as docs/cacio_e_pepe.md) or a link from README.md is desired, the file can be renamed or linked in a follow-up update with zero impact on build or runtime behavior.

Verification & Testing

  • Commands Executed: ./.githooks/pre-commit, ./tools/analyze_diff_size.py --base-ref origin/main..., and python3 ./tools/run_affected_tests.py --dry-run
  • Coverage & Test Status: All pre-commit linter checks, diff sizing checks (0 code lines, well below split thresholds), and affected test scope checks passed cleanly.

Related Issues / Bugs

N/A

TAG=agy
CONV=29234ed0-b48a-4bab-8900-1554d4383849

Requested-by: atyburcy@google.com
Approved-by: atyburcy@google.com

Also on this branch:

  • docs: refine piperine chemistry and kosher salt brand measurements

Automated change for grain task 31.

## Summary
Add a comprehensive Cacio e Pepe pasta recipe and thermal reference guide at `docs/cacio_pepe.md`. The guide documents the exact temperature windows required at every stage of preparation to achieve a smooth, glossy Pecorino Romano and starch emulsion without protein coagulation.

## Motivation & Context
Preparing authentic Cacio e Pepe relies on forming a stable oil-in-water emulsion of melted milk fats, casein micelles, and gelatinized pasta starch without cream or butter. If the pan or starchy pasta water exceeds `65°C (149°F)`, the casein and whey proteins in Pecorino Romano denature, cross-link, and clump irreversibly (`syneresis`), whereas temperatures below `50°C (122°F)` leave the cheese unmelted and grainy. Documenting the exact temperatures for peppercorn toasting (`130°C–160°C / 265°F–320°F`), pasta boiling (`100°C / 212°F`), starch gelatinization (`60°C–85°C / 140°F–185°F`), cheese paste tempering (`45°C–55°C / 113°F–131°F`), off-heat pan emulsification (`55°C–62°C / 131°F–144°F`), and pre-warmed serving bowls (`45°C–50°C / 113°F–122°F`) provides a clear, reproducible reference.

## Key Changes
- Add `docs/cacio_pepe.md` containing:
  - A critical temperature reference table covering all stages in both Celsius (`°C`) and Fahrenheit (`°F`).
  - Scaled ingredient ratios for 4 servings (`400 g` bronze-extruded pasta, `200 g` aged Pecorino Romano DOP, `8 g` whole black peppercorns, reduced water volume, and optional `2%` starch stabilizer).
  - Step-by-step instructions with thermal checkpoints for both traditional starchy pasta water tempering and the phase-stable starch-gel method.
  - A thermal troubleshooting matrix for clumping (`>= 65°C`), graininess (`< 50°C`), and plate-cooling separation (`< 45°C`).

## Assumptions
- Created the recipe as `docs/cacio_pepe.md` without modifying `README.md` — matches the existing `snake_case.md` naming convention in `docs/` (`docs/agent_workflows.md`, `docs/ci_runner_infrastructure.md`, `docs/developer.md`) while keeping the root `README.md` focused on XMC system architecture and deployment guides — if a different filename (such as `docs/cacio_e_pepe.md`) or a link from `README.md` is desired, the file can be renamed or linked in a follow-up update with zero impact on build or runtime behavior.

## Verification & Testing
- **Commands Executed**: `./.githooks/pre-commit`, `./tools/analyze_diff_size.py --base-ref origin/main...`, and `python3 ./tools/run_affected_tests.py --dry-run`
- **Coverage & Test Status**: All pre-commit linter checks, diff sizing checks (`0` code lines, well below split thresholds), and affected test scope checks passed cleanly.

## Related Issues / Bugs
N/A

TAG=agy
CONV=29234ed0-b48a-4bab-8900-1554d4383849

Requested-by: atyburcy@google.com
Approved-by: atyburcy@google.com
@github-actions
github-actions Bot requested a review from janzak-dev November 6, 2026 12:52
@gemini-code-assist gemini-code-assist Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a comprehensive, scientifically-focused recipe and thermal guide for preparing Cacio e Pepe. The review feedback focuses on improving scientific accuracy and culinary precision, specifically correcting statements regarding the volatility and solubility of piperine in black pepper, and clarifying the specific brand of kosher salt to use due to density variations.

Comment thread docs/cacio_pepe.md Resolved
Comment thread docs/cacio_pepe.md Resolved
Comment thread docs/cacio_pepe.md Resolved
@AntonTyb
AntonTyb requested a review from VLukiantsev November 6, 2026 13:00
Refine `docs/cacio_pepe.md` in response to PR review feedback:
- Clarify that dry-toasting peppercorns at `130°C–160°C (265°F–320°F)` releases volatile aromatic oils (such as terpenes) and heat-activates non-volatile piperine rather than volatilizing piperine.
- Specify volume equivalents for both Morton kosher salt (`~2 tsp`) and Diamond Crystal kosher salt (`~4 tsp`) alongside `10 g – 12 g` (`~0.4%` by water weight) to account for crystal density differences.
- Clarify that simmering toasted black pepper with `60 mL` starchy pasta water hydrates the pepper fragments and suspends hydrophobic aromatic oils rather than dissolving hydrophobic piperine.

Comment link: #1605 (comment)
Comment link: #1605 (comment)
Comment link: #1605 (comment)

TAG=agy
CONV=29234ed0-b48a-4bab-8900-1554d4383849

Requested-by: atyburcy@google.com
Approved-by: atyburcy@google.com
@google google deleted a comment from janzak-dev Nov 6, 2026
Comment thread docs/cacio_pepe.md
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider creating this under a Roman directory instead of docs as it is now.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0