{
    "schema": "homebrew.batch",
    "schema_version": "1.0",
    "generated_by": "brew-report",
    "generated_at": "2026-07-05",
    "batch": {
        "id": "beer2-apa-2026-06-27",
        "name": "1. American Pale Ale",
        "style": "American Pale Ale",
        "style_category": "ale",
        "status": "kegged",
        "brewer_notes": "Первая зерновая партия под давлением. Случайное брожение под ~2.4 бар в жару сыграло в плюс.",
        "dates": {
            "brew_day": "2026-06-27",
            "fermentation_start": "2026-06-27",
            "dry_hop": "2026-07-02",
            "cold_crash": "2026-07-01",
            "packaging": "2026-07-05"
        },
        "targets": {
            "batch_volume_l": 23,
            "og": 1.047,
            "fg": 1.01,
            "abv_pct": 5,
            "ibu": 38,
            "color_srm": 8,
            "carbonation_vol_co2": 2.4
        },
        "measured": {
            "pre_boil_gravity_bx": 11,
            "pre_boil_gravity_sg": 1.044,
            "og": 1.047,
            "fg": 1.007,
            "abv_pct": 5.4,
            "apparent_attenuation_pct": 87,
            "notes": "OG: рефрактометр 13 Bx (~1.053), RAPT Pill в сусле 1.047 — за рабочую взята 1.047."
        },
        "equipment": {
            "mash_boil_system": "Easy Brew Connect 50L",
            "method": "all_grain_full_volume_with_sparge",
            "fermenter": "FermZilla Tri-Conical 27L",
            "fermentation_pressure": true,
            "packaging_vessel": "Cornelius keg (ball lock)",
            "telemetry": "RAPT Pill (via Zabbix)"
        },
        "water": {
            "source": "artesian (dispenser)",
            "profile": "not_measured",
            "strike_volume_l": 20,
            "sparge_volume_l": 14,
            "sparge_temp_c": 76,
            "total_kettle_preboil_l": 28,
            "ph_checked": true
        },
        "fermentables": [
            {
                "name": "Курский Пэйл Эль",
                "type": "base_malt",
                "amount_kg": 4.5,
                "pct": 78.9
            },
            {
                "name": "Курский Мюнхенский",
                "type": "specialty_malt",
                "amount_kg": 0.7,
                "pct": 12.3
            },
            {
                "name": "Курский Венский",
                "type": "specialty_malt",
                "amount_kg": 0.5,
                "pct": 8.8
            }
        ],
        "fermentables_total_kg": 5.7,
        "mash_steps": [
            {
                "step": "saccharification",
                "temp_c": 66.5,
                "time_min": 60,
                "note": "по факту гуляло 65-69"
            },
            {
                "step": "mash_out",
                "temp_c": 76,
                "time_min": 10
            }
        ],
        "boil": {
            "time_min": 60,
            "hops": [
                {
                    "name": "Magnum",
                    "form": "pellet",
                    "amount_g": 13,
                    "time_min": 60,
                    "use": "boil",
                    "in_basket": true
                },
                {
                    "name": "Cascade",
                    "form": "pellet",
                    "amount_g": 30,
                    "time_min": 15,
                    "use": "boil",
                    "in_basket": true
                },
                {
                    "name": "Citra",
                    "form": "pellet",
                    "amount_g": 25,
                    "time_min": 5,
                    "use": "boil",
                    "in_basket": true
                }
            ],
            "kettle_additions": [
                {
                    "name": "Ирландский мох",
                    "amount_g": 1.5,
                    "time_min": 10
                },
                {
                    "name": "Дрожжевая подкормка",
                    "amount_g": 5,
                    "time_min": 10
                }
            ]
        },
        "whirlpool": {
            "temp_c": 80,
            "time_min": 20,
            "hops": [
                {
                    "name": "Citra",
                    "form": "pellet",
                    "amount_g": 25
                },
                {
                    "name": "Cascade",
                    "form": "pellet",
                    "amount_g": 25
                }
            ]
        },
        "chill_to_c": 20,
        "yeast": {
            "name": "Safale US-05",
            "type": "dry",
            "packs": 2,
            "pitch_temp_c": 20,
            "note": "двойная задача (случайно); для эля не критично"
        },
        "fermentation": {
            "vessel": "FermZilla",
            "pressure_bar": 2.4,
            "pressure_note": "спайдинг закручен на максимум, PRV стравливал избыток",
            "temp_profile": [
                {
                    "date": "2026-06-27",
                    "temp_c": 20,
                    "sg": 1.047,
                    "event": "pitch"
                },
                {
                    "date": "2026-06-28",
                    "temp_c": 22,
                    "sg": 1.046,
                    "event": "lag_end / active_start"
                },
                {
                    "date": "2026-06-29",
                    "temp_c": 25,
                    "sg": 1.03
                },
                {
                    "date": "2026-06-30",
                    "temp_c": 26.8,
                    "sg": 1.017,
                    "event": "temperature_peak"
                },
                {
                    "date": "2026-07-01",
                    "temp_c": 21,
                    "sg": 1.009,
                    "event": "plateau"
                },
                {
                    "date": "2026-07-02",
                    "temp_c": 2,
                    "sg": 1.007,
                    "event": "cold_crash / final"
                }
            ],
            "lag_hours": 17,
            "peak_temp_c": 26.8,
            "final_temp_c": 2
        },
        "dry_hop": {
            "type": "cold",
            "temp_c": 3,
            "days": 4,
            "co2_purged": true,
            "hops": [
                {
                    "name": "Citra",
                    "form": "pellet",
                    "amount_g": 50
                },
                {
                    "name": "Mosaic",
                    "form": "pellet",
                    "amount_g": 50
                }
            ]
        },
        "cold_crash": {
            "temp_c": 3,
            "hold_hours": 24
        },
        "packaging": {
            "vessel": "Cornelius keg",
            "method": "closed_transfer",
            "carbonation": "pressure ~1 bar @ 2-4C",
            "date": "2026-07-05"
        },
        "tasting": {
            "clarity_issue": false,
            "off_flavors": [],
            "descriptors": [
                "горечь выраженная",
                "цитрус",
                "тропический аромат",
                "суховатое тело"
            ],
            "notes": "Молодым: чисто (без кислинки), горчит, тело чуть пустое. Ожидается смягчение после карбонизации и 2-3 недель созревания."
        },
        "lessons": [
            "Держать комнату на ~3C ниже целевой температуры сусла (экзотермия).",
            "Затирать выше (68-69C) для большего тела.",
            "Спайдинг ставить на 0.8-1.0 бар, не на максимум.",
            "Можно снизить Magnum до 10 г, сместить акцент на поздний хмель."
        ]
    }
}