004 — Floral & honey, maximum intensity¶
WB-ING-2026-004 · status: designed · Disclaimer
Related: Maillard preparations · Skill user guide
Safety
Experimental home procedure. Read the disclaimer first.
Date: 2026-09-17 · Skill: fruit-maillard-prep v5 · Calculator: prep_calc.py on design-003.json
1. Request summary¶
Re-run of an earlier floral/honey task against the rewritten skill. Brief: full-on, in-your-face floral and honey flavours and aromas, as two designs — this one advanced and complex, and design-005 as a simplified starter. The brewer explicitly removed the base beer from scope: no strain, colour, age, gravity or ethylphenol constraint applies.
Entry mode: 2, target-first. No mode 3 intake was taken, because the base beer was ruled out of scope by the brewer. The consequence is stated rather than hidden: this design reports its beer-side load (ΔABV, pH shift, potassium, FAN, colour) instead of fitting it to a known beer. Check §11, §12 and §13 against whatever beer it lands in before committing it.
Archetype: fruit-forward. Total fruit 202 g/L (anchor 200–400). Cooked concentrate: jar B ~80 g plus jar B2 ~100–130 g, about 40–47 g/L against the ≤60 g/L clause. (prep_calc.py reports stageB_concentrate_gL as 18 g/L because it counts only its single B slot — see the note under §2.)
Push-back carried forward: the previous round of this design was judged too complex for a first run. 003 keeps the two-jar split, because the target genuinely needs it (§2 below), but drops kernels, Stage A2 and the phenolic Stage C entirely. design-005 is the design to actually build first.
The binding constraint: added FAN, not sugar and not nitrogen loading¶
Under v4's arithmetic the whole amino-acid budget for this design is about 2 g, and it is capped by the 30 mg N/L added-FAN warn (chemistry.md §10), not by the sugar:amine ratio, the Brix band or the fermentable load. Worse, roughly half of the FAN is fruit protein — 8.5 g of it, counted at 15 % liberated — which cannot be removed without removing the fruit.
So the design has to choose which amine to spend a fixed budget on:
| Amine | Product | On target? |
|---|---|---|
| Glycine | alkylpyrazines — roasted hazelnut, cocoa, nutty | No. This is the cocoa axis, not the floral/honey one |
| L-phenylalanine | phenylacetaldehyde (honey, threshold ~5–10 µg/L) → 2-phenylethanol (rose/honey) | Yes. The single most direct honey lever available |
Hence the nitrogen line: L-Phe 1.3 g — the top of the documented 0.5–1.3 g band — glycine 0.7 g, and jar B2 gets no added nitrogen at all. Added FAN lands at exactly 30 mg N/L, on the warn line and not over it.
Second constraint, structural: the two halves of the target want opposite pH, and one half must not be cooked at all.
| Axis | Wants | Stage |
|---|---|---|
| Honey, Strecker route (phenylacetaldehyde → 2-PE) | pH 6.15, dicarbonyl-rich | jar B |
| Honey, furanone + norisoprenoid route (furaneol, maltol, β-damascenone, β-ionone) | pH 4.4, acid-catalysed, protects aglycones | jar B2 |
| Floral, free monoterpenes | no heat, and no active fermentation — Sacch and Brett transform free terpenes, they do not merely fade them (§9) | T, at bottling |
| Floral, bound glycosides | released in the beer by Brett β-glucosidase and beer-side Lallzyme over months | D, early in secondary |
Three of those four cannot share a vessel. That is why this design is complex, and it is the honest reason.
2. Formula by stage (fruit-forward, one 4.5 L carboy)¶
Every stage is listed. Rows marked n/a are not used, with the reason. ×4.4 for 20 L.
| Stage | Applies? | Material | g | Purpose, flavours and aromas |
|---|---|---|---|---|
| A1 pectin pre-treatment | yes | Quince + rosehip for jar B2 (the 370 g below) | – | Pectinase and arabinofuranosidase liberate arabinose, galactose and rhamnose — the pentose that becomes furaneol, furfural and maltol (honey, caramel, cotton-candy) in jar B2. Also drops the viscosity, which is half of why it is here: quince at 64 °Brix is membrillo |
| Lallzyme Beta | 0.019 | ~50 mg per kg of pulp. Weigh dry on the 1 mg scale | ||
| Added water | 0 | Fresh fruit supplies its own | ||
| A2 kernel hydrolysis | n/a | – | – | No kernels. Benzaldehyde is marzipan, not honey — off-axis, and it would drag in the HCN and ethyl-carbamate arithmetic for nothing |
| B Strecker / honey jar, pH 6.15 | yes | Date, Medjool, pitted | 70 | Reducing-sugar backbone and the dicarbonyl source. Lowest-asparagine RS donor on the list (§22 lever 3) |
| Quince, cored, coarsely grated | 60 | Malate buffer to hold the jar in the pyrazine/Strecker band against the 0.3–0.6 unit acid drift; pentose; honeyed quince character | ||
| L-phenylalanine | 1.3 | Phenylacetaldehyde (honey, hyacinth) in the jar → 2-phenylethanol (rose, honey) in the beer. The design's main honey lever | ||
| Glycine | 0.7 | Just enough bulk amine to keep the Amadori/dicarbonyl engine running for the Phe to Strecker against. Held low on purpose: its own product is pyrazine, which is off-target | ||
| KHCO₃ | 0.93 full / 0.74 first pass | Moves the jar to pH 6.15, the 2,3-enolisation branch | ||
| Phosphoric acid 85 % | 0 | Not inverting — see §4 | ||
| Rehydration water | 0 | Medjool is soft; the grated quince supplies the moisture | ||
| C phenolic jar | used as jar B2 | Not a phenolic jar. The acid-hydrolysis / furanone jar, pH 4.4. It occupies the calculator's C slot because prep_calc.py has only one B slot |
||
| Quince, cored, coarsely grated (A1-treated) | 250 | Pen VH → furanones. Gly VH → aglycones released by acid hydrolysis and then rearranged to α-terpineol, hotrienol, nerol oxide, linalool oxides — cooked floral, tea-like | ||
| Rosehip, fresh, deseeded and strained | 120 | Car VH → β-ionone (violet, tea) and β-damascenone precursors (honey, stewed apple; threshold ~0.05 µg/L). Ascorbate browning → furfural. Ascorbate-rich: this jar must be hot-vented (§15) | ||
| Apricot, dried, unsulphited | 50 | Car VH, Gly H, RS. Second carotenoid source and the jar's sugar backbone | ||
| Vanilla pod, split | 3 | Vanillin and glucovanillin — thermally stable, honey-adjacent, survives fermentation intact | ||
| KHCO₃ | 2.43 full / 1.94 first pass | Lifts the jar from native ~3.55 to 4.4 — the top of the permitted Stage-C lift band, chosen as the 1,2-enolisation optimum | ||
| Glycine / Phe | 0 | Deliberate. See §3 | ||
| Rehydration water (for the apricot) | 60 mL | Just-boiled water over the apricot, 30 min, covered. Driven back off in the reduction | ||
| D raw fruit into beer | yes | Quince, cored, grated, frozen then thawed | 315 | The bound floral pool. Quince glycosides survive raw and are released over months by Brett β-glucosidase and beer-side Lallzyme: this is what makes the beer get more floral with age |
| Muscat raisin, whole | 40 | Benchmark terpene-glycoside source — linalool, geraniol, nerol, arriving bound and released slowly | ||
| T tincture | yes | Elderflower, dried | 8 | Linalool oxides, hotrienol, nerol oxide, rose oxide. The best floral on the preferred list |
| Rose petal, dried (off-list) | 5 | Citronellol, geraniol, rose oxide, 2-phenylethanol. The only thing here that makes the beer read rose rather than elderflower | ||
| Chamomile, dried | 3 | Bisabolol, apigenin — rounds the top end | ||
| Coriander seed, cracked | 2 | Linalool, ~70 % of its oil | ||
| Lavender, dried (off-list) | 0.5 | A trace. Linalool + linalyl acetate; lifts the whole tincture. Above ~1 g it goes soapy-medicinal | ||
| Neutral spirit 40 % | 120 mL | 48 h, dark, strained. Dose 40–80 mL at bottling | ||
| Beer-side | yes | Lallzyme Beta | 0.225 | 50 mg/L post-primary, once the fruit glucose is gone. Releases the bound pool from Stage D. This is the enzyme's designed use |
| Bottling | yes | EC-1118 | usual | Standing practice: THP clean-up and protective SO₂ |
| Held-back 20 % of jar B | ~16 g | Added at bottling so some un-reduced phenylacetaldehyde (honey, threshold 5–10 µg/L) survives. Sits outside the gravity gate — accounted in §12 |
Shortfall rule: quince is this design's spine (625 g across three stages). Any shortfall comes off Stage D first, down to 200 g. Below that, cut jar B2's quince and recompute its base dose — its 250 g carries 32.5 of the jar's 77.6 meq.
Calculator-slot note, so nobody mis-applies a rule six months from now: jar B2 is a Stage B variant (chemistry.md §15: "a furanone jar variant runs at pH 4.3–4.6"), not a Stage C. It is reduced to 60–68 °Brix like a Stage B, and it is slow-cooled closed like a Stage B — the Stage C fast-cool rule does not apply to it. It carries both hurdles: a_w ≤0.86 and pH 4.4.
Quince availability. UK quince ripens October–November; on 2026-09-17 it is early. If quince cannot be had, either wait four to six weeks (nothing here spoils) or substitute for the cooked fraction only: 250 g quince → 125 g apple + 125 g gooseberry (both Pen H, both on the preferred list; recompute the base — gooseberry is TA 28 at pH 3.0). There is no good substitute for the Stage D quince: its glycoside pool is the point. Raising muscat raisin is the nearest move, at the cost of more sugar; blackcurrant (Gly VH) is the other option and brings a large anthocyanin and acid load that fights a pale floral beer.
3. Nitrogen¶
- Glycine 0.7 g (9.31 mmol), L-Phe 1.3 g (7.87 mmol), collagen 0 g. No protease step.
- Jar B: 17.18 mmol reactive amine against 47.1 g RS = 15.2:1. Glycine-only, so the 10:1 rule does not apply; v4 prefers 10–14:1 and this sits just above it, deliberately, because FAN is the cap.
- Jar B2: no added nitrogen at all. This is the design's most consequential choice, so the reasoning is on the record:
- The FAN budget is fully spent in jar B, on the amine that actually serves the target.
- Jar B2's four jobs — carotenoid cleavage to ionones, acid-catalysed norisoprenoid precursor release to damascenone, acid hydrolysis of glycosides, and pentose dehydration to furfural/HMF — are heat-and-acid reactions that need no amine (§8). Only the furanone share is Maillard, and the fruit's own free asparagine and aspartate supply a little.
- Batch 001 ran at ~40:1 in the furanone band and produced a strong, complex result; v4's own batch-log note says 001 is not the evidence for nitrogen-limitation it was read as, and
chemistry.md§1 is now Med. A lean acid jar is not obviously a mistake. The price is thinner furanones than a nitrogen-loaded jar would give. Tweak point 5 reverses it. - Collagen: 0 g, and not a candidate. At 4 g it would supply ~3 % of this design's reactive amine and 100 % of its methionol, Lys and Arg. Its Pro/Hyp — the bread-crust pyrroles it used to be justified by — are interior residues that never react, and they are a cocoa-axis note anyway.
- Protein carried in: 8.5 g (quince 2.5, rosehip 1.9, apricot 1.5, date 1.4, muscat raisin 1.2). No almond, no kernel, no cacao, no shiitake — the four ingredients that dominate this budget are all absent. Lys+Arg 153 mg, all fruit-bound.
4. Base dose per jar¶
Native-pH-anchored solve (chemistry.md §12). Predict → dose 80 % → measure cold → titrate → log predicted vs measured. The pH-calibration table in data/batch-log.md is still empty; this design produces its first two entries.
| Jar B | Jar B2 | |
|---|---|---|
| Mixture native pH (estimated) | 3.60 | 3.55 |
| Source | ingredient pH + TA, Low — date at pH 5.8 falls back to the unanchored estimate | ingredient pH + TA, Low |
| TA in the jar | 9.9 meq | 77.6 meq |
| Target pH, cold | 6.15 | 4.40 |
| z at target | 1.913 | 1.067 |
| Full dose | 0.93 g KHCO₃ (9.3 meq) | 2.43 g KHCO₃ (24.3 meq) |
| 80 % first pass | 0.74 g | 1.94 g |
| Effective factor vs fruit TA | 0.94 | 0.31 |
| What the withdrawn v3 method would have said | 0.95 g | 3.99 g |
Measure the native pH of each mixture before anything goes in. Both estimates are Low and the anchored solve is built on them.
The v4 payoff is visible in jar B2. At a pH 6.15 target the anchored and unanchored solves agree to a couple of per cent — which is why Stage B numbers never looked wrong. At a 4.4 target they diverge by 64 %: the old flat method would have put 4.0 g of KHCO₃ into that jar instead of 2.4 g, overshooting the target and adding ~64 % more potassium and beer-pH load than the design needs. This is exactly the case chemistry.md §12 was rewritten for.
No inversion, no phosphoric acid, in either jar. Jar B carries 2.0 g of sucrose and jar B2 carries 6.5 g. Inverting would recover about 6 g of reducing sugar into jars that are already sugar-rich and deliberately amine-lean — it would make the ratios worse, not better — and the phosphoric would then cost base to neutralise on a design whose potassium and beer-pH budget is the thing worth protecting. That 8.5 g of sucrose is counted as 100 % fermentable in the beer either way (§12). Tweak: 0.3 mL of phosphoric in jar B purely as an Amadori catalyst would cost ~+0.5 g KHCO₃.
Order of operations, which discharges the calculator's first warning. prep_calc.py flags that jar B is "based to pH 6.15 and ~38 °Brix before reduction". It is not: reduce first, then base. Phosphoric (none here) → hob reduction to 60–68 °Brix → cool → base to 80 % → measure → titrate → seal. Nothing is ever sealed based and unreduced. Note that the base and the amino acids themselves read as Brix and depress a_w efficiently (§5): jar B gains ~3–4 points from them, jar B2 ~1 point.
5. Ingredients list¶
| Item | Needed | Buy / check |
|---|---|---|
| Quince | 625 g cored (250 B2 + 315 D + 60 B) | Off-list, on the shortlist. Early in the UK season — see §2. Patulin: no windfalls, cut out all bruising. Buy ~750 g whole to allow for cores |
| Rosehip, fresh | 120 g deseeded | Off-list, on the shortlist. In season now. Halve, scoop seeds and hairs, strain everything. Buy ~250 g whole |
| Apricot, dried, unsulphited | 50 g | On-list. The unsulphited brown kind, not the orange. Sulphite binds dicarbonyls and kills this jar before it starts, and it inhibits Brett. Trap worth naming: unsulphited apricot is brown because it has oxidised, so its carotenoid is lower than the table's VH suggests — the rosehip is why that is survivable |
| Date, Medjool, pitted | 70 g | On-list. Medjool-type, not Deglet (Deglet carries ~20 % sucrose). No added sugar or oil coating |
| Muscat raisin | 40 g | Off-list, on the shortlist. Check the label for sulphite |
| Vanilla pod | 3 g (about one pod) | Off-list, on the shortlist |
| L-phenylalanine | 1.3 g | Off-list. Food/supplement grade. A 100 g tub covers years at 0.5–1.3 g a batch |
| Rose petal, dried | 5 g | Off-list, on the shortlist. Culinary grade, not potpourri |
| Lavender, dried | 0.5 g | Off-list. Culinary Lavandula angustifolia. Buy the smallest packet sold |
| Elderflower, dried | 8 g | Held |
| Chamomile, dried | 3 g | Held |
| Coriander seed | 2 g | Held |
| Glycine | 0.7 g | Held |
| Potassium bicarbonate | 3.4 g + margin | Held |
| Lallzyme Beta | 19 mg (A1) + 225 mg (beer-side) | Held. Weigh dry each time on the 1 mg scale |
| Neutral spirit 40 % | 120 mL | Held |
| EC-1118 | bottling dose | Held |
| Rehydration water | 60 mL total — all of it on the dried apricot in jar B2 | Just-boiled, poured over the apricot, covered, 30 min. Date and muscat raisin are used as they are; A1 needs none; there is no A2 |
Not needed: phosphoric acid, collagen, papain, sweet almond, bitter apricot kernel, sloe stone, shiitake, oak, hibiscus, marigold, cacao, aronia, sloe, blackcurrant, maltodextrin.
Vessel check: 4.5 L of beer plus 355 g of Stage D fruit plus two pastes is about 5.0 L before foam, on 27–31 g/L of fresh sugar. Do the fruit contact in a 7–8 L bucket or wide-neck vessel with an airlock, then rack back.
6. Cook and process¶
Measure first: the native pH of each jar's crushed mixture, before any acid or base. Both base doses are anchored on it and both estimates are Low. Calibrate the meter at 4.0 and 7.0.
Holds (§21).
| Hold | Material | pH class | Temp | Duration | Limit |
|---|---|---|---|---|---|
| A1 | Quince + rosehip pulp, 370 g, + 19 mg Lallzyme | ~3.5, acidic | 45–50 °C | 2–3 h | 3 h (the 2 h low-acid cap does not apply) |
| Apricot soak | 50 g dried apricot + 60 mL just-boiled water | 3.5, acidic | falling from ~95 °C | 30 min | not a warm hold; it starts hot and cools |
Nothing from either hold is used uncooked. There is no A2 and no protease step.
Reduction. Reduce each jar's mixture uncovered on the hob, then read the jam refractometer on a thin smear or the pressed liquid. It is the authority; the figures below size the job.
| Mass in | Water present | Target | Stop at roughly | prep_calc.py bound |
|
|---|---|---|---|---|---|
| Jar B | 130 g | 64 g | 60–68 °Brix | ~80 g | ≤49.6 g of water off; known-solute lower bound 39.6 °Brix now |
| Jar B2 | 423 g + 60 mL soak water | ~355 g | 60–68 °Brix | ~120–200 g | known solutes 48.4 g → 75.6 g at 64 °Brix; this is a lower bound and the water-removal figure exceeds the water actually present (v5 item 9) — the fruit's non-sugar soluble solids are not counted, so stop higher than the arithmetic says and trust the meter |
Jar B2 is a big reduction and quince sets hard. A1 first — the pectinase is what keeps it stirrable. If it is still too stiff to stir safely, sieve the A1 pulp and reduce the liquid instead, accepting a lower yield.
Base, then seal. Cool, dose 80 % of the KHCO₃ in two or three portions (it foams), stir, measure cold with the spear probe, titrate the last in to target, record predicted vs measured. Stir in the glycine and L-Phe at base-adjustment time. Fill jars to 85–90 % (headspace 10–15 %), lids finger-tight, sanitised. Use the smallest jars that give that fill: jar B is ~60 mL of paste, jar B2 ~100–160 mL.
Cook. Both jars standing in 3–5 cm of water in the pressure cooker, never on the base. 121 °C, time counted from full pressure.
| Jar | Duration | Why |
|---|---|---|
| B | 75 min | Nitrogen-loaded at 60–68 °Brix wants 90–120; this jar is held to 75 because past amine exhaustion it only makes melanoidin, and its colour is the main thing fighting a pale floral beer |
| B2 | 90 min | Not amine-limited, because it is not primarily a Maillard jar. Carotenoid cleavage, acid hydrolysis and terpene rearrangement all reward time |
Hot vent — mandatory, both jars. Open and stir 5–10 min while still hot before blending or refrigerating. Rosehip is ascorbate-rich and a sealed jar of sugar, amino acid and ascorbate at retort temperature is the textbook furan condition (§22). Furan boils at 31 °C and leaves; the pyrazines, furanones, melanoidins and norisoprenoids are orders of magnitude less volatile and stay. Free.
Cooling — both jars slow-cool, closed, like a Stage B. Both sit at a_w ≤0.86, below every relevant growth minimum, and jar B2 is additionally at pH 4.4. Hours in the 60–100 °C band continue Amadori decomposition and residual Strecker chemistry. Do not ice-bath jar B2 because it occupies the C slot — that rule exists for a high-moisture phenolic jar, which this is not. Refrigerate after cooling; the labelled jars are the storage vessels.
No roast finish. It pushes pyrazines and bitterness — the wrong axis — and it is untested (§1, paired-jar only).
Blend jar B and jar B2 by taste before adding, keeping 20 % of jar B back for bottling.
7. Predicted compound inventory¶
| Axis | Stage | Compounds | Sensory |
|---|---|---|---|
| Honey, rose | B | Phenylacetaldehyde → 2-phenylethanol, 56–112 mg/L added | honey, hyacinth in the jar; rose and honey in the beer. The compound a drinker will name |
| Honey, stewed apple | B2, then the beer | β-damascenone, threshold ~0.05 µg/L | honey, stewed apple, dried fruit. Release is acid-catalysed, so it keeps rising over 12–24 months in the beer, not only in the jar |
| Floral, violet | B2 | β-ionone, TDN, other norisoprenoids | violet, tea, dried apricot |
| Honey, caramel-sweet | B2 | Furaneol, homofuraneol, maltol, DDMP, furfural, HMF | burnt sugar, cotton candy, strawberry-jam sweetness. Thinner than a nitrogen-loaded jar would give — see §3 |
| Floral, cooked | B2 | α-terpineol, hotrienol, nerol oxide, linalool oxides, from acid hydrolysis of quince glycosides followed by rearrangement | tea-like, lime-blossom, cooked floral. Distinct from the tincture's fresh floral and complementary to it |
| Vanilla | B2 | Vanillin | vanilla, sweet wood. Thermally stable |
| Floral, fresh | T | Linalool, geraniol, citronellol, rose oxide, nerol oxide, hotrienol, linalyl acetate | elderflower, rose, lime blossom. The top note, and the reason the tincture is dosed at bottling |
| Floral, bound → released | D, in the beer | Quince and muscat monoterpene and norisoprenoid glycosides, freed by Brett β-glucosidase and beer-side Lallzyme | the beer gets more floral between 6 and 18 months. This is the slow half of the design |
| Minor, accepted | B | Light alkylpyrazine and melanoidin load | a faint nutty edge and body. Not sought; the price of running jar B at 6.15 |
At cook: jar B a dark amber, date-and-honey paste with a faint nutty edge. Jar B2 paler, orange-amber, apricot and quince, distinctly floral-tea, with vanilla. In beer at 6 months: honey and rose forward, apricot and violet behind, the tincture's elderflower and rose on top. At 18 months: damascenone and ionone grown, the bound quince/muscat pool still releasing, the tincture's fresh top thinned, melanoidin body and the pyrazine edge unchanged.
8. Survives vs destroyed (18 months)¶
Survives intact: 2-phenylethanol (rose, honey); β-damascenone and β-ionone (honey, stewed apple, violet) — and still increasing; terpene oxides (linalool oxides, nerol oxide, rose oxide — tea, lychee, floral); vanillin (vanilla); maltol and the furanones (cotton candy, burnt sugar — though furaneol is partly reduced or methylated over a long secondary, Med); alkylpyrazines (nutty); melanoidins (body, colour, mild bitterness); phenolic acids.
Reduced or transformed: - Phenylacetaldehyde → 2-phenylethanol. Honey becomes rose. On-target either way, which is why the held-back 20 % of jar B at bottling is worth doing: it is the only route to the aldehyde in the finished beer, and its threshold is 5–10 µg/L. - Free monoterpenes are transformed, not merely faded (§9, Med-high): geraniol → citronellol, linalool → α-terpineol, both partly acetylated, strain-dependent. Anything added before or during active fermentation comes out different, not weaker. This is the whole argument for Stage T at bottling and it is stronger in v4 than it was. - Furfural and HMF → furfuryl alcohol (neutral loss).
Partial protection: EC-1118's SO₂ forms reversible bisulphite adducts with aldehydes, releasing them slowly in bottle (Med).
9. Fusel, methionol, 2-PE, FAN and THP budget¶
| Value | Threshold / warn | Verdict | |
|---|---|---|---|
| Collagen | 0 g | cap 4 g | – |
| Other protein in the design | 8.5 g (fruit only), counted at 15 % liberated | – | no almond, kernel, cacao or shiitake — the four inputs that dominate this budget are all absent |
| Added isoamyl alcohol | 1.8–3.7 mg/L | warn >25 | clear |
| Added total BCAA fusels | 4.3–8.7 mg/L | – | clear |
| Added methionol | 0.21–0.43 mg/L | warn >0.5 at midpoint | clear at the midpoint, close at the top. All of it fruit protein |
| Added 2-phenylethanol | 55.9–111.8 mg/L | useful band 40–100; soapy above ~100 | midpoint ~84 mg/L — on target. The top of the modelled range sits above the soapy line. Med-low on the Strecker yield |
| Added FAN | 30 mg N/L | warn >30 | exactly on the line, not over. The binding constraint |
| Lys + Arg carried | 153 mg | – | all fruit-bound, no collagen. Combined with glycine-only dosing, this is about as low as a THP load gets |
One caveat on the FAN figure, worth a reference correction. Roughly half of the 30 mg N/L is fruit protein counted at intact_protein_liberated_frac = 0.15, which chemistry.md §14 derives for material held at 121 °C / pH 6. About 2.5 g of that protein is Stage D raw fruit, which never sees a cook. Brett proteolysis does liberate some of it over months, so it is not zero, but 15 % at the moment of addition is the wrong model and it over-states this design's FAN. The real figure is likely nearer 25 mg N/L. Correction line emitted separately.
10. Kernel calculation¶
n/a. No kernels in this design. No A2, no benzaldehyde, no HCN, no ethyl-carbamate route, and the bottles need no dark-storage instruction on that account.
11. Colour and body¶
Melanoidin colour is permanent and non-fermentable. Jar B (pH 6.15, 75 min, 47 g RS) browns fast and is the main contributor; jar B2 at pH 4.4 browns slowly, but rosehip adds amine-independent ascorbate browning on top. There is no anthocyanin anywhere in the design — no aronia, sloe, blackcurrant, blueberry, hibiscus or elderberry — so nothing is lost to thermolysis and nothing red arrives.
Estimate: +4 to +7 SRM on the base beer, toward amber-gold. Confidence Med-low. Body rises slightly from the melanoidins and from quince pectin. If the beer must stay pale for the floral to read before the first sip, see tweak 4.
12. Fermentable load¶
| Planned | Worst case (0 % reacted) | |
|---|---|---|
| Fermentable sugar | 124 g | 140 g |
| g/L into 4.5 L | 27.7 | 31.2 |
| ΔABV | +1.79 % | +2.02 % |
Includes all 8.5 g of sucrose, inverted or not. Plan on the worst case — the 25 % reacted fraction is Med at best and the error runs toward more sugar in the beer (§18).
prep_calc.py warning, quoted: "worst-case fermentable 31.2 g/L: add early in secondary and hold the gravity gate absolutely."
The gravity gate. Ferment to a stable gravity, read twice 4–6 weeks apart, before bottling. Jars B and B2 go in early in secondary and are covered by it.
What sits outside the gate, and its accounting:
| Addition | Timing | Sugar | Accounting |
|---|---|---|---|
| Stage D (315 g quince + 40 g muscat raisin) | early in secondary — deliberately not at bottling | 42.9 g = 9.5 g/L | Under the 10 g/L rule, so timing could be by flavour survival — but the bound glycoside pool needs months of Brett β-glucosidase anyway, so early is both the flavour answer and the gravity answer. Adding it early brings it inside the gate. Do that |
| Stage T tincture, 40–80 mL | bottling | none | ABV only: +0.36 to +0.71 % |
| Held-back 20 % of jar B, ~16 g of paste | bottling | ~7 g = 1.6 g/L | Roughly 0.4 volumes' worth in 4.5 L. Subtract it from the priming sugar. The skill computes no bottle pressure; this is the accounting the carve-out asks for |
Total ΔABV including the tincture: about +2.4 to +2.7 % worst case. Sizeable. Tweak 3 halves it.
13. Beer-side acid, potassium and FAN¶
| Value | Warn | Verdict | |
|---|---|---|---|
| Base meq carried in | 34 meq | – | |
| meq/L | 7.5 | warn >10 | under |
| Expected beer pH rise | +0.19 to +0.37 units | – | a magnitude, not "up slightly". Med, on a 20–40 meq/L per pH unit buffer |
| Free fruit acid from unbased Stage D | 10.8 meq/L | – | pulls the other way. Stage D's malic and tartaric go in free, so the two roughly cancel and the net pH move should be small — but they are not the same acids arriving at the same time, so verify rather than assume |
| Potassium added | 292 mg/L | warn >500 | under. Running jar B2 at 4.4 rather than 6.15 is what bought this: the factor is 0.31 instead of 0.95 |
| Added FAN | 30 mg N/L | warn >30 | on the line — see §9 |
| MLF substrate | Malic from quince, rosehip and apricot is MLF substrate. Tartaric (muscat raisin) is not and stays sharp |
14. Safety — warm holds (§21)¶
| Hold | pH class | Temp | Duration | Limit | Compliant |
|---|---|---|---|---|---|
| A1, quince + rosehip + Lallzyme | acidic, ~3.5 | 45–50 °C | 2–3 h | 3 h (2 h cap is for pH >4.6 only) | yes |
| Apricot soak | acidic, 3.5 | starts ~95 °C, cooling | 30 min | not a warm hold | yes |
- Nothing held warm enters the beer uncooked. The entire A1 fraction goes into jar B2 and is cooked at 121 °C for 90 min.
- Stage D is raw fruit, never pre-held warm and never enzyme-treated before it goes in. The Lallzyme goes into the beer post-primary, which is its designed use.
- Stage B Brix confirmed before seal, both jars. Never seal a based, unreduced, high-moisture jar — jar B is low-acid at pH 6.15 and its only hurdle is water activity.
- Jar B2 at pH 4.4 is below 4.6, so it carries an acid hurdle as well as the a_w one. The lift to 4.4 is within the permitted 4.2–4.4 band and needs no §21 low-acid process.
- Both jars slow-cool closed (a_w hurdle), then refrigerate. Neither is the high-moisture Stage C that the ice-bath-and-5-days rule was written for.
15. Safety — thermal-process compounds (§22)¶
Acrylamide levers this design pulls:
- pH. The larger jar by mass, jar B2, runs at 4.4 — substantially lower-acrylamide than a 6.15 jar, and chosen for flavour reasons that happen to coincide. The 6.15 exposure is confined to jar B, which is ~80 g of paste.
- Backbone. Jar B is carried by Medjool date, the lowest-asparagine reducing-sugar donor on the list. Asparagine is the precursor and fruit is not the nitrogen source anyway.
- Glycine is present (0.7 g) and competes for the dicarbonyl pool — a recognised acrylamide-reducing additive. Modest here, because the dose is deliberately small.
- No roast finish. The 140 °C ceiling is never approached.
Scale, for the record: at 500–1000 µg/kg in paste, ~200 g of combined paste into 4.5 L is roughly 8–17 µg per 375 mL bottle against a typical adult dietary intake of 30–130 µg/day. Low confidence, model-system extrapolation. Not alarming; not zero.
Furan. Sealed jars at retort temperature with sugar, amino acid and ascorbate is the textbook condition, and the 120 g of rosehip in jar B2 is ascorbate-rich. The hot vent is mandatory on both jars — 5–10 min open and stirring while hot, before blending or refrigerating. Confirmed in §6.
HMF. Not inverting, so there is no over-acidification route to it. If either paste comes out of the reduction much darker than expected, that is the signal to check — but with no phosphoric in the design there is nothing to have overshot.
Confidence¶
| Claim | Confidence |
|---|---|
| The two halves of the target need opposite pH, and free terpenes need to dodge active fermentation | High (§4 branch table; §9 terpene transformation is Med-high) |
| The anchored solve materially changes jar B2's base dose (2.43 g vs 3.99 g) | High on the arithmetic; Med on the absolute pH (§4: cold pH is not reaction pH, and a 65 °Brix paste is a repeatable index, not a thermodynamic pH) |
| Native pH estimates of 3.60 and 3.55 | Low — measure both before dosing |
| Added 2-PE 56–112 mg/L | Med-low — the 20–40 % Strecker molar yield is the soft term |
| β-damascenone reaches perceptible levels | High on precursor presence; Low on magnitude — release is acid- and time-driven and happens mostly in the beer |
| An amine-free jar B2 still delivers its four target reactions | Med — carotenoid cleavage and acid hydrolysis are High; the furanone share is where the loss is |
| Added FAN 30 mg N/L | Med, and probably an over-estimate — see the §9 caveat on raw Stage D protein |
| Colour +4 to +7 SRM | Med-low |
| Unsulphited apricot is carotenoid-depleted relative to the table's VH | Med — the browning that makes it unsulphited is oxidative |
| Quince availability on 2026-09-17 | Med-low — season is Oct–Nov; check before committing |
Tweak points¶
- Push the honey harder. Hold back 40 % of jar B to bottling instead of 20 %, so more phenylacetaldehyde arrives un-reduced (threshold 5–10 µg/L — it does not take much). Costs: ~14 g of fermentable outside the gravity gate instead of 7 g, so subtract that from the priming sugar. Do not raise L-Phe above 1.3 g; the model already touches the soapy line.
- Protect the florals; keep it pale. Delete jar B entirely. Dose the 1.3 g of L-Phe straight into the beer at bottling — the Ehrlich route runs without a jar and gives 26–52 mg/L of 2-PE. Loses the honey aldehyde and the nutty edge; cuts ~36 g of fermentable, most of the colour, and essentially all of the acrylamide exposure. Doubles the design's simplicity.
- Cut the sugar load. Muscat raisin 40 → 20 g and jar B date 70 → 45 g. Worst case falls from 31.2 to about 24 g/L, ΔABV from +2.02 to ~+1.5 %. Costs the muscat terpene pool, which is the thing muscat raisin is for — take it off the date first.
- Keep it paler still. Rosehip 120 → 60 g and jar B to 60 min. Drops maybe 2 SRM and the ascorbate browning with it; costs carotenoid, so the damascenone and ionone axis thins. Compensate by leaving the apricot at 50 g.
- Push the furanones. Put 0.6 g of glycine into jar B2 and accept added FAN at ~36 mg N/L, over the warn. Buys a real furanone and light-pyrazine gain in the jar; costs a livelier secondary, more acid, and a longer wait for a stable gravity. This is the design's most interesting open question and would make a good paired jar.
Log¶
2026-09-17 · Designed¶
Intaken from design-003-floral-honey-max.md, generated by fruit-maillard-prep v5. Designed only: nothing bought, cooked or dosed.
2026-09-22 · Renumbered¶
Design number changed from 003 to 004 so that it matches the page ID, WB-ING-2026-004. References to the starter design now read design-005 (was design-004). The source file names (design-003-…, design-003.json) are unchanged.