{
  "$schema_version": "0.2",
  "meta": {
    "name": "Sproutopia KB — comprehensive plant dataset",
    "provenance": "Crop roster from John Seymour's 'The Complete Book of Self-Sufficiency' + comprehensive common US food crops. Clean-room (our own words, no verbatim). US-localized: timing is FROST-RELATIVE, resolved per user's zone/frost dates (FR-1).",
    "status": "FIRST-PASS values — verify every planting window, spacing, DTM, chill-hour and food-safety figure against Cooperative Extension / NCHFP before shipping (NFR-16).",
    "categories": [
      "vegetable",
      "herb",
      "fruit",
      "grain",
      "cover"
    ],
    "planting_window_model": {
      "anchor": [
        "last_frost",
        "first_frost",
        "soil_temp",
        "daylength"
      ],
      "offset_weeks": "[min,max] signed weeks from anchor (negative = before)",
      "mode": [
        "direct",
        "indoor",
        "transplant",
        "set",
        "tuber",
        "crown",
        "slip",
        "bareroot"
      ]
    },
    "rotation_groups": {
      "legume": {
        "trail_color": "gold"
      },
      "brassica": {
        "trail_color": "blue"
      },
      "nightshade": {
        "trail_color": "dark-red"
      },
      "allium": {
        "trail_color": "green"
      },
      "root": {
        "trail_color": "violet"
      },
      "cucurbit": {
        "trail_color": "orange"
      },
      "leafy": {
        "trail_color": "teal"
      },
      "grass": {
        "trail_color": null
      },
      "perennial": {
        "trail_color": null
      },
      "cover": {
        "trail_color": null
      }
    },
    "variety_schema": {
      "name": "str",
      "days_to_maturity": "int (0 = n/a for perennials)",
      "type": "str",
      "traits": "str",
      "beginner": "bool"
    },
    "fruit_fields": {
      "chill_hours": "[min,max] winter chill needed",
      "pollination": "self-fertile | needs pollinizer | varies",
      "years_to_bear": "int",
      "bearing": "tree|bush|cane|vine|ground|crown|shrub"
    },
    "family_gap_years": 3,
    "hardiness": {
      "hardy": "tolerates frost",
      "half_hardy": "light frost only",
      "tender": "frost kills"
    },
    "record_count": 155,
    "by_category": {
      "vegetable": 80,
      "herb": 31,
      "fruit": 30,
      "grain": 7,
      "cover": 7
    },
    "$schema_version": "0.6",
    "cultivation_fields": [
      "soil_climate",
      "propagation",
      "care",
      "pests_diseases",
      "harvest_storage"
    ],
    "cultivation_note": "Per-crop cultivation detail derived from each record's data + rotation-group templates + per-crop specifics, informed by Seymour (both editions) and modern US practice. Re-expressed clean-room. FIRST-PASS — verify against Cooperative Extension before shipping (NFR-16).",
    "extra_sections_note": "Optional `extra_sections` = crop-specific one-off techniques. Book-driven: checklisted from the US 2018 edition's highlighted technique call-outs (per crop) and re-expressed clean-room in our own words. Garden crops covered; the set is first-pass for the NFR-16 content-verification gate.",
    "extra_sections_coverage": "97 of 155 crops carry one-off techniques (176 sections). The remaining crops have no distinct one-off — their needs are fully covered by the five standard cultivation fields. Book-driven + clean-room; first-pass for the NFR-16 content gate.",
    "small_space_value_note": "small_space_value (high|medium|low): worthwhileness per unit area for a small/urban food garden where space is the limiting factor (Seymour's 'make the most of all three dimensions'). high=excellent return per sq ft / vertical / cut-and-come-again / high-value-fresh; low=space-hungry, slow, or field/soil-scale (grains, cover crops, big standard trees) better grown elsewhere. Drives the Beds recommender's beginner/small-space steering. Source: 2018 US edition, Urban Garden & Cultivation guidance.",
    "small_space_value_counts": {
      "medium": 57,
      "high": 50,
      "low": 48
    }
  },
  "plants": [
    {
      "id": "onion",
      "common_name": "Onion",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "set"
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        110
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "onion_fly",
        "white_rot"
      ],
      "storage": [
        "cure_dry"
      ],
      "source": "both",
      "us_adaptation_note": "CRITICAL: choose long-day (north), short-day (south), or intermediate variety by US latitude.",
      "varieties": [
        {
          "name": "Walla Walla",
          "days_to_maturity": 125,
          "type": "long-day sweet",
          "traits": "North; sweet, poor keeper",
          "beginner": false
        },
        {
          "name": "Yellow Sweet Spanish",
          "days_to_maturity": 110,
          "type": "long-day storage",
          "traits": "North; stores well",
          "beginner": false
        },
        {
          "name": "Texas Early Grano",
          "days_to_maturity": 110,
          "type": "short-day",
          "traits": "South; sweet",
          "beginner": false
        },
        {
          "name": "Red Burgundy",
          "days_to_maturity": 95,
          "type": "short-day red",
          "traits": "South; mild red",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate water. Soil: fertile, firm, well-drained, pH 6.0–7.0. Climate: cool-season, hardy. DAY-LENGTH matters — long-day (north), short-day (south), intermediate (middle US).",
        "propagation": "Plant sets 4–2 weeks before the first fall frost; space 4 in apart (9/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Watch for onion fly, white rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–110 days from sowing/transplant. Store by: cure and store dry."
      },
      "extra_sections": [
        {
          "title": "Ripening the tops",
          "content": "As bulbs mature and tops start to flop, bend the necks fully over and ease off water to finish ripening for storage."
        },
        {
          "title": "Remove flower stems",
          "content": "Pull out any bolted flower stalks promptly — a flowered onion won't store; use it fresh."
        },
        {
          "title": "Curing & stringing",
          "content": "Lift on a dry day, cure 2–3 weeks until the necks are papery, then rope/string or net and hang cool and dry."
        }
      ]
    },
    {
      "id": "bunching_onion",
      "common_name": "Bunching onion",
      "aka": [
        "scallion",
        "green onion"
      ],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 1,
      "sqft_count": 16,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Day-length neutral; succession-sow.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: fertile, well-drained, firm soil, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 1 in apart (16/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Onion fly, thrips, and white/neck rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "shallot",
      "common_name": "Shallot",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "set"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "cure_dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Same day-length note as onion.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: fertile, well-drained, firm soil, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Plant sets 4–2 weeks before the first fall frost; space 6 in apart (4/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Onion fly, thrips, and white/neck rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: cure and store dry."
      },
      "extra_sections": [
        {
          "title": "Curing",
          "content": "Cure like onions after the tops die back; store dry."
        }
      ]
    },
    {
      "id": "garlic",
      "common_name": "Garlic",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "set"
        }
      ],
      "spacing_in": 5,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        240,
        300
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "white_rot"
      ],
      "storage": [
        "cure_dry"
      ],
      "source": "both",
      "us_adaptation_note": "Fall-plant, mulch; hardneck for cold zones, softneck for mild/south.",
      "varieties": [
        {
          "name": "Music",
          "days_to_maturity": 280,
          "type": "hardneck porcelain",
          "traits": "Cold-hardy, big cloves, scapes",
          "beginner": true
        },
        {
          "name": "German Extra Hardy",
          "days_to_maturity": 280,
          "type": "hardneck",
          "traits": "Very cold-hardy",
          "beginner": false
        },
        {
          "name": "California Early",
          "days_to_maturity": 260,
          "type": "softneck",
          "traits": "Mild/south; stores long, braids",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: fertile, well-drained, firm soil, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Plant sets 4–2 weeks before the first fall frost; space 5 in apart (4/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Watch for white rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Lift when lower leaves brown (early–mid summer); cure 2–3 weeks in a dry, airy place; store cool and dry (braid softnecks)."
      },
      "extra_sections": [
        {
          "title": "Curing",
          "content": "Lift when lower leaves brown; cure 2–3 weeks in a dry, airy place, then trim and store cool and dry (braid softnecks)."
        }
      ]
    },
    {
      "id": "elephant_garlic",
      "common_name": "Elephant garlic",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "set"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        240,
        300
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Mild; a leek relative, not true garlic.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: fertile, well-drained, firm soil, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Plant sets 4–2 weeks before the first fall frost; space 8 in apart (1/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Onion fly, thrips, and white/neck rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 240–300 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "leek",
      "common_name": "Leek",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "allium",
      "trail_color": "green",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "in_ground"
      ],
      "source": "seymour",
      "us_adaptation_note": "Hill to blanch; very cold-hardy.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: fertile, well-drained, firm soil, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 6 in apart (4/sq ft).",
        "care": "Keep weed-free; ease off water as bulbs mature and tops fall.",
        "pests_diseases": "Onion fly, thrips, and white/neck rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 100–120 days from sowing/transplant. Store by: leave in ground under mulch."
      },
      "extra_sections": [
        {
          "title": "Blanching",
          "content": "Plant deep in a dibbed hole (drop the seedling in and water — don't backfill) or earth up as they grow, to lengthen the white blanched shank."
        }
      ]
    },
    {
      "id": "pea",
      "common_name": "Pea",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 2,
      "sqft_count": 8,
      "small_space_value": "high",
      "days_to_maturity": [
        55,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "powdery_mildew",
        "pea_moth"
      ],
      "storage": [
        "freeze",
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Spring + fall in hot zones; likes lime.",
      "varieties": [
        {
          "name": "Sugar Snap",
          "days_to_maturity": 62,
          "type": "snap edible-pod",
          "traits": "Sweet, eat whole, needs support",
          "beginner": true
        },
        {
          "name": "Oregon Sugar Pod II",
          "days_to_maturity": 60,
          "type": "snow",
          "traits": "Flat edible pod, compact",
          "beginner": false
        },
        {
          "name": "Green Arrow",
          "days_to_maturity": 70,
          "type": "shelling",
          "traits": "Heavy yield, disease-resistant",
          "beginner": false
        },
        {
          "name": "Little Marvel",
          "days_to_maturity": 60,
          "type": "shelling",
          "traits": "Compact, early",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 2 in apart (8/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Watch for powdery mildew, pea moth. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 55–70 days from sowing/transplant. Store by: freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Support & training",
          "content": "Give all but the shortest peas support as they grow — twiggy 'pea sticks' or netting on a wire frame — so tendrils can climb and pods stay off the ground."
        },
        {
          "title": "Bird protection",
          "content": "Net or cover newly sown rows and seedlings; birds pull up sprouting peas and strip young shoots."
        }
      ]
    },
    {
      "id": "fava_bean",
      "common_name": "Fava bean",
      "aka": [
        "broad bean"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 5,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        75,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "black_aphid"
      ],
      "storage": [
        "freeze",
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Fall-sow only where winters mild.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 5 in apart (4/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Watch for black aphid. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 75–90 days from sowing/transplant. Store by: freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Support",
          "content": "Stake the corners of a double row and run string around the block to keep the tall, brittle plants upright."
        },
        {
          "title": "Pinching tops",
          "content": "When the lowest pods set and blackfly appear, pinch out (and eat) the tender growing tips to check the aphids and speed podding."
        }
      ]
    },
    {
      "id": "green_bean",
      "common_name": "Green bean",
      "aka": [
        "bush bean",
        "snap bean",
        "French bean"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        65
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "mexican_bean_beetle"
      ],
      "storage": [
        "freeze",
        "can_pressure",
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Succession every 2-3 wk; pressure-can only (low-acid).",
      "varieties": [
        {
          "name": "Provider",
          "days_to_maturity": 50,
          "type": "bush snap",
          "traits": "Fast, cold-soil tolerant",
          "beginner": true
        },
        {
          "name": "Blue Lake 274",
          "days_to_maturity": 58,
          "type": "bush snap",
          "traits": "Classic flavor, heavy",
          "beginner": true
        },
        {
          "name": "Kentucky Wonder",
          "days_to_maturity": 65,
          "type": "pole snap",
          "traits": "Vigorous climber",
          "beginner": false
        },
        {
          "name": "Contender",
          "days_to_maturity": 50,
          "type": "bush snap",
          "traits": "Early, heat-tolerant",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 4 in apart (9/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Watch for mexican bean beetle. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–65 days from sowing/transplant. Store by: freeze, pressure-can (low-acid), dry."
      }
    },
    {
      "id": "pole_bean",
      "common_name": "Pole bean",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Climbing; long harvest window; needs support.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart.",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Support",
          "content": "Provide poles or a tripod at sowing; pole beans crop over a longer window than bush types."
        }
      ]
    },
    {
      "id": "lima_bean",
      "common_name": "Lima bean",
      "aka": [
        "butter bean"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "direct",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        65,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Needs long warm season; US south/mid.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 2–3 weeks after the last frost once soil is ≥65°F; space 4 in apart (9/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 65–90 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "runner_bean",
      "common_name": "Runner bean",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze"
      ],
      "source": "seymour",
      "us_adaptation_note": "Climbing; sets poorly in extreme heat.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart.",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Support",
          "content": "Set up tall poles, a tripod, or a netted A-frame at sowing — runner beans climb hard and yield over a long season."
        },
        {
          "title": "Picking",
          "content": "Pick regularly and young; a few pods left to mature will stop the plant setting more."
        }
      ]
    },
    {
      "id": "cowpea",
      "common_name": "Cowpea",
      "aka": [
        "southern pea",
        "black-eyed pea"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "direct",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        60,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "US-south heat/drought tolerant; also cover crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 2–3 weeks after the last frost once soil is ≥65°F; space 4 in apart (9/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–90 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "edamame",
      "common_name": "Edamame",
      "aka": [
        "soybean"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        75,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "Warm-season legume; fixes nitrogen.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 3 in apart (9/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 75–100 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Seed inoculation",
          "content": "Where soybeans haven't grown before, coat the seed with nitrogen-fixing (Rhizobium) inoculant at sowing — it can lift yield markedly and enrich the soil."
        }
      ]
    },
    {
      "id": "peanut",
      "common_name": "Peanut",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "direct",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 8,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        120,
        150
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Needs long warm season & sandy soil; US south.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 2–3 weeks after the last frost once soil is ≥65°F; space 8 in apart (1/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 120–150 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Earthing up / pegging",
          "content": "After flowering, draw loose soil up around each plant so the fertilized flower stalks ('pegs') can bury themselves — the nuts only ripen underground."
        }
      ]
    },
    {
      "id": "chickpea",
      "common_name": "Chickpea",
      "aka": [
        "garbanzo"
      ],
      "category": "vegetable",
      "botanical_family": "Fabaceae",
      "rotation_group": "legume",
      "trail_color": "gold",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Cool-then-dry season; drought tolerant.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: well-drained, moderately fertile soil, pH 6.0–7.0; needs no extra nitrogen (fixes its own). Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 4 in apart (9/sq ft).",
        "care": "Support climbers; keep evenly moist at flowering/podding; pick often to keep producing.",
        "pests_diseases": "Aphids, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–100 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "potato",
      "common_name": "Potato",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -2,
            0
          ],
          "mode": "tuber"
        }
      ],
      "spacing_in": 12,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "colorado_potato_beetle",
        "late_blight",
        "scab",
        "eelworm"
      ],
      "storage": [
        "root_cellar"
      ],
      "source": "both",
      "us_adaptation_note": "No fresh lime (scab). Rotate with ALL nightshades (shared blight).",
      "varieties": [
        {
          "name": "Yukon Gold",
          "days_to_maturity": 80,
          "type": "mid all-purpose",
          "traits": "Yellow, versatile",
          "beginner": true
        },
        {
          "name": "Kennebec",
          "days_to_maturity": 90,
          "type": "mid",
          "traits": "Disease-resistant, high yield",
          "beginner": true
        },
        {
          "name": "Red Norland",
          "days_to_maturity": 70,
          "type": "early red",
          "traits": "Fast new potatoes",
          "beginner": false
        },
        {
          "name": "Russet Burbank",
          "days_to_maturity": 110,
          "type": "late baking",
          "traits": "Storage/baking; long season",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate even water. Soil: loose, slightly acid, pH 5.0–6.5 — NEVER add fresh lime (causes scab). Climate: cool-season; frost-tender tops.",
        "propagation": "Plant tubers 2–0 weeks before the last frost; space 12 in apart.",
        "care": "Hill soil over stems as they grow (blocks light/greening); mulch; even water. Rotate with ALL nightshades.",
        "pests_diseases": "Watch for colorado potato beetle, late blight, scab, eelworm. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "New potatoes at flowering; main crop after tops die. Cure 1–2 weeks in the dark, then root-cellar cool, dark, humid."
      },
      "extra_sections": [
        {
          "title": "Chitting",
          "content": "For early crops, 'chit' seed potatoes: stand them eyes-up in a cool, light place 4–6 weeks before planting to grow short, sturdy green sprouts."
        },
        {
          "title": "Earthing up",
          "content": "Draw soil up over the stems in stages as they grow — this blanks tubers from light (green tubers are toxic), suppresses weeds, and lifts yield."
        },
        {
          "title": "Growing in containers",
          "content": "No dig-space? Grow in bins, sacks, or on top of compost, adding material as the haulm grows, then tip out to harvest."
        },
        {
          "title": "Blight management",
          "content": "In warm, wet spells watch for late blight; remove the haulm at the first sign so spores don't wash down to the tubers."
        },
        {
          "title": "Storing (clamping)",
          "content": "Cure lifted tubers a week or two in the dark, then store in a clamp or in the dark in a cool, frost-free, humid place."
        }
      ]
    },
    {
      "id": "tomato",
      "common_name": "Tomato",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": 0.5,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        85
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "late_blight",
        "early_blight",
        "hornworm",
        "blossom_end_rot"
      ],
      "storage": [
        "can_waterbath_acidified",
        "freeze",
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "DTM from transplant. Heat >90F drops fruit-set. Water-bath canning needs added acid.",
      "varieties": [
        {
          "name": "Early Girl",
          "days_to_maturity": 55,
          "type": "indeterminate slicer",
          "traits": "Reliable, early",
          "beginner": true
        },
        {
          "name": "Celebrity",
          "days_to_maturity": 70,
          "type": "determinate slicer",
          "traits": "Disease-resistant VFNT",
          "beginner": true
        },
        {
          "name": "Sungold",
          "days_to_maturity": 57,
          "type": "indeterminate cherry",
          "traits": "Very sweet, crack-prone",
          "beginner": true
        },
        {
          "name": "Roma",
          "days_to_maturity": 75,
          "type": "determinate paste",
          "traits": "Meaty; canning/sauce",
          "beginner": false
        },
        {
          "name": "Cherokee Purple",
          "days_to_maturity": 80,
          "type": "indeterminate heirloom",
          "traits": "Rich flavor, disease-prone",
          "beginner": false
        },
        {
          "name": "San Marzano",
          "days_to_maturity": 80,
          "type": "indeterminate paste",
          "traits": "Classic sauce",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, well-drained soil, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart (0.5/sq ft).",
        "care": "Stake or cage; prune suckers on indeterminates; mulch and water evenly to prevent blossom-end rot and cracking.",
        "pests_diseases": "Watch for late blight, early blight, hornworm, blossom end rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Pick as they color up. Water-bath can ONLY with added acid (lemon/citric), or freeze/dry; green tomatoes ripen indoors."
      },
      "extra_sections": [
        {
          "title": "Planting out",
          "content": "Set plants deep (lowest leaves near the soil) so the buried stem roots; drive a tall stake in first when transplanting so you don't spear the roots later."
        },
        {
          "title": "Stopping & side-shooting",
          "content": "On indeterminate (cordon) types, pinch out the side-shoots in each leaf axil and 'stop' the plant (remove the tip) a few leaves above the top truss. Determinate/bush types are left alone."
        },
        {
          "title": "Ring culture",
          "content": "Under glass, grow in bottomless pots of compost stood on gravel — water the aggregate to feed the roots and the pot to feed the plant, which curbs soil disease."
        },
        {
          "title": "Grow bags",
          "content": "Where there's no bed, plant two or three to a grow bag; watch watering, as bags dry out fast and can't be over-filled."
        },
        {
          "title": "Keeping plants low",
          "content": "In a small plot, plant close, stop each plant after one truss, and allow no side-shoots — ruthless, but it can give more early ripe fruit."
        },
        {
          "title": "Ripening",
          "content": "At season's end pick sound green fruit to ripen indoors, or lift and hang the whole plant under cover."
        }
      ]
    },
    {
      "id": "pepper",
      "common_name": "Pepper",
      "aka": [
        "capsicum",
        "chili"
      ],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -8,
            -7
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "transplant",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 15,
      "sqft_count": 1,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "aphid",
        "blossom_end_rot"
      ],
      "storage": [
        "freeze",
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Needs warm soil; slow start; thrives US south.",
      "varieties": [
        {
          "name": "California Wonder",
          "days_to_maturity": 75,
          "type": "sweet bell",
          "traits": "Standard bell",
          "beginner": true
        },
        {
          "name": "Jalapeno",
          "days_to_maturity": 70,
          "type": "hot chili",
          "traits": "Reliable medium heat",
          "beginner": true
        },
        {
          "name": "Shishito",
          "days_to_maturity": 60,
          "type": "sweet frying",
          "traits": "Early, mild, prolific",
          "beginner": false
        },
        {
          "name": "Habanero",
          "days_to_maturity": 90,
          "type": "very hot",
          "traits": "Long season, needs heat",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, well-drained soil, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 8–7 weeks before the last frost; transplant out 2–3 weeks after the last frost once soil is ≥65°F; space 15 in apart (1/sq ft).",
        "care": "Mulch and water evenly to prevent blossom-end rot; support/stake tall types.",
        "pests_diseases": "Watch for aphid, blossom end rot. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Pick green or leave to ripen red/colored (sweeter). Freeze, dry, or pickle."
      },
      "extra_sections": [
        {
          "title": "Support",
          "content": "Stake or cage laden plants; pinch the first flower to build a bushier, more productive plant."
        }
      ]
    },
    {
      "id": "eggplant",
      "common_name": "Eggplant",
      "aka": [
        "aubergine"
      ],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -8,
            -7
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "transplant",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 20,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle"
      ],
      "storage": [
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "Most heat-loving nightshade; marginal in cool-summer areas.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, well-drained soil, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 8–7 weeks before the last frost; transplant out 2–3 weeks after the last frost once soil is ≥65°F; space 20 in apart (1/sq ft).",
        "care": "Mulch and water evenly to prevent blossom-end rot; support/stake tall types.",
        "pests_diseases": "Watch for flea beetle. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Support & pinching",
          "content": "Stake the plants; pinch the growing tip once several fruit have set and remove extra flowers so the fruit sizes."
        }
      ]
    },
    {
      "id": "tomatillo",
      "common_name": "Tomatillo",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        75,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze"
      ],
      "source": "general",
      "us_adaptation_note": "Needs 2+ plants for pollination.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, well-drained soil, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart.",
        "care": "Mulch and water evenly to prevent blossom-end rot; support/stake tall types.",
        "pests_diseases": "Blights, flea beetles, hornworms/potato beetles. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 75–100 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Support & harvest",
          "content": "Cage the sprawling plants; harvest when the papery husk fills out and splits — fruit inside should be firm."
        }
      ]
    },
    {
      "id": "ground_cherry",
      "common_name": "Ground cherry",
      "aka": [
        "husk cherry"
      ],
      "category": "vegetable",
      "botanical_family": "Solanaceae",
      "rotation_group": "nightshade",
      "trail_color": "dark-red",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Sprawling; self-seeds.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, well-drained soil, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart.",
        "care": "Mulch and water evenly to prevent blossom-end rot; support/stake tall types.",
        "pests_diseases": "Blights, flea beetles, hornworms/potato beetles. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Harvesting",
          "content": "Gather the husked fruit as it drops to the ground fully ripe and sweet."
        }
      ]
    },
    {
      "id": "cabbage",
      "common_name": "Cabbage",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 15,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        70,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "3-yr club-root gap; spring + fall.",
      "varieties": [
        {
          "name": "Golden Acre",
          "days_to_maturity": 65,
          "type": "early green",
          "traits": "Small, quick",
          "beginner": true
        },
        {
          "name": "Copenhagen Market",
          "days_to_maturity": 70,
          "type": "green",
          "traits": "Uniform",
          "beginner": false
        },
        {
          "name": "Red Acre",
          "days_to_maturity": 75,
          "type": "red",
          "traits": "Keeper; kraut/pickle",
          "beginner": false
        },
        {
          "name": "January King",
          "days_to_maturity": 100,
          "type": "savoy overwinter",
          "traits": "Very cold-hardy",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 15 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–100 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Firm planting",
          "content": "Plant brassicas FIRM and deep with a dibber to the depth they grew in the seed-bed, then heel the soil in hard — loose planting gives loose, poor heads. Dipping roots in a limy mud slurry aids establishment."
        },
        {
          "title": "Earthing up",
          "content": "Draw soil up around the stems as plants grow for extra anchorage."
        },
        {
          "title": "Clearing the stems",
          "content": "Pull each root out after cutting (leaving it invites disease) and crush/chop the stem for compost."
        }
      ]
    },
    {
      "id": "broccoli",
      "common_name": "Broccoli",
      "aka": [
        "calabrese"
      ],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 16,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        60,
        85
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Heat makes it button - time for cool.",
      "varieties": [
        {
          "name": "Waltham 29",
          "days_to_maturity": 74,
          "type": "fall heading",
          "traits": "Cold-tolerant, side shoots",
          "beginner": true
        },
        {
          "name": "Di Cicco",
          "days_to_maturity": 65,
          "type": "heirloom",
          "traits": "Small heads + side shoots",
          "beginner": false
        },
        {
          "name": "Calabrese",
          "days_to_maturity": 70,
          "type": "heirloom",
          "traits": "Italian sprouting",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 16 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–85 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Protection & support",
          "content": "Net against cabbage-white butterflies in summer and pigeons in winter; stake tall sprouting types and mulch for winter."
        }
      ]
    },
    {
      "id": "cauliflower",
      "common_name": "Cauliflower",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 18,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Fussy on heat/moisture - not a beginner crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 18 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Cull 'blind' seedlings",
          "content": "At planting, discard any seedling with no tiny central bud ('blind') — it will never form a curd."
        },
        {
          "title": "Protecting the curds",
          "content": "Shade the developing white curd by snapping or bending a few outer leaves over it (or tie them), keeping it white and tight."
        }
      ]
    },
    {
      "id": "romanesco",
      "common_name": "Romanesco",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 18,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        75,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Fractal cauliflower; long, cool season.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 18 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 75–100 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Curd protection",
          "content": "Shade the developing head by bending a few outer leaves over it, as for cauliflower."
        }
      ]
    },
    {
      "id": "brussels_sprouts",
      "common_name": "Brussels sprouts",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -16,
            -13
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 20,
      "sqft_count": 0.25,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Long season; frost sweetens; target first-frost.",
      "varieties": [
        {
          "name": "Long Island Improved",
          "days_to_maturity": 100,
          "type": "heirloom",
          "traits": "Standard",
          "beginner": true
        },
        {
          "name": "Diablo",
          "days_to_maturity": 110,
          "type": "hybrid",
          "traits": "Uniform, high yield",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "transplant out 16–13 weeks before the first fall frost; space 20 in apart (0.25/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Firm the bed",
          "content": "Sprouts need firm soil or they grow loose and 'blown' — roll or tread the bed before planting."
        },
        {
          "title": "Earthing up",
          "content": "Draw soil up around the base as plants grow; good earthing-up usually gives enough support on its own."
        },
        {
          "title": "Staking",
          "content": "In windy, exposed spots stake each tall stem as well."
        },
        {
          "title": "Strip lower leaves",
          "content": "Remove the lowest leaves as they yellow; pick sprouts from the bottom of the stem upward."
        }
      ]
    },
    {
      "id": "kale",
      "common_name": "Kale",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 15,
      "sqft_count": 1,
      "small_space_value": "high",
      "days_to_maturity": [
        55,
        75
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Very cold-hardy; frost sweetens; overwinters in mild zones.",
      "varieties": [
        {
          "name": "Winterbor",
          "days_to_maturity": 60,
          "type": "curly",
          "traits": "Very cold-hardy",
          "beginner": true
        },
        {
          "name": "Lacinato",
          "days_to_maturity": 60,
          "type": "Tuscan",
          "traits": "Flat, tender",
          "beginner": false
        },
        {
          "name": "Red Russian",
          "days_to_maturity": 50,
          "type": "Russian",
          "traits": "Tender, sweet after frost",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 15 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 55–75 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Harvesting",
          "content": "Pick lower leaves from the bottom up, leaving the growing crown; flavor sweetens markedly after frost."
        }
      ]
    },
    {
      "id": "collards",
      "common_name": "Collards",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 18,
      "sqft_count": 1,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        75
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "US-south staple; both heat- AND cold-tolerant; frost sweetens.",
      "varieties": [
        {
          "name": "Georgia Southern",
          "days_to_maturity": 75,
          "type": "heirloom",
          "traits": "Heat-tolerant classic",
          "beginner": true
        },
        {
          "name": "Champion",
          "days_to_maturity": 60,
          "type": "compact",
          "traits": "Bolt-resistant",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 18 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–75 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Harvesting",
          "content": "Pick lower leaves as needed, working up the stem; harvest through cold — frost improves them."
        }
      ]
    },
    {
      "id": "kohlrabi",
      "common_name": "Kohlrabi",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        45,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Fast; harvest young/tender.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 6 in apart (4/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 45–60 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin early to spacing and harvest young and tender — old bulbs turn woody. Watch for boron deficiency (hollow, corky flesh) on poor soils."
        }
      ]
    },
    {
      "id": "turnip",
      "common_name": "Turnip",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        40,
        55
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Brassica - club-root gap; strong fall crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 3 in apart (9/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–55 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin early for round roots; the thinnings' tops are edible greens."
        }
      ]
    },
    {
      "id": "rutabaga",
      "common_name": "Rutabaga",
      "aka": [
        "swede"
      ],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -14,
            -12
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 7,
      "sqft_count": 0.5,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        110
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "UK 'swede'; fall/storage; frost improves flavor.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 14–12 weeks before the first fall frost; space 7 in apart (0.5/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–110 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "radish",
      "common_name": "Radish",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 1,
      "sqft_count": 16,
      "small_space_value": "high",
      "days_to_maturity": [
        25,
        30
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "MICRO-WIN crop (FR-55); brassica - counts in club-root rotation.",
      "varieties": [
        {
          "name": "Cherry Belle",
          "days_to_maturity": 24,
          "type": "spring globe",
          "traits": "Fastest, mild",
          "beginner": true
        },
        {
          "name": "French Breakfast",
          "days_to_maturity": 25,
          "type": "spring oblong",
          "traits": "Mild",
          "beginner": false
        },
        {
          "name": "Daikon",
          "days_to_maturity": 60,
          "type": "winter",
          "traits": "Large fall/storage",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 1 in apart (16/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 25–30 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "bok_choy",
      "common_name": "Bok choy",
      "aka": [
        "pak choi"
      ],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        45,
        55
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Asian green; bolts in heat (spring/fall).",
      "varieties": [
        {
          "name": "Joi Choi",
          "days_to_maturity": 50,
          "type": "full-size",
          "traits": "Bolt-resistant",
          "beginner": true
        },
        {
          "name": "Toy Choi",
          "days_to_maturity": 30,
          "type": "baby",
          "traits": "Fast, containers",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 8 in apart (4/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 45–55 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "napa_cabbage",
      "common_name": "Napa cabbage",
      "aka": [
        "Chinese cabbage"
      ],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        70,
        80
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "FALL crop (bolts spring); for kimchi.",
      "varieties": [
        {
          "name": "Michihili",
          "days_to_maturity": 72,
          "type": "tall",
          "traits": "Classic",
          "beginner": false
        },
        {
          "name": "Bilko",
          "days_to_maturity": 54,
          "type": "barrel",
          "traits": "Disease-resistant",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 12 in apart (1/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–80 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Tying to blanch",
          "content": "Never let it dry out; once the heart forms, tie the leaves together top and bottom to conserve moisture and blanch the pale inner leaves."
        }
      ]
    },
    {
      "id": "mustard_greens",
      "common_name": "Mustard greens",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        40,
        50
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "US-south staple; heat->pungent/bolt.",
      "varieties": [
        {
          "name": "Southern Giant Curled",
          "days_to_maturity": 50,
          "type": "curled",
          "traits": "Southern classic",
          "beginner": true
        },
        {
          "name": "Red Giant",
          "days_to_maturity": 45,
          "type": "purple",
          "traits": "Spicy",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 6 in apart (4/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–50 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "mizuna",
      "common_name": "Mizuna",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        40,
        45
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Mild, fast, cut-and-come-again; winter under cover.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 6 in apart (4/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–45 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "tatsoi",
      "common_name": "Tatsoi",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        45,
        50
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Cold-hardy rosette; strong winter crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 6 in apart (4/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 45–50 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "arugula",
      "common_name": "Arugula",
      "aka": [
        "rocket"
      ],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "high",
      "days_to_maturity": [
        30,
        40
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Fast peppery green; bolts in heat.",
      "varieties": [
        {
          "name": "Astro",
          "days_to_maturity": 38,
          "type": "cultivated",
          "traits": "Milder, fast",
          "beginner": true
        },
        {
          "name": "Sylvetta",
          "days_to_maturity": 50,
          "type": "wild",
          "traits": "Slower, spicier",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 4 in apart (9/sq ft).",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 30–40 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "watercress",
      "common_name": "Watercress",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "seymour",
      "us_adaptation_note": "Needs clean water. SAFETY: wild carries liver-fluke - cultivate.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 6 in apart.",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Few pests in clean water. SAFETY: wild watercress can carry liver fluke — only eat cultivated, clean-water crops.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "horseradish",
      "common_name": "Horseradish",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "brassica",
      "trail_color": "blue",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        365,
        365
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "flea_beetle",
        "cabbage_worm",
        "club_root"
      ],
      "storage": [
        "fresh"
      ],
      "source": "seymour",
      "us_adaptation_note": "Perennial root; SPREADS - contain. Very pungent.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: firm, fertile soil limed to pH 6.5–7.5 (sweet soil deters club-root). Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Firm the soil, keep moist, and net or row-cover against cabbage moths; hoe weeds.",
        "pests_diseases": "Watch for flea beetle, cabbage worm, club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Containment",
          "content": "Grow in a sunk container or bed edge; every root scrap regrows, so it spreads."
        },
        {
          "title": "Harvesting",
          "content": "Dig the pungent roots from fall on; leave a piece to regrow next year."
        }
      ]
    },
    {
      "id": "carrot",
      "common_name": "Carrot",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            8
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 16,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        80
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "carrot_fly"
      ],
      "storage": [
        "root_cellar",
        "in_ground"
      ],
      "source": "both",
      "us_adaptation_note": "Loose, stone-free soil; no fresh manure (forking).",
      "varieties": [
        {
          "name": "Danvers 126",
          "days_to_maturity": 75,
          "type": "Danvers",
          "traits": "Tolerates heavier soil",
          "beginner": true
        },
        {
          "name": "Scarlet Nantes",
          "days_to_maturity": 70,
          "type": "Nantes",
          "traits": "Sweet, tender",
          "beginner": true
        },
        {
          "name": "Chantenay Red Core",
          "days_to_maturity": 70,
          "type": "Chantenay",
          "traits": "Short; heavy soils",
          "beginner": false
        },
        {
          "name": "Little Finger",
          "days_to_maturity": 55,
          "type": "baby",
          "traits": "Fast, containers",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 3–8 weeks before the last frost; space 3 in apart (16/sq ft).",
        "care": "Thin to spacing; keep evenly moist to prevent splitting; sprinkle soil to hide the scent from carrot fly.",
        "pests_diseases": "Watch for carrot fly. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Pull young anytime; lift main crop before hard frost and store in damp sand in a root cellar (washed roots rot)."
      },
      "extra_sections": [
        {
          "title": "Thinning & carrot fly",
          "content": "Thin on a still, damp evening and firm the soil back — the crushed-carrot scent draws carrot fly; a fine mesh or low barrier keeps the low-flying fly off."
        },
        {
          "title": "Storing",
          "content": "Lift the main crop before hard frost and store the unwashed roots in damp sand in a cool cellar; washed roots rot fast."
        }
      ]
    },
    {
      "id": "parsnip",
      "common_name": "Parsnip",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "carrot_fly"
      ],
      "storage": [
        "in_ground",
        "root_cellar"
      ],
      "source": "seymour",
      "us_adaptation_note": "Frost sweetens; use fresh seed.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 4 in apart (9/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Watch for carrot fly. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 100–120 days from sowing/transplant. Store by: leave in ground under mulch, root-cellar."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin early to final spacing (crowded roots stay small and forked); use fresh seed as it germinates slowly and erratically."
        },
        {
          "title": "Canker",
          "content": "Guard against parsnip canker (brown/black shoulder rot) with rotation, resistant varieties, and avoiding fresh manure."
        }
      ]
    },
    {
      "id": "beet",
      "common_name": "Beet",
      "aka": [
        "beetroot"
      ],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            8
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        65
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "leaf_miner"
      ],
      "storage": [
        "root_cellar",
        "pickle"
      ],
      "source": "both",
      "us_adaptation_note": "Tolerates some heat; greens edible.",
      "varieties": [
        {
          "name": "Detroit Dark Red",
          "days_to_maturity": 58,
          "type": "round red",
          "traits": "Dual-purpose standard",
          "beginner": true
        },
        {
          "name": "Chioggia",
          "days_to_maturity": 55,
          "type": "heirloom",
          "traits": "Pink-white rings",
          "beginner": false
        },
        {
          "name": "Golden",
          "days_to_maturity": 55,
          "type": "yellow",
          "traits": "Sweet, non-bleeding",
          "beginner": false
        },
        {
          "name": "Cylindra",
          "days_to_maturity": 60,
          "type": "cylindrical",
          "traits": "Uniform slices",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–8 weeks before the last frost; space 3 in apart (9/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Watch for leaf miner. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–65 days from sowing/transplant. Store by: root-cellar, pickle."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Each beet 'seed' is a cluster — thin the seedlings to one per station for well-shaped roots."
        }
      ]
    },
    {
      "id": "celery",
      "common_name": "Celery",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        130
      ],
      "sun": "partial",
      "water": "high",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Thirsty; self-blanching types easier; no lime.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; generous, never let it dry out water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 100–130 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Trenching & blanching",
          "content": "Trench types: plant in a prepared trench and draw soil up (or wrap collars) around the stems in stages over the last weeks to blanch them pale and mild."
        },
        {
          "title": "Self-blanching types",
          "content": "Self-blanching celery is grown at close spacing in a block on the flat — no trenching needed, but less hardy."
        }
      ]
    },
    {
      "id": "celeriac",
      "common_name": "Celeriac",
      "aka": [
        "celery root"
      ],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        120
      ],
      "sun": "partial",
      "water": "high",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "root_cellar"
      ],
      "source": "seymour",
      "us_adaptation_note": "Long season.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; generous, never let it dry out water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 100–120 days from sowing/transplant. Store by: root-cellar."
      },
      "extra_sections": [
        {
          "title": "Removing side growth",
          "content": "Unlike celery, don't earth it up — instead remove side-shoots and stray side roots and draw soil away from the swelling crown so it forms cleanly."
        }
      ]
    },
    {
      "id": "fennel_bulb",
      "common_name": "Fennel (Florence)",
      "aka": [
        "finocchio"
      ],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        65,
        80
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Bulbing fennel; bolts in heat - grow for fall.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart (4/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 65–80 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Blanching the bulb",
          "content": "Draw soil up around the swelling bulb (or wrap it) to keep it white, sweet, and tender."
        }
      ]
    },
    {
      "id": "salsify",
      "common_name": "Salsify",
      "aka": [
        "oyster plant"
      ],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "low",
      "days_to_maturity": [
        120,
        150
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "in_ground"
      ],
      "source": "seymour",
      "us_adaptation_note": "Long-season root; frost sweetens.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 3 in apart (9/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 120–150 days from sowing/transplant. Store by: leave in ground under mulch."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin seedlings to spacing early; crowded roots stay thin and forky."
        },
        {
          "title": "Harvesting",
          "content": "Lift as needed through winter — flavor improves after frost; roots can also stay in the ground under mulch."
        }
      ]
    },
    {
      "id": "sweet_potato",
      "common_name": "Sweet potato",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Convolvulaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "slip",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 12,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "cure_store"
      ],
      "source": "both",
      "us_adaptation_note": "US-ADVANTAGE (marginal in UK); long warm season; cure before storing.",
      "varieties": [
        {
          "name": "Beauregard",
          "days_to_maturity": 90,
          "type": "orange",
          "traits": "Fast, reliable",
          "beginner": true
        },
        {
          "name": "Georgia Jet",
          "days_to_maturity": 90,
          "type": "orange",
          "traits": "Short-season, north-friendly",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: warm-season; frost kills it.",
        "propagation": "Plant slips 2–3 weeks after the last frost once soil is ≥65°F; space 12 in apart.",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: cure, then store cool."
      },
      "extra_sections": [
        {
          "title": "Curing",
          "content": "Cure dug roots ~10 days warm (80°F) and humid to heal skins and sweeten, then store cool — never refrigerate."
        },
        {
          "title": "Raising slips",
          "content": "Start 'slips' (rooted shoots) from a tuber in a warm spot, then detach and plant them after the soil warms."
        },
        {
          "title": "Ridging",
          "content": "Plant on warm ridges/mounds for drainage and heat; keep vines from rooting at every node so energy goes to the crop."
        }
      ]
    },
    {
      "id": "jerusalem_artichoke",
      "common_name": "Jerusalem artichoke",
      "aka": [
        "sunchoke"
      ],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -2,
            0
          ],
          "mode": "tuber"
        }
      ],
      "spacing_in": 12,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        120,
        150
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "in_ground"
      ],
      "source": "seymour",
      "us_adaptation_note": "Easy; SPREADS AGGRESSIVELY - contain.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Plant tubers 2–0 weeks before the last frost; space 12 in apart.",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 120–150 days from sowing/transplant. Store by: leave in ground under mulch."
      },
      "extra_sections": [
        {
          "title": "Containment",
          "content": "Plant where you can control it — any tuber left behind regrows, so it spreads fast; a bed edge or buried barrier helps."
        },
        {
          "title": "Cutting down & harvest",
          "content": "Cut the tall stems down after frost (they double as a windbreak/support first); dig tubers as needed through winter."
        }
      ]
    },
    {
      "id": "radish_daikon",
      "common_name": "Daikon radish",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        50,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "club_root"
      ],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Large fall/winter radish; also a soil-busting cover crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 3 in apart (4/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Watch for club root. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–70 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "lettuce",
      "common_name": "Lettuce",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        45,
        60
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "slug",
        "aphid"
      ],
      "storage": [
        "fresh"
      ],
      "source": "both",
      "us_adaptation_note": "Bolts in US summer heat - shade/succession or spring+fall.",
      "varieties": [
        {
          "name": "Buttercrunch",
          "days_to_maturity": 55,
          "type": "butterhead",
          "traits": "Heat-tolerant, slow bolt",
          "beginner": true
        },
        {
          "name": "Black Seeded Simpson",
          "days_to_maturity": 45,
          "type": "looseleaf",
          "traits": "Fast",
          "beginner": true
        },
        {
          "name": "Parris Island",
          "days_to_maturity": 70,
          "type": "romaine",
          "traits": "Upright, heat-tolerant",
          "beginner": false
        },
        {
          "name": "Salad Bowl",
          "days_to_maturity": 50,
          "type": "looseleaf",
          "traits": "Long cutting",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–6 weeks before the last frost; space 6 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Watch for slug, aphid. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Cut whole heads or pick outer leaves (cut-and-come-again). Use fresh — does not store; sow every 2–3 weeks."
      },
      "extra_sections": [
        {
          "title": "Preventing bolting",
          "content": "In heat, keep it growing fast with water and light afternoon shade, choose heat-tolerant/bolt-resistant types, and sow little-and-often rather than all at once."
        }
      ]
    },
    {
      "id": "spinach",
      "common_name": "Spinach",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        },
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -8,
            -6
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "high",
      "days_to_maturity": [
        40,
        50
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "leaf_miner",
        "downy_mildew"
      ],
      "storage": [
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "Bolts with heat/long days; strong US fall/overwinter crop.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the last frost; Direct-sow 8–6 weeks before the first fall frost; space 3 in apart (9/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Watch for leaf miner, downy mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–50 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Cut-and-come-again",
          "content": "Pick outer leaves and let the center keep producing; whole-plant cut a young stand for repeated flushes."
        }
      ]
    },
    {
      "id": "chard",
      "common_name": "Swiss chard",
      "aka": [
        "spinach beet"
      ],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "leaf_miner"
      ],
      "storage": [
        "fresh",
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "Heat-tolerant beet relative; cut-and-come-again all season.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Watch for leaf miner. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: use fresh, freeze."
      },
      "extra_sections": [
        {
          "title": "Cut-and-come-again",
          "content": "Snap or cut outer stalks and leaves; the plant regrows all season from the center."
        }
      ]
    },
    {
      "id": "endive",
      "common_name": "Endive",
      "aka": [
        "escarole"
      ],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        80,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Blanch to reduce bitterness; fall crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 80–100 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Blanching",
          "content": "Cover a mature plant (an inverted plate or pot) for 2–3 weeks to blanch the heart and take out the bitterness."
        }
      ]
    },
    {
      "id": "radicchio",
      "common_name": "Radicchio",
      "aka": [
        "chicory"
      ],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        80,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Heads best in cool fall; can force chicons.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 80–100 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Forcing chicons",
          "content": "Lift roots in fall, trim, and force in the dark for tight pale 'chicons'; or let heads firm up in cool fall weather."
        }
      ]
    },
    {
      "id": "corn_salad",
      "common_name": "Corn salad",
      "aka": [
        "mache"
      ],
      "category": "vegetable",
      "botanical_family": "Caprifoliaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 16,
      "small_space_value": "high",
      "days_to_maturity": [
        45,
        60
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Cold-hardy winter salad under cover.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 3 in apart (16/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 45–60 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "orach",
      "common_name": "Orach",
      "aka": [
        "mountain spinach"
      ],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        40,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Heat-tolerant spinach substitute.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–60 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "nz_spinach",
      "common_name": "New Zealand spinach",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Aizoaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        55,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Heat-loving spinach substitute for US summer.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 12 in apart (1/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 55–70 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "malabar_spinach",
      "common_name": "Malabar spinach",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Basellaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "direct",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Vining heat-lover; US south summer green.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 2–3 weeks after the last frost once soil is ≥65°F; space 12 in apart (1/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "amaranth_greens",
      "common_name": "Amaranth (greens)",
      "aka": [
        "callaloo"
      ],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        40,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Heat-tolerant summer green; also grain type.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 40–60 days from sowing/transplant. Store by: use fresh."
      }
    },
    {
      "id": "sorrel",
      "common_name": "Sorrel",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Polygonaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        60,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Perennial tangy green.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 12 in apart (1/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Store by: use fresh."
      }
    },
    {
      "id": "asparagus",
      "common_name": "Asparagus",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Asparagaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "asparagus_beetle"
      ],
      "storage": [
        "fresh",
        "freeze"
      ],
      "source": "seymour",
      "us_adaptation_note": "Permanent 15+ yr bed; no harvest until year 3.",
      "years_to_bear": 3,
      "bearing": "crown",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Keep the permanent bed weed-free; mulch; let ferns grow all summer; cut down in late fall.",
        "pests_diseases": "Watch for asparagus beetle. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Do NOT cut in years 1–2. From year 3, snap spears for ~6–8 weeks each spring, then let ferns feed the crowns. Use fresh or freeze."
      },
      "extra_sections": [
        {
          "title": "Planting the crowns",
          "content": "Set crowns on a ridge in a trench of rich, weed-free soil in spring, spreading the roots, and never harvest in years 1–2."
        },
        {
          "title": "Cutting down ferns",
          "content": "Let the summer ferns grow to feed the crowns; cut them down only when they yellow in late fall, then mulch."
        },
        {
          "title": "Blanching (white spears)",
          "content": "For white asparagus, mound soil over the crowns and cut the spears below ground before they green up."
        }
      ]
    },
    {
      "id": "rhubarb",
      "common_name": "Rhubarb",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Polygonaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 36,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze"
      ],
      "source": "seymour",
      "us_adaptation_note": "SAFETY: leaves toxic (oxalic acid) - stalks only. Needs winter chill.",
      "years_to_bear": 2,
      "bearing": "crown",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 36 in apart.",
        "care": "Feed heavily each spring; remove flower stalks; divide every 5–6 years. Leaves toxic.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Pull (don't cut) stalks from year 2, stopping mid-summer. Eat STALKS ONLY — leaves are toxic. Freeze or make into sauce."
      },
      "extra_sections": [
        {
          "title": "Cutting off flowers",
          "content": "Snap out any flower stalk as it appears so the plant's energy goes to stalks, not seed."
        },
        {
          "title": "Forcing",
          "content": "For early, tender pink stalks, cover a dormant crown to exclude light in late winter; rest a forced crown the following year."
        },
        {
          "title": "Harvesting",
          "content": "Pull (don't cut) stalks from year 2, twisting them free; stop by mid-summer. Eat STALKS ONLY — the leaves are poisonous."
        }
      ]
    },
    {
      "id": "globe_artichoke",
      "common_name": "Globe artichoke",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 36,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Tender - grow as annual or overwinter-protect below zone 7.",
      "years_to_bear": 1,
      "bearing": "crown",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 36 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 1. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Overwinter protection",
          "content": "Cut down and mulch crowns heavily below ~zone 7; renew the planting from spring offsets."
        },
        {
          "title": "Harvesting heads",
          "content": "Cut the fat terminal buds while still tight and green, before the scales open; the small side-buds follow."
        }
      ]
    },
    {
      "id": "cardoon",
      "common_name": "Cardoon",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -3,
            -2
          ],
          "mode": "transplant"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        120,
        150
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Blanch stems; eat like celery.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 3–2 weeks before the last frost; space 18 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 120–150 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Blanching",
          "content": "Wrap and earth up the stalks for several weeks in fall to blanch them tender before harvest."
        }
      ]
    },
    {
      "id": "cucumber",
      "common_name": "Cucumber",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        70
      ],
      "sun": "full",
      "water": "high",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "cucumber_beetle",
        "powdery_mildew"
      ],
      "storage": [
        "pickle"
      ],
      "source": "both",
      "us_adaptation_note": "Trellis vertically to save space & cut disease.",
      "varieties": [
        {
          "name": "Marketmore 76",
          "days_to_maturity": 65,
          "type": "slicing",
          "traits": "Disease-resistant",
          "beginner": true
        },
        {
          "name": "Boston Pickling",
          "days_to_maturity": 55,
          "type": "pickling",
          "traits": "Prolific",
          "beginner": false
        },
        {
          "name": "Bush Champion",
          "days_to_maturity": 60,
          "type": "compact slicing",
          "traits": "Container-friendly",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; generous, never let it dry out water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 12 in apart (1/sq ft).",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Watch for cucumber beetle, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–70 days from sowing/transplant. Store by: pickle."
      },
      "extra_sections": [
        {
          "title": "Training & pinching",
          "content": "Train up netting or a cane and pinch the tip at the top; pinch side-shoots to a couple of leaves past a fruit."
        },
        {
          "title": "Greenhouse types",
          "content": "On seedless (all-female) greenhouse cucumbers, remove male flowers — pollinated fruit turns bitter and swollen."
        },
        {
          "title": "Pickling types",
          "content": "Grow gherkins/picklers for small fruit and harvest them young and often."
        }
      ]
    },
    {
      "id": "zucchini",
      "common_name": "Zucchini",
      "aka": [
        "courgette",
        "summer squash"
      ],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 30,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        45,
        60
      ],
      "sun": "full",
      "water": "high",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "squash_vine_borer",
        "powdery_mildew"
      ],
      "storage": [
        "fresh",
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "UK 'courgette'; 'marrow' = matured. Very productive.",
      "varieties": [
        {
          "name": "Black Beauty",
          "days_to_maturity": 50,
          "type": "summer squash",
          "traits": "Classic dark",
          "beginner": true
        },
        {
          "name": "Yellow Crookneck",
          "days_to_maturity": 50,
          "type": "summer squash",
          "traits": "Heirloom yellow",
          "beginner": false
        },
        {
          "name": "Costata Romanesco",
          "days_to_maturity": 55,
          "type": "summer squash",
          "traits": "Ribbed, nutty",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; generous, never let it dry out water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 30 in apart.",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Watch for squash vine borer, powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 45–60 days from sowing/transplant. Store by: use fresh, freeze."
      },
      "extra_sections": [
        {
          "title": "Hand pollination",
          "content": "In cool, dull spells set fruit by hand-transferring pollen male-to-female; poor pollination gives shriveled, aborting fruitlets."
        }
      ]
    },
    {
      "id": "winter_squash",
      "common_name": "Winter squash / pumpkin",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 42,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        80,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "squash_vine_borer",
        "squash_bug"
      ],
      "storage": [
        "long_cure_store"
      ],
      "source": "both",
      "us_adaptation_note": "Sprawling; excellent long-storage crop.",
      "varieties": [
        {
          "name": "Waltham Butternut",
          "days_to_maturity": 95,
          "type": "butternut",
          "traits": "Stores months, sweet",
          "beginner": true
        },
        {
          "name": "Table Queen Acorn",
          "days_to_maturity": 80,
          "type": "acorn",
          "traits": "Good keeper",
          "beginner": false
        },
        {
          "name": "Spaghetti",
          "days_to_maturity": 90,
          "type": "spaghetti",
          "traits": "Strand flesh",
          "beginner": false
        },
        {
          "name": "Sugar Pie",
          "days_to_maturity": 100,
          "type": "pie pumpkin",
          "traits": "Small, sweet, cooking",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 42 in apart.",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Watch for squash vine borer, squash bug. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 80–120 days from sowing/transplant. Store by: cure and store for winter."
      },
      "extra_sections": [
        {
          "title": "Hand pollination",
          "content": "If bees are scarce, transfer pollen from a male flower to each female (the one with a tiny fruit behind it) by hand in the morning."
        },
        {
          "title": "Training & supporting",
          "content": "Train vines up a strong tripod/trellis to save space; sling or shelf heavy fruit so it doesn't tear the vine."
        },
        {
          "title": "Curing",
          "content": "Cut with a stub of stem, cure 1–2 weeks warm and dry to harden the skin, then store cool for winter."
        }
      ]
    },
    {
      "id": "melon",
      "common_name": "Melon",
      "aka": [
        "muskmelon",
        "cantaloupe"
      ],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -8,
            -7
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "transplant",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 36,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "both",
      "us_adaptation_note": "US-ADVANTAGE; long hot season.",
      "varieties": [
        {
          "name": "Hale's Best",
          "days_to_maturity": 80,
          "type": "cantaloupe",
          "traits": "Classic, reliable",
          "beginner": true
        },
        {
          "name": "Minnesota Midget",
          "days_to_maturity": 70,
          "type": "cantaloupe",
          "traits": "Short-season, north",
          "beginner": true
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 8–7 weeks before the last frost; transplant out 2–3 weeks after the last frost once soil is ≥65°F; space 36 in apart.",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Cucumber beetles, squash bugs/vine borers, and powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–100 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Pinching / stopping",
          "content": "Pinch the main shoot to push fruiting laterals; limit each plant to a few fruit so they size and sweeten."
        },
        {
          "title": "Hand pollination",
          "content": "Under cover or with few pollinators, pollinate female flowers by hand."
        },
        {
          "title": "Supporting fruit",
          "content": "Rest fruit on a tile/board, or net individually if grown vertically, to prevent rot and vine damage."
        }
      ]
    },
    {
      "id": "watermelon",
      "common_name": "Watermelon",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -8,
            -7
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "transplant",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "general",
      "us_adaptation_note": "Long hot season; short-season types for the north.",
      "varieties": [
        {
          "name": "Sugar Baby",
          "days_to_maturity": 75,
          "type": "icebox",
          "traits": "Small, short-season",
          "beginner": true
        },
        {
          "name": "Crimson Sweet",
          "days_to_maturity": 85,
          "type": "picnic",
          "traits": "Large, classic",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 8–7 weeks before the last frost; transplant out 2–3 weeks after the last frost once soil is ≥65°F; space 48 in apart.",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Cucumber beetles, squash bugs/vine borers, and powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Supporting fruit",
          "content": "Rest fruit on a board off damp soil; in short seasons limit the number of fruit per vine."
        }
      ]
    },
    {
      "id": "gherkin",
      "common_name": "Gherkin",
      "aka": [
        "pickling cucumber"
      ],
      "category": "vegetable",
      "botanical_family": "Cucurbitaceae",
      "rotation_group": "cucurbit",
      "trail_color": "orange",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 12,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "pickle"
      ],
      "source": "seymour",
      "us_adaptation_note": "Harvest young for pickling.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm, well-drained soil high in compost, pH 6.0–6.8. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 12 in apart (1/sq ft).",
        "care": "Feed and water heavily; mulch; train up a trellis where possible.",
        "pests_diseases": "Cucumber beetles, squash bugs/vine borers, and powdery mildew. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: pickle."
      }
    },
    {
      "id": "sweet_corn",
      "common_name": "Sweet corn",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 10,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        60,
        100
      ],
      "sun": "full",
      "water": "high",
      "hardiness": "tender",
      "succession": true,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "corn_earworm",
        "raccoon"
      ],
      "storage": [
        "freeze"
      ],
      "source": "both",
      "us_adaptation_note": "Plant in BLOCKS for wind pollination; heavy feeder; own rotation slot.",
      "varieties": [
        {
          "name": "Golden Bantam",
          "days_to_maturity": 80,
          "type": "heirloom SU",
          "traits": "Old-fashioned corn flavor",
          "beginner": false
        },
        {
          "name": "Ambrosia",
          "days_to_maturity": 75,
          "type": "bicolor SE",
          "traits": "Sweet, tender",
          "beginner": true
        },
        {
          "name": "Silver Queen",
          "days_to_maturity": 90,
          "type": "white SU",
          "traits": "Classic late white",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; generous, never let it dry out water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1 week after last frost once soil ≥60°F, in blocks of 4+ short rows; space 10 in.",
        "care": "Plant in BLOCKS (not single rows) for wind pollination; feed heavily; water at silking. Watch for raccoons.",
        "pests_diseases": "Watch for corn earworm, raccoon. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 60–100 days from sowing/transplant. Store by: freeze."
      },
      "extra_sections": [
        {
          "title": "Block planting",
          "content": "Plant in a block of short rows, not one long row, so wind carries pollen from the tassels to every silk."
        },
        {
          "title": "Earthing up",
          "content": "Earth up the stem bases for support and to encourage prop-roots in windy sites; a gentle shake at pollen-shed aids set."
        },
        {
          "title": "Harvest timing",
          "content": "Pick when silks brown and a punctured kernel runs milky — sweetness drops fast after, so cook or freeze quickly."
        }
      ]
    },
    {
      "id": "popcorn",
      "common_name": "Popcorn",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 10,
      "sqft_count": 1,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        110
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Isolate from sweet corn (cross-pollination).",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 10 in apart (1/sq ft).",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–110 days from sowing/transplant. Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Isolation",
          "content": "Keep well away from sweet and other corn — cross-pollination spoils the popping quality."
        },
        {
          "title": "Drying",
          "content": "Leave the ears on the plant until fully dry, then cure them further indoors before shelling and popping."
        }
      ]
    },
    {
      "id": "okra",
      "common_name": "Okra",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Malvaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            2,
            3
          ],
          "mode": "direct",
          "soil_temp_min_f": 65
        }
      ],
      "spacing_in": 15,
      "sqft_count": 1,
      "small_space_value": "medium",
      "days_to_maturity": [
        55,
        65
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "freeze",
        "pickle"
      ],
      "source": "general",
      "us_adaptation_note": "US-south staple; loves heat.",
      "varieties": [
        {
          "name": "Clemson Spineless",
          "days_to_maturity": 55,
          "type": "standard",
          "traits": "Reliable, spineless",
          "beginner": true
        },
        {
          "name": "Red Burgundy",
          "days_to_maturity": 60,
          "type": "red",
          "traits": "Ornamental-edible",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 2–3 weeks after the last frost once soil is ≥65°F; space 15 in apart (1/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 55–65 days from sowing/transplant. Store by: freeze, pickle."
      },
      "extra_sections": [
        {
          "title": "Harvesting",
          "content": "Cut pods young and often (every day or two in heat) — older pods turn woody and stringy; wear sleeves against the prickly plants."
        }
      ]
    },
    {
      "id": "sunflower",
      "common_name": "Sunflower (seed)",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Edible seed; also pollinator/bird crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 18 in apart.",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 70–100 days from sowing/transplant. Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Protecting & drying heads",
          "content": "Net or bag the ripening seed heads against birds, then cut and hang them to finish drying before rubbing out the seed."
        }
      ]
    },
    {
      "id": "basil",
      "common_name": "Basil",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Frost-tender; pinch to bush.",
      "varieties": [
        {
          "name": "Genovese",
          "days_to_maturity": 60,
          "type": "sweet",
          "traits": "Classic pesto",
          "beginner": true
        },
        {
          "name": "Sweet Thai",
          "days_to_maturity": 65,
          "type": "Thai",
          "traits": "Anise notes",
          "beginner": false
        },
        {
          "name": "Lemon",
          "days_to_maturity": 60,
          "type": "citrus",
          "traits": "Bright scent",
          "beginner": false
        }
      ],
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–70 days from sowing/transplant. Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Pinching",
          "content": "Pinch out the growing tips regularly for bushy plants, and remove flower spikes to keep the leaves coming."
        }
      ]
    },
    {
      "id": "parsley",
      "common_name": "Parsley",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "biennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Slow to germinate; often overwinters.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "cilantro",
      "common_name": "Cilantro",
      "aka": [
        "coriander"
      ],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        45,
        70
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Bolts fast in heat; succession. Leaf=cilantro, seed=coriander.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 45–70 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "dill",
      "common_name": "Dill",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        40,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Self-seeds; classic with pickles.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 40–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "chives",
      "common_name": "Chives",
      "aka": [],
      "category": "herb",
      "botanical_family": "Amaryllidaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        80,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Hardy perennial; divide every few years.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 80–90 days from sowing/transplant. Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Division",
          "content": "Lift and split congested clumps every few years to keep them vigorous; snip flowers to prolong leaf."
        }
      ]
    },
    {
      "id": "thyme",
      "common_name": "Thyme",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Drought-tolerant; well-drained soil.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "sage",
      "common_name": "Sage",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": [
        75,
        75
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Woody perennial; drought-tolerant.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "oregano",
      "common_name": "Oregano",
      "aka": [
        "marjoram"
      ],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        80,
        80
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial oregano hardy; sweet marjoram tender.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "mint",
      "common_name": "Mint",
      "aka": [
        "spearmint",
        "peppermint",
        "lemon balm"
      ],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "partial",
      "water": "high",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "SPREADS AGGRESSIVELY - contain in pot/barrier.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; generous, never let it dry out water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Containment",
          "content": "Sink a bottomless bucket or grow in a pot — mint runs aggressively and will take a bed."
        }
      ]
    },
    {
      "id": "rosemary",
      "common_name": "Rosemary",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": [
        120,
        120
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Tender below ~zone 7 - pot/overwinter or annual.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Overwintering",
          "content": "Below ~zone 7, pot it and overwinter indoors in a bright, cool spot, or grow it as an annual."
        }
      ]
    },
    {
      "id": "tarragon",
      "common_name": "Tarragon",
      "aka": [],
      "category": "herb",
      "botanical_family": "Asteraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "French tarragon is grown from division (no seed).",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Propagation",
          "content": "French tarragon sets no viable seed — increase it by division or cuttings in spring."
        }
      ]
    },
    {
      "id": "fennel_herb",
      "common_name": "Fennel (herb)",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial herb fennel (vs bulbing type).",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "chervil",
      "common_name": "Chervil",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Cool-season; bolts in heat.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "summer_savory",
      "common_name": "Summer savory",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        70
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Classic bean herb.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 60–70 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "winter_savory",
      "common_name": "Winter savory",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial, peppery.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "bay",
      "common_name": "Bay laurel",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lauraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 36,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        365,
        365
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Tender tree - pot/overwinter in cold zones.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 36 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Overwintering",
          "content": "In cold zones grow in a pot and move it under cover for winter; clip to shape in summer."
        }
      ]
    },
    {
      "id": "borage",
      "common_name": "Borage",
      "aka": [],
      "category": "herb",
      "botanical_family": "Boraginaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Self-seeds; edible flowers; pollinator magnet.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "chamomile",
      "common_name": "Chamomile",
      "aka": [],
      "category": "herb",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        60,
        65
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "German (annual) / Roman (perennial); tea.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 60–65 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "lavender",
      "common_name": "Lavender",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        100
      ],
      "sun": "full",
      "water": "low",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Well-drained, dry; pollinator + apothecary.",
      "cultivation": {
        "soil_climate": "Full sun; low, drought-tolerant once established water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Trim lightly after flowering into green growth; never cut back into old bare wood, which won't reshoot."
        }
      ]
    },
    {
      "id": "lovage",
      "common_name": "Lovage",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Large celery-flavored perennial.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "hyssop",
      "common_name": "Hyssop",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial; pollinator + apothecary.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "angelica",
      "common_name": "Angelica",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "biennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Biennial; candied stems; apothecary.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "anise",
      "common_name": "Anise",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        120,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Warm season; seed spice.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "caraway",
      "common_name": "Caraway",
      "aka": [],
      "category": "herb",
      "botanical_family": "Apiaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "biennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Biennial; seed spice.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "catnip",
      "common_name": "Catnip",
      "aka": [],
      "category": "herb",
      "botanical_family": "Lamiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        80,
        80
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Vigorous perennial; tea/cats.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "comfrey",
      "common_name": "Comfrey",
      "aka": [],
      "category": "herb",
      "botanical_family": "Boraginaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial; compost/mulch accelerator; SPREADS. Topical apothecary only (not for tea).",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Containment",
          "content": "Site it permanently — root fragments regrow, so it's hard to remove once in."
        },
        {
          "title": "Cutting for mulch",
          "content": "Cut the leaves several times a season for a fast, potassium-rich compost activator or liquid feed (topical apothecary use only)."
        }
      ]
    },
    {
      "id": "echinacea",
      "common_name": "Echinacea",
      "aka": [],
      "category": "herb",
      "botanical_family": "Asteraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        365,
        365
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Perennial coneflower; apothecary + pollinator.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "calendula",
      "common_name": "Calendula",
      "aka": [],
      "category": "herb",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Edible flower; apothecary salves; self-seeds.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; only light frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "nasturtium",
      "common_name": "Nasturtium",
      "aka": [],
      "category": "herb",
      "botanical_family": "Tropaeolaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 10,
      "sqft_count": 1,
      "small_space_value": "high",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Edible flower/leaf; trap crop for aphids.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 10 in apart (1/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "lemongrass",
      "common_name": "Lemongrass",
      "aka": [],
      "category": "herb",
      "botanical_family": "Poaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": [
        100,
        100
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Tender - annual/pot in cold zones.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      },
      "extra_sections": [
        {
          "title": "Overwintering",
          "content": "Lift a clump into a pot and keep it frost-free indoors over winter, or treat as an annual."
        }
      ]
    },
    {
      "id": "stevia",
      "common_name": "Stevia",
      "aka": [],
      "category": "herb",
      "botanical_family": "Asteraceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "indoor"
        },
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "transplant",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 8,
      "sqft_count": 4,
      "small_space_value": "high",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "both",
      "us_adaptation_note": "Sweet-leaf; tender, grow as annual.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Start indoors 6–4 weeks before the last frost; transplant out 1–2 weeks after the last frost once soil is ≥60°F; space 8 in apart (4/sq ft).",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "apple",
      "common_name": "Apple",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 180,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "codling_moth",
        "apple_scab",
        "cedar_apple_rust"
      ],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Choose variety by chill hours & disease resistance for your region.",
      "varieties": [
        {
          "name": "Honeycrisp",
          "days_to_maturity": 0,
          "type": "dessert",
          "traits": "Crisp; needs pollinizer; scab-prone",
          "beginner": false
        },
        {
          "name": "Liberty",
          "days_to_maturity": 0,
          "type": "dessert",
          "traits": "Disease-resistant",
          "beginner": true
        },
        {
          "name": "Enterprise",
          "days_to_maturity": 0,
          "type": "dessert/keeper",
          "traits": "Disease-resistant, stores",
          "beginner": false
        },
        {
          "name": "Gravenstein",
          "days_to_maturity": 0,
          "type": "cooking/sauce",
          "traits": "Early heirloom",
          "beginner": false
        }
      ],
      "chill_hours": [
        400,
        1000
      ],
      "pollination": "needs pollinizer",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 180 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Watch for codling moth, apple scab, cedar apple rust. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Planting a tree",
          "content": "Plant a bare-root tree in the dormant season at the old soil mark, staked, with the graft union above ground."
        },
        {
          "title": "Formative pruning & shapes",
          "content": "Prune young trees to a chosen shape (open-center bush, spindle, cordon, or espalier); thereafter renew fruiting spurs and keep the center open."
        },
        {
          "title": "Fruit thinning",
          "content": "After the natural 'June drop', thin clusters to one or two fruit per spur for size and to curb biennial bearing."
        },
        {
          "title": "Grafting & budding",
          "content": "Propagate a variety onto a chosen rootstock (which sets final size) by whip-and-tongue grafting in spring or bud-grafting in summer."
        }
      ]
    },
    {
      "id": "pear",
      "common_name": "Pear",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 180,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "fireblight",
        "codling_moth"
      ],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Needs a second variety; fireblight-aware.",
      "varieties": [
        {
          "name": "Bartlett",
          "days_to_maturity": 0,
          "type": "dessert/can",
          "traits": "Classic",
          "beginner": true
        },
        {
          "name": "Bosc",
          "days_to_maturity": 0,
          "type": "dessert/keeper",
          "traits": "Firm, stores",
          "beginner": false
        },
        {
          "name": "Kieffer",
          "days_to_maturity": 0,
          "type": "cooking",
          "traits": "Fireblight-tolerant, hardy",
          "beginner": true
        }
      ],
      "chill_hours": [
        400,
        800
      ],
      "pollination": "needs pollinizer",
      "years_to_bear": 4,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 180 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Watch for fireblight, codling moth. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning & thinning",
          "content": "Prune and thin much like apples; pears fruit on long-lived spurs and train well as espaliers and cordons."
        },
        {
          "title": "Grafting",
          "content": "Worked onto pear or quince rootstock to control vigor and size."
        }
      ]
    },
    {
      "id": "asian_pear",
      "common_name": "Asian pear",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Crisp; needs pollinizer.",
      "chill_hours": [
        300,
        600
      ],
      "pollination": "needs pollinizer",
      "years_to_bear": 4,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Fruit thinning",
          "content": "Thin heavily to one fruit per cluster for size and to prevent limb breakage."
        },
        {
          "title": "Pollination",
          "content": "Most need a second compatible variety nearby to set well."
        }
      ]
    },
    {
      "id": "plum",
      "common_name": "Plum",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "European = self-fertile-ish; Japanese needs pollinizer.",
      "varieties": [
        {
          "name": "Stanley",
          "days_to_maturity": 0,
          "type": "European prune",
          "traits": "Self-fertile, dries well",
          "beginner": true
        },
        {
          "name": "Methley",
          "days_to_maturity": 0,
          "type": "Japanese",
          "traits": "Self-fertile, low-chill",
          "beginner": true
        }
      ],
      "chill_hours": [
        500,
        900
      ],
      "pollination": "varies",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning (summer only)",
          "content": "Prune only in dry summer weather — never in winter — to avoid silver-leaf infection."
        },
        {
          "title": "Fruit thinning",
          "content": "Thin heavy sets so the fruit sizes and the brittle branches don't snap; prop or support laden limbs."
        }
      ]
    },
    {
      "id": "cherry_sweet",
      "common_name": "Sweet cherry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 180,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "cherry_fruit_fly",
        "brown_rot"
      ],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Most need a pollinizer; needs chill.",
      "chill_hours": [
        700,
        1000
      ],
      "pollination": "needs pollinizer",
      "years_to_bear": 4,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 180 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Watch for cherry fruit fly, brown rot. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning (summer)",
          "content": "Prune in summer, not winter, to limit disease; net against birds as fruit colors."
        },
        {
          "title": "Protection",
          "content": "Sweet cherries need a pollinizer variety unless self-fertile; birds take the crop fast."
        }
      ]
    },
    {
      "id": "cherry_sour",
      "common_name": "Sour cherry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Self-fertile; hardier than sweet; pie cherry.",
      "varieties": [
        {
          "name": "Montmorency",
          "days_to_maturity": 0,
          "type": "pie",
          "traits": "Standard tart cherry",
          "beginner": true
        }
      ],
      "chill_hours": [
        700,
        1000
      ],
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Sour cherries fruit largely on one-year wood — prune to keep young growth coming; self-fertile."
        }
      ]
    },
    {
      "id": "peach",
      "common_name": "Peach",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "peach_leaf_curl",
        "borer",
        "brown_rot"
      ],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Self-fertile; low-to-mid chill; short-lived.",
      "varieties": [
        {
          "name": "Redhaven",
          "days_to_maturity": 0,
          "type": "freestone",
          "traits": "Reliable standard",
          "beginner": true
        },
        {
          "name": "Elberta",
          "days_to_maturity": 0,
          "type": "freestone",
          "traits": "Classic canning",
          "beginner": false
        },
        {
          "name": "Contender",
          "days_to_maturity": 0,
          "type": "freestone",
          "traits": "Cold-hardy",
          "beginner": true
        }
      ],
      "chill_hours": [
        600,
        900
      ],
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Watch for peach leaf curl, borer, brown rot. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Renewal pruning",
          "content": "Peaches fruit on last year's wood — each year cut back fruited shoots to a replacement so new wood keeps coming."
        },
        {
          "title": "Thinning",
          "content": "Thin fruit to about a hand-span apart for size and to spare the branches."
        },
        {
          "title": "Leaf-curl protection",
          "content": "Keep late-winter rain off (a temporary cover) to reduce peach-leaf-curl infection."
        }
      ]
    },
    {
      "id": "nectarine",
      "common_name": "Nectarine",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Like peach; more disease-prone.",
      "chill_hours": [
        600,
        900
      ],
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Renewal pruning",
          "content": "Fruits on last year's wood — cut fruited shoots back to a replacement each year."
        },
        {
          "title": "Thinning & leaf-curl",
          "content": "Thin fruit to a hand-span apart; keep late-winter rain off to reduce leaf-curl."
        }
      ]
    },
    {
      "id": "apricot",
      "common_name": "Apricot",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Early bloom - late-frost risk in much of US.",
      "chill_hours": [
        300,
        700
      ],
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Frost protection",
          "content": "Blooms very early — cover or site against a warm wall in late-frost areas to save the blossom."
        },
        {
          "title": "Thinning",
          "content": "Thin the set fruit for size and to spare the branches."
        }
      ]
    },
    {
      "id": "fig",
      "common_name": "Fig",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Moraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Tender - protect/pot below zone 7; often self-fertile.",
      "varieties": [
        {
          "name": "Chicago Hardy",
          "days_to_maturity": 0,
          "type": "cold-hardy",
          "traits": "Regrows from roots",
          "beginner": true
        },
        {
          "name": "Brown Turkey",
          "days_to_maturity": 0,
          "type": "reliable",
          "traits": "Two crops",
          "beginner": true
        }
      ],
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "tree/shrub",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: warm-season; frost kills it.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Restricting the roots",
          "content": "Confine the roots (a lined pit or large pot) to check leafy growth and push the tree into fruiting."
        },
        {
          "title": "Winter protection",
          "content": "Wrap or move potted figs under cover where marginal; hardy types resprout from the base."
        },
        {
          "title": "Pinching",
          "content": "Pinch shoot tips in early summer to ripen the crop already set that year."
        }
      ]
    },
    {
      "id": "persimmon",
      "common_name": "Persimmon",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Ebenaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 180,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "American = very hardy; Asian = larger, tender.",
      "pollination": "varies",
      "years_to_bear": 4,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 180 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Prune lightly for structure; brittle wood breaks under heavy fruit, so support or thin."
        },
        {
          "title": "Ripening",
          "content": "Astringent types must ripen fully soft before eating; non-astringent (Fuyu) can be eaten firm."
        }
      ]
    },
    {
      "id": "pawpaw",
      "common_name": "Pawpaw",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Annonaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "partial",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Native; needs 2 for pollination; understory shade OK.",
      "pollination": "needs pollinizer",
      "years_to_bear": 5,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 5. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Plant two unrelated seedlings — flowers are fly/beetle-pollinated and often need hand-pollination for a good set."
        },
        {
          "title": "Young-tree shade",
          "content": "Shade seedlings for the first year or two; they resent full sun when small."
        }
      ]
    },
    {
      "id": "mulberry",
      "common_name": "Mulberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Moraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 180,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Fast, prolific; can be messy/aggressive.",
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 180 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Prune only when fully dormant (it bleeds sap); keep it small for easy picking."
        },
        {
          "title": "Siting",
          "content": "Keep away from paths and drives — the ripe fruit stains heavily."
        }
      ]
    },
    {
      "id": "quince",
      "common_name": "Quince",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Cooking fruit; fireblight-aware.",
      "pollination": "self-fertile",
      "years_to_bear": 4,
      "bearing": "tree/shrub",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Prune lightly to an open head; watch for fireblight."
        },
        {
          "title": "Ripening",
          "content": "Pick late and store to ripen and perfume; usually cooked, not eaten raw."
        }
      ]
    },
    {
      "id": "pomegranate",
      "common_name": "Pomegranate",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Lythraceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "half_hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Warm/dry zones (US south/west).",
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "shrub/tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; only light frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Train to a few main trunks or a bush; remove suckers."
        },
        {
          "title": "Winter protection",
          "content": "Protect or pot where winters dip below its hardiness."
        }
      ]
    },
    {
      "id": "strawberry",
      "common_name": "Strawberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 12,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "June-bearing vs everbearing/day-neutral; renew beds.",
      "varieties": [
        {
          "name": "Ozark Beauty",
          "days_to_maturity": 0,
          "type": "everbearing",
          "traits": "Long harvest",
          "beginner": true
        },
        {
          "name": "Honeoye",
          "days_to_maturity": 0,
          "type": "June-bearing",
          "traits": "Heavy early crop",
          "beginner": true
        }
      ],
      "pollination": "self-fertile",
      "years_to_bear": 1,
      "bearing": "ground",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 12 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 1. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Runners",
          "content": "Peg down a few runners into pots to make new plants, or cut them off to steer energy into fruit."
        },
        {
          "title": "Renewing the bed",
          "content": "Yields fall after ~3 years — raise a fresh bed from young runners and retire the old one."
        },
        {
          "title": "Protecting the fruit",
          "content": "Tuck straw or mats under ripening berries to keep them clean and off the soil, and net against birds."
        },
        {
          "title": "Growing in containers",
          "content": "Grows well in barrels, towers, and hanging pots for small spaces."
        }
      ]
    },
    {
      "id": "raspberry",
      "common_name": "Raspberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 24,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Summer vs everbearing (fall) canes; give support.",
      "varieties": [
        {
          "name": "Heritage",
          "days_to_maturity": 0,
          "type": "fall everbearing",
          "traits": "Easy, mow-down pruning",
          "beginner": true
        },
        {
          "name": "Latham",
          "days_to_maturity": 0,
          "type": "summer",
          "traits": "Hardy classic",
          "beginner": false
        }
      ],
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "cane",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 24 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Propagation",
          "content": "Increase stock by lifting rooted suckers/canes from established rows in the dormant season."
        },
        {
          "title": "Pruning canes",
          "content": "Summer-fruiting: cut out the canes that fruited after harvest and tie in the new ones. Fall (primocane) types: mow all canes to the ground in late winter."
        }
      ]
    },
    {
      "id": "blackberry",
      "common_name": "Blackberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 36,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Thornless erect types easiest.",
      "varieties": [
        {
          "name": "Triple Crown",
          "days_to_maturity": 0,
          "type": "thornless semi-erect",
          "traits": "Sweet, productive",
          "beginner": true
        }
      ],
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "cane",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 36 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning & tying",
          "content": "Remove the canes that fruited after harvest and tie in the new season's canes along wires."
        }
      ]
    },
    {
      "id": "boysenberry",
      "common_name": "Boysenberry",
      "aka": [
        "loganberry"
      ],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Trailing bramble; needs trellis; milder zones.",
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "cane",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 48 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning & tying",
          "content": "Trailing bramble — take out spent canes and tie in new growth on a trellis each year."
        }
      ]
    },
    {
      "id": "blueberry",
      "common_name": "Blueberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Ericaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "REQUIRES acidic soil (pH 4.5-5.5); plant 2+ varieties.",
      "varieties": [
        {
          "name": "Bluecrop",
          "days_to_maturity": 0,
          "type": "northern highbush",
          "traits": "Standard, productive",
          "beginner": true
        },
        {
          "name": "Powderblue",
          "days_to_maturity": 0,
          "type": "rabbiteye",
          "traits": "South, heat-tolerant",
          "beginner": true
        },
        {
          "name": "Top Hat",
          "days_to_maturity": 0,
          "type": "lowbush/dwarf",
          "traits": "Container",
          "beginner": true
        }
      ],
      "pollination": "needs pollinizer",
      "years_to_bear": 3,
      "bearing": "bush",
      "cultivation": {
        "soil_climate": "Full sun; even moisture. Soil: MUST be acidic, pH 4.5–5.5 (amend with peat/elemental sulfur; mulch with pine). Climate: hardy (highbush) to warm (rabbiteye).",
        "propagation": "Plant 2+ dormant/potted varieties; space 48 in; do not let dry out.",
        "care": "Mulch deeply; keep acidic; plant 2+ varieties for pollination; net against birds.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Planting",
          "content": "Plant 2+ varieties for cross-pollination in acidic soil (pH 4.5–5.5), mulched with pine — never let the roots dry out."
        },
        {
          "title": "Pruning",
          "content": "From year 3–4, cut out the oldest canes each winter to keep young, productive wood coming."
        }
      ]
    },
    {
      "id": "gooseberry",
      "common_name": "Gooseberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Grossulariaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Cool-summer preferred; check state Ribes rules (WPBR).",
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "bush",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 48 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Prune to an open goblet on a short leg for airflow (curbs mildew) and easier picking among the thorns."
        }
      ]
    },
    {
      "id": "currant",
      "common_name": "Currant",
      "aka": [
        "blackcurrant",
        "redcurrant"
      ],
      "category": "fruit",
      "botanical_family": "Grossulariaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "high",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Black/red/white; check state Ribes rules (white pine blister rust).",
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "bush",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 48 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Blackcurrants fruit on young wood — cut out about a third of the oldest wood each winter. Red/white currants fruit on spurs — prune to a permanent framework."
        },
        {
          "title": "Propagation",
          "content": "Strike hardwood cuttings in fall; net bushes against birds as the fruit ripens."
        }
      ]
    },
    {
      "id": "elderberry",
      "common_name": "Elderberry",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Adoxaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 72,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Native; plant 2 for fruit; COOK berries (raw are emetic).",
      "pollination": "needs pollinizer",
      "years_to_bear": 2,
      "bearing": "shrub",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 72 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Harvest ripe clusters; COOK before eating (raw berries/stems are emetic). Make into syrup, jam, or wine; dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Plant two varieties for good fruit set."
        },
        {
          "title": "Pruning",
          "content": "Cut out the oldest stems each winter to renew young, fruitful wood."
        },
        {
          "title": "Safety",
          "content": "Cook the berries before use — raw berries, leaves, and stems are mildly toxic."
        }
      ]
    },
    {
      "id": "honeyberry",
      "common_name": "Honeyberry",
      "aka": [
        "haskap"
      ],
      "category": "fruit",
      "botanical_family": "Caprifoliaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Haskap; very cold-hardy, earliest berry; needs 2.",
      "pollination": "needs pollinizer",
      "years_to_bear": 2,
      "bearing": "bush",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 48 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Plant two compatible varieties — they need cross-pollination; very early flowers tolerate frost."
        },
        {
          "title": "Pruning",
          "content": "Minimal — just remove the oldest wood once established."
        }
      ]
    },
    {
      "id": "aronia",
      "common_name": "Aronia",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 48,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Chokeberry; native, tough, antioxidant; self-fertile.",
      "pollination": "self-fertile",
      "years_to_bear": 2,
      "bearing": "shrub",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 48 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pruning",
          "content": "Renew by cutting out the oldest canes each winter; otherwise very low-maintenance."
        }
      ]
    },
    {
      "id": "grape",
      "common_name": "Grape",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Vitaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 72,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [
        "black_rot",
        "japanese_beetle"
      ],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Table vs wine; American (Concord) hardiest; needs trellis & pruning.",
      "varieties": [
        {
          "name": "Concord",
          "days_to_maturity": 0,
          "type": "American table/juice",
          "traits": "Very hardy, slip-skin",
          "beginner": true
        },
        {
          "name": "Reliance",
          "days_to_maturity": 0,
          "type": "seedless table",
          "traits": "Cold-hardy seedless",
          "beginner": true
        }
      ],
      "chill_hours": [
        100,
        500
      ],
      "pollination": "self-fertile",
      "years_to_bear": 3,
      "bearing": "vine",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 72 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Watch for black rot, japanese beetle. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 3. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Propagation",
          "content": "Increase from hardwood cuttings taken at winter pruning; layering and approach-grafting also work."
        },
        {
          "title": "Winter pruning & training",
          "content": "Prune hard while dormant to a renewal system (e.g. Guyot) trained on wires or a wall — fruit comes on the current season's shoots."
        },
        {
          "title": "Thinning bunches",
          "content": "Remove surplus bunches (and stray berries) so the rest ripen fully."
        },
        {
          "title": "Storing",
          "content": "Late grapes can be cut with a stem and held in water in a cool room for weeks."
        }
      ]
    },
    {
      "id": "kiwi_hardy",
      "common_name": "Hardy kiwi",
      "aka": [
        "kiwiberry"
      ],
      "category": "fruit",
      "botanical_family": "Actinidiaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 96,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Cold-hardy; needs male + female vines; vigorous.",
      "pollination": "needs pollinizer",
      "years_to_bear": 4,
      "bearing": "vine",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 96 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Plant one male to several females (unless a self-fertile type)."
        },
        {
          "title": "Support & pruning",
          "content": "Give a very strong pergola/wire structure and prune hard twice a year — the vines are extremely vigorous."
        }
      ]
    },
    {
      "id": "hazelnut",
      "common_name": "Hazelnut",
      "aka": [
        "filbert"
      ],
      "category": "fruit",
      "botanical_family": "Betulaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 120,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Filbert; needs 2 for pollination; check EFB-resistant.",
      "pollination": "needs pollinizer",
      "years_to_bear": 4,
      "bearing": "shrub/tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 120 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Plant two or more compatible varieties for nut set."
        },
        {
          "title": "Sucker removal / coppice",
          "content": "Remove suckers for a tree, or coppice on a cycle for poles and easier nut picking."
        }
      ]
    },
    {
      "id": "chestnut",
      "common_name": "Chestnut",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Fagaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 300,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Chinese/hybrid = blight-resistant; needs 2.",
      "pollination": "needs pollinizer",
      "years_to_bear": 5,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 300 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 5. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Pollination",
          "content": "Needs a second compatible tree; allow plenty of room — they become large."
        },
        {
          "title": "Harvesting",
          "content": "Gather nuts as the burs split and drop; wear gloves against the spines."
        }
      ]
    },
    {
      "id": "wheat",
      "common_name": "Wheat",
      "aka": [],
      "category": "grain",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        300
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Winter (fall-sown) or spring types; field/large-plot crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 6 in apart.",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 90–300 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "oats",
      "common_name": "Oats",
      "aka": [],
      "category": "grain",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Spring grain; also a quick cover crop.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "rye_grain",
      "common_name": "Rye (grain)",
      "aka": [],
      "category": "grain",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        240,
        300
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Very hardy fall grain.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 6 in apart.",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 240–300 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "barley",
      "common_name": "Barley",
      "aka": [],
      "category": "grain",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Spring or fall; malting/food.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "corn_field",
      "common_name": "Field/dent corn",
      "aka": [],
      "category": "grain",
      "botanical_family": "Poaceae",
      "rotation_group": "grass",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        100,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Grain/cornmeal; block-plant.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: rich, warm soil, pH 6.0–6.8; a heavy feeder. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart.",
        "care": "Feed well; keep watered at tasseling/silking; earth-up or block-plant for support.",
        "pests_diseases": "Corn earworm, and (in the US) raccoons and birds. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 100–120 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "quinoa",
      "common_name": "Quinoa",
      "aka": [],
      "category": "grain",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Cool-season pseudo-grain; rinse saponins.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "amaranth_grain",
      "common_name": "Amaranth (grain)",
      "aka": [],
      "category": "grain",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "leafy",
      "trail_color": "teal",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        120
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Heat-tolerant pseudo-grain.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: moist, fertile soil rich in organic matter, pH 6.0–7.0. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart.",
        "care": "Keep moist and growing fast; harvest young; provide afternoon shade in heat to slow bolting.",
        "pests_diseases": "Slugs, aphids, leaf miners, and bolting in heat. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 90–120 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "buckwheat",
      "common_name": "Buckwheat",
      "aka": [],
      "category": "cover",
      "botanical_family": "Polygonaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            1,
            2
          ],
          "mode": "direct",
          "soil_temp_min_f": 60
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        70,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "tender",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Fast summer cover + grain; pollinator; smothers weeds.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: warm-season; frost kills it.",
        "propagation": "Direct-sow 1–2 weeks after the last frost once soil is ≥60°F; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 70–90 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "clover_crimson",
      "common_name": "Crimson clover",
      "aka": [],
      "category": "cover",
      "botanical_family": "Fabaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Nitrogen-fixing cover crop; pollinator.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "clover_red",
      "common_name": "Red clover",
      "aka": [],
      "category": "cover",
      "botanical_family": "Fabaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        90,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "N-fixing cover/forage; overwinters.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Store by: dry."
      }
    },
    {
      "id": "vetch",
      "common_name": "Hairy vetch",
      "aka": [],
      "category": "cover",
      "botanical_family": "Fabaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        200,
        240
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Winter N-fixing cover; pairs with rye.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 200–240 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "field_pea",
      "common_name": "Field pea",
      "aka": [],
      "category": "cover",
      "botanical_family": "Fabaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        60,
        90
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Cool-season N-fixing cover/forage.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 60–90 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "mustard_cover",
      "common_name": "Mustard (cover)",
      "aka": [],
      "category": "cover",
      "botanical_family": "Brassicaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Biofumigant cover crop; NOT before/after brassica veg.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "daikon_cover",
      "common_name": "Tillage radish",
      "aka": [],
      "category": "cover",
      "botanical_family": "Brassicaceae",
      "rotation_group": "cover",
      "trail_color": null,
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "first_frost",
          "offset_weeks": [
            -6,
            -4
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 6,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": [
        50,
        60
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "dry"
      ],
      "source": "general",
      "us_adaptation_note": "Deep taproot busts compaction; winterkills.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: adaptable to most soils. Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 6–4 weeks before the first fall frost; space 6 in apart.",
        "care": "Sow densely; cut or terminate before it sets seed; turn in or leave as mulch.",
        "pests_diseases": "Few pests; grown to improve the soil. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "Ready about 50–60 days from sowing/transplant. Store by: dry."
      }
    },
    {
      "id": "seakale",
      "common_name": "Sea kale",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Brassicaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 18,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Perennial; blanch/force young spring shoots. Coastal native.",
      "years_to_bear": 2,
      "bearing": "crown",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 18 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 2. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Forcing / blanching",
          "content": "Cover crowns in late winter to force pale, tender spring shoots (blanched to stay mild)."
        },
        {
          "title": "Planting thongs",
          "content": "Propagate from root cuttings ('thongs') set upright, or from crowns, in rich deep soil."
        },
        {
          "title": "Forcing & blanching",
          "content": "Cover dormant crowns in late winter to force pale, tender, mild spring shoots."
        }
      ]
    },
    {
      "id": "scorzonera",
      "common_name": "Scorzonera",
      "aka": [
        "black salsify"
      ],
      "category": "vegetable",
      "botanical_family": "Asteraceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 3,
      "sqft_count": 9,
      "small_space_value": "low",
      "days_to_maturity": [
        120,
        150
      ],
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "in_ground"
      ],
      "source": "seymour",
      "us_adaptation_note": "Long-season black root; frost sweetens; like salsify.",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 3 in apart (9/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 120–150 days from sowing/transplant. Store by: leave in ground under mulch."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin early to spacing; the long black roots resent disturbance, so sow in place."
        },
        {
          "title": "Harvesting",
          "content": "Lift from fall onward; frost sweetens the roots. Two-year roots often size up better."
        }
      ]
    },
    {
      "id": "hamburg_parsley",
      "common_name": "Hamburg parsley",
      "aka": [
        "turnip-rooted parsley"
      ],
      "category": "vegetable",
      "botanical_family": "Apiaceae",
      "rotation_group": "root",
      "trail_color": "violet",
      "life_cycle": "annual",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "direct"
        }
      ],
      "spacing_in": 4,
      "sqft_count": 9,
      "small_space_value": "medium",
      "days_to_maturity": [
        90,
        110
      ],
      "sun": "partial",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "root_cellar",
        "in_ground"
      ],
      "source": "seymour",
      "us_adaptation_note": "Parsnip-like root PLUS usable parsley tops; tolerates poorer soil and shade.",
      "cultivation": {
        "soil_climate": "Full sun to partial shade; moderate, even moisture water. Soil: deep, loose, stone-free soil, pH 6.0–6.8; avoid freshly manured ground (roots fork). Climate: cool-season; tolerates frost.",
        "propagation": "Direct-sow 4–2 weeks before the last frost; space 4 in apart (9/sq ft).",
        "care": "Thin seedlings to spacing; keep evenly watered to avoid splitting; hoe carefully.",
        "pests_diseases": "Carrot/root fly and forking in rough soil. Rotate on a 3–4 year family cycle, encourage beneficials, and remove affected material.",
        "harvest_storage": "Ready about 90–110 days from sowing/transplant. Store by: root-cellar, leave in ground under mulch."
      },
      "extra_sections": [
        {
          "title": "Thinning",
          "content": "Thin like parsnips; the parsley-like tops can be used as an herb."
        }
      ]
    },
    {
      "id": "good_king_henry",
      "common_name": "Good King Henry",
      "aka": [],
      "category": "vegetable",
      "botanical_family": "Amaranthaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -4,
            -2
          ],
          "mode": "crown"
        }
      ],
      "spacing_in": 12,
      "sqft_count": null,
      "small_space_value": "medium",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [],
      "source": "seymour",
      "us_adaptation_note": "Perennial spinach substitute; young shoots used like asparagus.",
      "years_to_bear": 1,
      "bearing": "crown",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant crowns/divisions 4–2 weeks before the last frost; space 12 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 1. Store by: use fresh."
      },
      "extra_sections": [
        {
          "title": "Harvesting shoots",
          "content": "Cut the young spring shoots like thin asparagus, and pick the young leaves like spinach; stop cutting by early summer to let the plant recover."
        }
      ]
    },
    {
      "id": "medlar",
      "common_name": "Medlar",
      "aka": [],
      "category": "fruit",
      "botanical_family": "Rosaceae",
      "rotation_group": "perennial",
      "trail_color": null,
      "life_cycle": "perennial",
      "planting_windows": [
        {
          "anchor": "last_frost",
          "offset_weeks": [
            -6,
            -2
          ],
          "mode": "bareroot"
        }
      ],
      "spacing_in": 150,
      "sqft_count": null,
      "small_space_value": "low",
      "days_to_maturity": null,
      "sun": "full",
      "water": "moderate",
      "hardiness": "hardy",
      "succession": false,
      "companions": [],
      "antagonists": [],
      "pests_hazards": [],
      "storage": [
        "fresh",
        "can",
        "freeze",
        "dry"
      ],
      "source": "seymour",
      "us_adaptation_note": "Hardier than quince; fruit must be 'bletted' (softened after frost) before eating.",
      "pollination": "self-fertile",
      "years_to_bear": 4,
      "bearing": "tree",
      "cultivation": {
        "soil_climate": "Full sun; moderate, even moisture water. Soil: deep, rich, well-drained soil in a permanent site. Climate: cool-season; tolerates frost.",
        "propagation": "Plant bare-root/dormant 6–2 weeks before the last frost; space 150 in apart.",
        "care": "Weed and mulch the permanent bed; feed each year; divide when crowded.",
        "pests_diseases": "Generally trouble-free once established. Keep plants healthy, space for airflow, and remove affected material.",
        "harvest_storage": "First real crop around year 4. Store by: use fresh, can, freeze, dry."
      },
      "extra_sections": [
        {
          "title": "Bletting",
          "content": "Pick hard in late fall and 'blet' (store until soft and brown) before eating or making into cheese/jelly."
        }
      ]
    }
  ]
}