code wiki / (root) / nx_ferment_flavor.nx

nx_ferment_flavor.nx

buildroot/runtime/nx_ferment_flavor.nx

3308 B73 linesdepth 4pulls 6 transitivereach 1 importersview sourcekind librarytopic ferment
docsdependenciesstructsconstsfunctions

about

nx_ferment_flavor.nx -- CAPSTONE: the CONVERGENCE of the fermentation and taste-science ladders. A fermentation is a flavor-generating process; this organ predicts the SENSORY OUTCOME from first principles and inverts it to DESIGN a ferment for a target taste. The chain, composing four organs across both ladders: R3 nx_ferment_kinetics : (temp, time) -> pH(t) [acid accumulation] T0 nx_taste_transduce : acid -> SOUR receptor response (saturating) + a proteolysis model : time -> umami (peptide/glutamate release) T2 nx_flavor_integrate : assemble the evolving multimodal flavor vector As a batch ferments: pH falls -> sour rises (and saturates, via the Hill receptor); proteolysis builds umami; residual sweetness fades; aroma and body develop. A YOUNG ferment is mild and sweet; an AGED one is sour, savoury, aromatic. MEASURED EXCEED: nothing in the baseline -- and no cookbook -- predicts the sensory trajectory of a ferment from its chemistry, nor inverts it to hit a target flavor. "Ferment 8 hours" becomes "at hour 8: pH 4.5, sour-intensity X, umami Y", and "make it this tangy" becomes a time. genealogy_id: nishi_ferment_kinetics_r3 + nishi_taste_transduce_t0 + nishi_flavor_integrate_t2

dependencies 4 imports · 1 importers

nx_syscalls.nx nx_ferment_kinetics.nx nx_taste_transduce.nx nx_flavor_integrate.nx nx_ferment_flavor.nx nx_ferment_flavor_test.nx

imports: nx_syscalls.nxnx_ferment_kinetics.nxnx_taste_transduce.nxnx_flavor_integrate.nx

imported by: nx_ferment_flavor_test.nx

structs

none

consts

30const NX_FF_PH0_MILLI: i64 = 6500 // milk / substrate starting pH

functions

34func nx_ferment_sour_at(t_c: i64, hour: i64) -> i64
44func nx_ferment_umami_at(hour: i64, proteolysis_rate_milli: i64) -> i64
51func nx_ferment_flavor_vector(t_c: i64, hour: i64, proteolysis_rate_milli: i64) -> *NxFlavorVector
66func nx_ferment_time_for_sour(t_c: i64, target_sour: i64, max_hours: i64) -> i64
called by 1: main calls 1: nx_ferment_sour_at