Source: https://guthlabs.ai/docs/instruments/grocery-recipe-cost-estimator/

instrument / verified-clean

# Grocery Recipe Cost Estimator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/grocery-recipe-cost-estimator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/grocery-recipe-cost-estimator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/grocery-recipe-cost-estimator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/grocery-recipe-cost-estimator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Everyday & Life

**Tranche**: tranche-5

**Evidence ID**: t5-092

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The honest label is directionally accurate because prices are user-entered and may become stale. It should additionally state that results are prorated estimates based on entered package prices and quantities, require compatible units, exclude taxes and shopping-package effects unless entered, and may be rounded for display. Add validation requiring purchase_qty > 0 and servings > 0, and define currency and rounding rules before release.

### Formula and scope findings

- The formulas are standard and correct when each ingredient's used quantity and purchase quantity use the same compatible unit.

- The specification does not define unit normalization or how incompatible units such as grams versus milliliters should be handled.

- The specification does not define monetary rounding or precision for displayed costs.

- The meaning of total cost should be labeled as prorated ingredient consumption cost, not necessarily the amount required to purchase complete packages.

### Unit assumptions

- ingredient_qty_used and purchase_qty must represent the same physical quantity dimension for each ingredient, such as grams with grams, milliliters with milliliters, or items with items.

- Unit conversions such as kilograms to grams and liters to milliliters are assumed to be performed before applying the ratio.

- purchase_price is assumed to be the price for the entire stated purchase_qty, in one currency.

- servings is assumed to be a positive count of servings.

- All prices and quantities are assumed nonnegative.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The formula has an unhandled zero-denominator case when purchase_qty is zero, which can yield Infinity in plain JavaScript instead of a rejected input. Mixed quantity units can also produce a 1,000-fold cost error if no unit convention or conversion is enforced.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "ingredients": [
      {
        "name": "flour",
        "purchase_qty": 2,
        "purchase_unit": "kg",
        "purchase_price": 4.8,
        "qty_used": 0.5,
        "used_unit": "kg"
      },
      {
        "name": "sugar",
        "purchase_qty": 1,
        "purchase_unit": "kg",
        "purchase_price": 2.5,
        "qty_used": 0.2,
        "used_unit": "kg"
      },
      {
        "name": "eggs",
        "purchase_qty": 12,
        "purchase_unit": "count",
        "purchase_price": 3.6,
        "qty_used": 3,
        "used_unit": "count"
      }
    ],
    "servings": 8
  },
  "expected_outputs": {
    "total_cost": 2.6,
    "per_serving": 0.325
  },
  "working": "Flour: (0.5 kg / 2 kg) × $4.80 = 0.25 × $4.80 = $1.20. Sugar: (0.2 kg / 1 kg) × $2.50 = 0.20 × $2.50 = $0.50. Eggs: (3 / 12) × $3.60 = 0.25 × $3.60 = $0.90. Total cost = $1.20 + $0.50 + $0.90 = $2.60. Per serving = $2.60 / 8 = $0.325."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
