Skip to content

chore: trim unused OpenPOM aroma scaffold; route demo through substitute() - #47

Merged
rvnminers-A-and-N merged 1 commit into
mainfrom
chore/trim-aroma-scaffold
Jun 27, 2026
Merged

rvnminers-A-and-N merged 1 commit into
mainfrom
chore/trim-aroma-scaffold

Conversation

@rvnminers-A-and-N

Copy link
Copy Markdown
Collaborator

Why

Aroma is deferred β€” no commercially-clean public odor data is good enough to train a useful model (see docs/AROMA.md). The OpenPOM scaffold (train_odor.py + aroma-sidecar/) never ran (it imported uninstalled DeepChem/OpenPOM) and overstated what the repo does. This makes the repo honest and lean for the demo/pitch β€” the capability story now rests entirely on code that actually executes (train_aroma.py, predict.py, AROMA.md).

Changes

  • Delete training/train_odor.py (never executed) and aroma-sidecar/ (empty placeholder).
  • predict.py β€” predict_aroma() is now a lean honest placeholder β†’ docs/AROMA.md; removed the OpenPOM/DeepChem load machinery.
  • app.py β€” /api/neighbors delegates to predict.substitute() (one source of truth); duplicate fingerprint index removed.
  • SETUP.md β€” rewritten around the actual light stack (rdkit/sklearn/skl2onnx); dropped the version-fussy GNN install + restricted Leffingwell download; corrected data sources (SweetenersDB MIT repo; cosylab AGPL / FlavorDB NC off by default).
  • Docs scrub β€” README, ARCHITECTURE, ROADMAP, SOURCES, infra/README, train_taste.py no longer reference the deleted files. The OpenPOM decision stays documented in AROMA.md (MIT, re-addable when licensed/customer data exists).

Verification

  • ruff clean; predict.py + app.py smoke-tested (substitution works, predict_aroma() returns the honest placeholder, /api/neighbors β†’ P.substitute).
  • No remaining references to train_odor / aroma-sidecar anywhere in the repo.

…ute()

Aroma is deferred (no commercially-clean public data is good enough β€” see
docs/AROMA.md), so the never-run OpenPOM scaffold was dead weight that overstated
what the repo actually does. Remove it and make the repo honest about what runs.

- Delete training/train_odor.py (never executed; imported uninstalled DeepChem/
  OpenPOM) and aroma-sidecar/ (empty placeholder for a service that doesn't exist).
- predict.py: predict_aroma() becomes a lean honest placeholder pointing to
  docs/AROMA.md; drop the OpenPOM/DeepChem load machinery.
- app.py: /api/neighbors now delegates to predict.substitute() β€” one source of
  truth for substitution; remove the duplicate fingerprint index.
- SETUP.md: rewrite around the light taste/demo stack (rdkit/sklearn/skl2onnx);
  the heavy GNN stack + restricted Leffingwell download are gone, data sources
  corrected (SweetenersDB MIT repo; cosylab/FlavorDB off by default).
- Scrub dangling references across README, ARCHITECTURE, ROADMAP, SOURCES,
  infra/README, train_taste.py. The OpenPOM *decision* lives in AROMA.md as prose
  (MIT, re-addable when licensed/customer data exists).
@rvnminers-A-and-N
rvnminers-A-and-N merged commit d0bdd2f into main Jun 27, 2026
2 checks passed
@rvnminers-A-and-N
rvnminers-A-and-N deleted the chore/trim-aroma-scaffold branch June 27, 2026 17:22
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.

1 participant