Skip to content

feat: wire GenAI feature-engineering into AutoML.fit#10

Merged
ancongui merged 1 commit into
mainfrom
feat/wire-genai-into-automl
Jun 25, 2026
Merged

feat: wire GenAI feature-engineering into AutoML.fit#10
ancongui merged 1 commit into
mainfrom
feat/wire-genai-into-automl

Conversation

@ancongui

Copy link
Copy Markdown
Contributor

Increment 2 (integrity gaps). Closes the functional gap where genai.enabled=true did not change AutoML β€” GenAIFeatureEngineer was a registered bean the facade never consumed.

Change

  • AutoML (and AutoML.from_context) now resolves a FeatureEngineerPort. When present, fit() runs propose β†’ execute β†’ measure β†’ gate before model selection, trains/refits on the engineered features, and threads the accepted/rejected audit into result.extras["feature_engineering"].
  • Classical-first stays the default: with GenAI off (no engineer), AutoML behaviour is unchanged.

Tests (real data, LLM-free)

  • breast_cancer + a StaticFeatureProposer with a permissive gate: the engineered column appears in the winner's feature_names and in the audit trail.
  • Baseline: without an engineer, no feature_engineering extra and the engineered column is absent.

Local gates green: ruff check, ruff format, pyright (0), affected suite (23 passed). mkdocs build --strict clean. Docs note added to genai-features.md.

Close the integrity gap where genai.enabled did not change AutoML: the
FeatureEngineerPort was a registered bean the facade never consumed. Now
AutoML (and AutoML.from_context) resolves a FeatureEngineerPort and, when
present, runs propose->execute->measure->gate before model selection, trains
on the engineered features, and threads the accepted/rejected audit into
result.extras['feature_engineering']. Classical-first stays the default
(no engineer -> AutoML unchanged). LLM-free TDD on real breast_cancer data;
docs note added.
@ancongui ancongui merged commit 77fe678 into main Jun 25, 2026
4 checks passed
@ancongui ancongui deleted the feat/wire-genai-into-automl branch June 25, 2026 18:15
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