Page actions
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.
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
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche7/tranche7-results.jsonBOUNDARY_HAZARD_CATALOG.json