Source: https://guthlabs.ai/docs/instruments/frost-date-planting-window-lookup/mechanism/

instrument mechanism / verified-clean

# Frost Date & Planting Window Lookup mechanism

The inspectable method record for Frost Date & Planting Window Lookup, kept separate from implementation and qualification.

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

## Model scope

The honest-label text is directionally correct but should additionally name the frost statistic, threshold, source dataset, station or geographic aggregation method, table vintage, and crop-offset source. The formula is plausible only after those definitions are added; as supplied, the exact meaning of the planting window and the lookup behavior remains ambiguous.

- The expression "frost_date ± crop-specific offset" is underspecified: a safe spring date normally uses last_spring_frost + spring_offset, while a safe fall date normally uses first_fall_frost - fall_offset.

- A single crop-specific offset is insufficient unless the product explicitly defines the same offset for spring and fall; separate spring and fall offsets are usually needed.

- Hardiness zone is not a frost-date lookup key by itself. USDA hardiness zones describe winter minimum-temperature bands and do not uniquely determine spring or fall frost dates.

- ZIP-to-region mapping and lat/lon interpolation rules are not specified. A reproducible product needs a precise bundled geographic-key table and an explicit interpolation policy, if interpolation is supported.

- The frost-date statistic is not defined. The product must state whether dates are average/median dates, a specified frost probability such as 10% or 50%, or NOAA normal dates, and must define the frost threshold, normally 32°F (0°C).

- Planting-window behavior when crop is omitted is undefined; assuming zero offset is one possible policy but must be stated.

## Units and conventions

- Frost dates are calendar dates, not elapsed durations; output dates use ISO YYYY-MM-DD format.

- Frost threshold is 32°F exactly, equivalent to 0°C exactly, using the standard conversion C = (F - 32) × 5/9.

- Table rows below are treated as 32°F frost-date normal dates from a dated NOAA/NCEI-style bundled table; the actual bundle must identify station, period, and frost-probability definition.

- Offsets are in whole calendar days. Spring planting is calculated as last spring frost plus the spring offset; fall safety cutoff is first fall frost minus the fall offset.

- The test vectors use the explicit fixture policy that an omitted crop means a zero-day offset; this policy is not established by the supplied specification.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "location_type": "region",
    "region_id": "R1",
    "hardiness_zone": "5b",
    "crop": "tomato",
    "spring_offset_days": 14,
    "fall_offset_days": 7,
    "output_year": 2025
  },
  "expected_outputs": {
    "last_spring_frost": "2025-05-05",
    "first_fall_frost": "2025-10-05",
    "planting_window": {
      "earliest_spring": "2025-05-19",
      "latest_fall": "2025-09-28"
    },
    "frost_threshold_C": 0
  },
  "reference_data": {
    "frost_table_rows": [
      {
        "region_id": "R1",
        "last_spring_frost": "May 5",
        "first_fall_frost": "October 5",
        "source_convention": "NOAA/NCEI 1991-2020 climate-normal-style 32°F frost-date table; dated bundled station/region fixture"
      }
    ],
    "hardiness_zone_row": {
      "zone": "5b",
      "average_annual_extreme_minimum_F": [
        -15,
        -10
      ],
      "source_convention": "USDA Plant Hardiness Zone Map 2023 standard zone band"
    },
    "frost_threshold": {
      "temperature_F": 32,
      "temperature_C": 0,
      "source_convention": "Widely tabulated standard value; water-freezing point at standard atmospheric pressure"
    }
  },
  "working": "Lookup gives last spring frost = May 5 and first fall frost = October 5. Spring date = May 5 + 14 days = May 19. Fall cutoff = October 5 - 7 days = September 28. The frost threshold conversion is (32 - 32) × 5/9 = 0°C."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The specification leaves invalid-location handling, lookup-branch precedence, and the sign meaning of frost_date ± offset unspecified. Invalid or missing table rows can therefore yield undefined outputs unless the instrument explicitly rejects them.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/frost-date-planting-window-lookup/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/frost-date-planting-window-lookup/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/frost-date-planting-window-lookup/qualification/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json`

- `evidence-tranche7/tranche7-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
