Skip to content

feat: collapse a mixture into a single equivalent molecule - #231

Merged
rvnminers-A-and-N merged 1 commit into
mainfrom
mixture-to-molecule-228
Jul 26, 2026
Merged

rvnminers-A-and-N merged 1 commit into
mainfrom
mixture-to-molecule-228

Conversation

@rvnminers-A-and-N

Copy link
Copy Markdown
Collaborator

Closes #228. The inverse of a recipe: dose-weighted mean of a blend's taste+aroma profiles → the single molecule whose own profile is closest. A 3:1:1 vanilla-dominant blend collapses to ethyl vanillin (0.86). Wired across predict/API/Formulation Studio/MCP/skill. 24 unit tests pass.

The inverse of a recipe: average a blend's component taste+aroma PROFILE vectors, dose-weighted
by each ingredient's ppm, into one target profile, then find the single molecules whose own
profile is closest — one molecule that tastes and smells like the whole blend. Reuses the
profile index from #213.

Validated: a 3:1:1 vanilla-dominant blend (vanillin weighted 3x by dose, plus 1 part each
cinnamaldehyde + citral) collapses to ethyl vanillin (0.86 profile match), then anisaldehyde /
coniferaldehyde (spicy+vanilla) — chemically sensible: the heavy vanillin dose pulls the blend
profile toward vanilla, so the closest single molecule is the stronger vanilla.

Wired across surfaces: predict.mixture_to_molecule, POST /api/mixture_to_molecule, the
Formulation Studio ('equivalent single molecule' section under the analysis, click-to-open),
MCP tool mixture_to_molecule, skill 'collapse' command. 24 unit tests pass (2 new). Closes #228.

Signed-off-by: Austin L. <86896075+rvnminers-A-and-N@users.noreply.github.com>
@rvnminers-A-and-N rvnminers-A-and-N self-assigned this Jul 26, 2026
@rvnminers-A-and-N
rvnminers-A-and-N merged commit c878769 into main Jul 26, 2026
4 checks passed
@rvnminers-A-and-N
rvnminers-A-and-N deleted the mixture-to-molecule-228 branch July 26, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: mixture -> single equivalent molecule (combine profiles, find the closest monomolecule)

1 participant