Page actions
instrument implementation / implementation-contract
Grocery Recipe Cost Estimator implementation
A source-bound implementation contract for Grocery Recipe Cost Estimator; deployment and executable qualification remain separate.
Binding contract
This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.
- Record owner
- Guth Instruments
- Lifecycle
- verified-clean
- Evidence ID
- t5-092
- Effect
- Computation or source lookup only
Input and validation requirements
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.
Required corrections
No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.
Inspectable interface fixture
The sample below is evidence for interface and validation tests, not a production implementation.
{
"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."
}Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche5/tranche5-results.json