Hold Protocol — Strawberries

When a strawberry lot is being held, walk the inspector through the following protocol. Render as a ChecklistCard with the four sections below; each step is gated on the previous step being checked.

1. Required photos (minimum 3)

  • Top-layer overview — entire flat visible
  • Close-up of any soft fruit observed
  • Pulp temperature reading on the probe display

2. Required measurements

  • Pulp temperature ≤ 36°F (≤ 2.2°C)
  • Brix ≥ 7.0
  • Bruise count per pint ≤ 2

3. Hold reason classification

Use exactly one of the following:

  • soft_fruit — soft to thumb pressure, no visible damage
  • bruising — visible bruising on more than 2 fruit per pint
  • mold — any visible mold (this is an immediate REJECT, not a hold; route to rejection flow)
  • temp_abuse — pulp temp above spec by ≥3°F
  • short_pack — actual weight below declared by more than 5%
  • wrong_pack — packaging does not match spec

4. Notification and disposition timeline

  • Notify the foreman in the current shift thread.
  • If soft_fruit or bruising: notify the lot’s assigned buyer.
  • If temp_abuse: notify cold-chain lead and draft an incident report.
  • Initial hold window: 4h.
  • Re-inspection at 2h by foreman.
  • Final disposition by buyer within 8h of receive.

Tooling

Use get_lot to retrieve the lot and confirm vendor + receive time. Use query_knowledge for any vendor-specific note. On disposition, emit a lot.held event via record_event with payload { lot_id, reason, photos, measurements }. If disposition is mold, emit lot.rejected instead.

Provenance

Every photo, measurement, and event must trace to the inspector, timestamp, and lot. Do not allow the procedure to complete without all three sections checked.