Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Recipe Scaler mechanism

The inspectable method record for Recipe Scaler, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The core yield formula passes under positive, consistent yield units. The specification needs an explicit decision on pan area versus pan volume, pan shape and dimension interpretation, unit conversion behavior, validation constraints, and the exact scope of heuristic non-linear warnings before implementation can be considered unambiguous.

  • Yield scaling formula new_qty = old_qty × (target_yield/original_yield) is correct for linear ingredients when original_yield is a positive, consistently defined quantity.
  • Pan-area scaling factor = target_area/original_area is correct only when pan depth is unchanged or when the recipe is intentionally scaled by surface area. For volume-sensitive bakes with different depths, pan-volume scaling is required instead.
  • The spec does not define how to calculate area from pan dimensions and shape, such as diameter for round pans or length × width for rectangular pans.
  • The spec does not define whether pan dimensions may use mixed units or how unit conversion is handled before area calculation.
  • Non-linear ingredient handling is described as heuristic rather than a formula; the instrument must not present adjusted salt, spice, leavening, or cook-time values as exact.

Units and conventions

  • Original and target yields use the same unit and meaning, such as servings for both; original_yield must be greater than zero.
  • Ingredient quantities retain their original units, and ingredient units are not implicitly converted unless a conversion is explicitly provided.
  • Pan dimensions must be converted to the same linear unit before calculating areas.
  • For round pans, area is assumed to be proportional to diameter squared when comparing pans of the same shape; for rectangular pans, area is length × width.
  • Pan-area scaling assumes equal pan depth unless the user explicitly chooses surface-area scaling.
  • Ingredient quantity arithmetic is treated as plain real-number arithmetic; practical rounding of eggs or other indivisible items requires a separate user-facing decision.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "mode": "yield",
    "ingredients": [
      {
        "name": "flour",
        "old_qty": 300,
        "unit": "g"
      },
      {
        "name": "milk",
        "old_qty": 240,
        "unit": "ml"
      },
      {
        "name": "eggs",
        "old_qty": 2,
        "unit": "each"
      },
      {
        "name": "salt",
        "old_qty": 5,
        "unit": "g"
      }
    ],
    "original_yield": 4,
    "target_yield": 6
  },
  "expected_outputs": {
    "scaled_ingredients": [
      {
        "name": "flour",
        "qty": 450,
        "unit": "g"
      },
      {
        "name": "milk",
        "qty": 360,
        "unit": "ml"
      },
      {
        "name": "eggs",
        "qty": 3,
        "unit": "each"
      },
      {
        "name": "salt",
        "qty": 7.5,
        "unit": "g"
      }
    ],
    "warning_flags": [
      "salt is non-linear and should be reviewed as a heuristic estimate"
    ]
  },
  "working": "Factor = target_yield/original_yield = 6/4 = 1.5. Flour: 300 × 1.5 = 450 g. Milk: 240 × 1.5 = 360 ml. Eggs: 2 × 1.5 = 3 each. Salt: 5 × 1.5 = 7.5 g."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The specification exposes two hazardous gaps: zero original yield has an undefined result and requires explicit rejection, while mixed or missing dimension-unit conventions can change a valid pan-area result from approximately 1.94 cups to 12.5 cups. Non-linear ingredient adjustments also remain heuristic rather than exact.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche2/tranche2-results.json
  • BOUNDARY_HAZARD_CATALOG.json