{
    "schema": 1,
    "id": "button-agaricus-standard",
    "version": "2.0.0",
    "species": "Agaricus bisporus",
    "common_name": "Button mushroom",
    "strain": "A15 / U3",
    "author": "Agriculture Novel",
    "tier": "pro",
    "notes": "The largest commercial crop in India and the one this controller is least able to fake. Air temperature is not the control variable here — compost temperature is, and it runs one to two degrees above the air through the spawn run because the compost is generating its own heat. Without a substrate probe, this recipe is guesswork.",
    "validation": "Literature-derived. Not yet validated on a farm.",
    "alarms": {
        "temp_high_c": 27,
        "temp_low_c": 12,
        "rh_low_pct": 75,
        "co2_high_ppm": 25000
    },
    "stages": [
        {
            "key": "colonization",
            "label": "Spawn run",
            "advance": {
                "on": "days",
                "value": 14,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 24,
                    "deadband": 1,
                    "min": 22,
                    "max": 25
                },
                "rh_pct": {
                    "sp": 92,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 12000,
                    "deadband": 5000
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 0.1
            },
            "note": "High CO2 is deliberate and is not a fault. Agaricus runs its spawn through compost fastest in an atmosphere that would ruin an oyster crop."
        },
        {
            "key": "casing",
            "label": "Casing",
            "advance": {
                "on": "days",
                "value": 8,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 23,
                    "deadband": 1
                },
                "rh_pct": {
                    "sp": 93,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 10000,
                    "deadband": 4000
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 0.2
            },
            "note": "The casing layer is not optional and is not a growing medium — it is a water reservoir and a microbial trigger. Peat and lime, kept wet, never allowed to dry through."
        },
        {
            "key": "pinning",
            "label": "Venting and pinning",
            "advance": {
                "on": "pins_observed",
                "or_days": 6
            },
            "targets": {
                "air_temp_c": {
                    "sp": 17,
                    "deadband": 1
                },
                "rh_pct": {
                    "sp": 90,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 1000,
                    "deadband": 400
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 4
            },
            "note": "The venting event. CO2 falls from ten thousand to one thousand over about two days while temperature drops six degrees. Do it faster and the casing dries and the pinset fails."
        },
        {
            "key": "fruiting",
            "label": "Fruiting",
            "advance": {
                "on": "days",
                "value": 6,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 17,
                    "deadband": 1
                },
                "rh_pct": {
                    "sp": 88,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 1000,
                    "deadband": 400
                },
                "vpd_kpa": {
                    "sp": 0.23,
                    "deadband": 0.08
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 4
            },
            "note": "Grown in the dark. Light does nothing for Agaricus except open the caps early and cost you grade."
        },
        {
            "key": "harvest",
            "label": "Harvest",
            "advance": {
                "on": "harvested",
                "or_days": 3
            },
            "targets": {
                "air_temp_c": {
                    "sp": 17,
                    "deadband": 1
                },
                "rh_pct": {
                    "sp": 86,
                    "deadband": 3
                },
                "co2_ppm": {
                    "sp": 1200,
                    "deadband": 400
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 4
            },
            "note": "Pick before the veil breaks. A broken veil is a different grade and a different price."
        },
        {
            "key": "rest_between_flush",
            "label": "Between flushes",
            "advance": {
                "on": "days",
                "value": 7,
                "or_manual": true
            },
            "targets": {
                "air_temp_c": {
                    "sp": 18,
                    "deadband": 1.5
                },
                "rh_pct": {
                    "sp": 90,
                    "deadband": 4
                },
                "co2_ppm": {
                    "sp": 1500,
                    "deadband": 600
                }
            },
            "light": {
                "hours_on": 0,
                "lux": 0
            },
            "fae": {
                "mode": "co2_driven",
                "min_exchanges_per_hour": 2
            },
            "note": "Water the casing back up. Three flushes is normal, the third is small, and a fourth rarely pays for the room it occupies."
        }
    ]
}