{
    "schema": 1,
    "id": "oyster-grey-tropical",
    "version": "3.0.0",
    "species": "Pleurotus ostreatus",
    "common_name": "Grey oyster",
    "strain": "MS-3",
    "author": "Agriculture Novel",
    "tier": "free",
    "notes": "Straw or sawdust substrate, hanging bags. The classic failure here is CO2, not temperature: a room that holds 2,000 ppm through fruiting gives long stems and caps the size of a coin, and the grower usually blames the strain. Heavy fresh air exchange is the whole recipe.",
    "validation": "Literature-derived. Not yet validated on a farm.",
    "alarms": {
        "temp_high_c": 30,
        "temp_low_c": 8,
        "rh_low_pct": 70,
        "co2_high_ppm": 5000
    },
    "stages": [
        {
            "key": "colonization",
            "label": "Spawn run",
            "advance": {
                "on": "days",
                "value": 14,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 25,
                    "deadband": 1.5,
                    "min": 22,
                    "max": 28
                },
                "rh_pct": {
                    "sp": 85,
                    "deadband": 5,
                    "min": 75,
                    "max": 95
                },
                "co2_ppm": {
                    "sp": 8000,
                    "deadband": 3000,
                    "max": 20000
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 0.2
            },
            "note": "Mycelium wants the CO2 it makes. Ventilating now slows colonisation and invites competitors into an unsealed block."
        },
        {
            "key": "pinning",
            "label": "Primordia initiation",
            "advance": {
                "on": "pins_observed",
                "or_days": 5
            },
            "targets": {
                "air_temp_c": {
                    "sp": 17,
                    "deadband": 1.2
                },
                "rh_pct": {
                    "sp": 91,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 600,
                    "deadband": 250
                },
                "vpd_kpa": {
                    "sp": 0.17,
                    "deadband": 0.08
                }
            },
            "light": {
                "hours_on": 12,
                "lux": 800
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 4
            },
            "note": "The drop in temperature and the arrival of light and fresh air together are the signal. Change all three at once; changing one at a time gives a slow, uneven pinset."
        },
        {
            "key": "fruiting",
            "label": "Fruiting",
            "advance": {
                "on": "days",
                "value": 5,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 18,
                    "deadband": 1.5
                },
                "rh_pct": {
                    "sp": 88,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 650,
                    "deadband": 250
                },
                "vpd_kpa": {
                    "sp": 0.25,
                    "deadband": 0.1
                }
            },
            "light": {
                "hours_on": 12,
                "lux": 800
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 5
            },
            "note": "Humidity comes down slightly from pinning. Caps that stay wet split and then rot; the target is a room that feels damp, not one that drips."
        },
        {
            "key": "harvest",
            "label": "Harvest",
            "advance": {
                "on": "harvested",
                "or_days": 2
            },
            "targets": {
                "air_temp_c": {
                    "sp": 18,
                    "deadband": 1.5
                },
                "rh_pct": {
                    "sp": 85,
                    "deadband": 4
                },
                "co2_ppm": {
                    "sp": 800,
                    "deadband": 300
                }
            },
            "light": {
                "hours_on": 12,
                "lux": 800
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 4
            },
            "note": "Drop humidity a little before picking. Mushrooms harvested dry keep days longer than mushrooms harvested wet."
        },
        {
            "key": "rest_between_flush",
            "label": "Rest between flushes",
            "advance": {
                "on": "days",
                "value": 7,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 22,
                    "deadband": 2
                },
                "rh_pct": {
                    "sp": 85,
                    "deadband": 5
                },
                "co2_ppm": {
                    "sp": 2500,
                    "deadband": 1000
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 1
            },
            "note": "Warm the block back up and let it re-colonise the spent zone. Then return to pinning for the second flush."
        }
    ]
}