Skip to content

Conversation

@mpolson64
Copy link
Contributor

Summary:
These changes will enable us to deprecate multitypeexperment, simplifying the Ax data model ahead of storage changes.

  1. In Experiment make the default_trial_type a new Key.DEFAULT_TRIAL_TYPE value instead of None
  2. Move over logic for bookkeeping metric -> trial_type and runner -> trial_type mappings
  3. Treat LONG_ and SHORT_RUN trial types as special cases which map to DEFAULT_TRIAL_TYPE (i.e. if a Trial has trial_type=LONG_RUN then use whichever metrics and runners are mapped to DEFAULT_TRIAL_TYPE
  4. Fix tests which expect the default_trial_type of an Experiment to be None

This diff allows us to remove all isinstance(foo, MultiTypeExperiment) checks in Ax in the next diff, then to deprecate MultiTypeExperiment entirely.

Differential Revision: D91618283

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Feb 9, 2026
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 84.11215% with 17 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.73%. Comparing base (8812057) to head (73b1886).

Files with missing lines Patch % Lines
ax/core/experiment.py 74.62% 17 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4873      +/-   ##
==========================================
- Coverage   96.76%   96.73%   -0.03%     
==========================================
  Files         591      591              
  Lines       61879    61949      +70     
==========================================
+ Hits        59875    59927      +52     
- Misses       2004     2022      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codecov-commenter
Copy link

codecov-commenter commented Feb 9, 2026

Codecov Report

❌ Patch coverage is 84.25926% with 17 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.73%. Comparing base (8a706b8) to head (db3a3f2).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
ax/core/experiment.py 74.62% 17 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4873      +/-   ##
==========================================
- Coverage   96.76%   96.73%   -0.03%     
==========================================
  Files         591      591              
  Lines       61955    62025      +70     
==========================================
+ Hits        59948    60001      +53     
- Misses       2007     2024      +17     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@meta-codesync
Copy link

meta-codesync bot commented Feb 10, 2026

@mpolson64 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D91618283.

mpolson64 added a commit to mpolson64/Ax that referenced this pull request Feb 10, 2026
Summary:

These changes will enable us to deprecate multitypeexperment, simplifying the Ax data model ahead of storage changes.

1. In Experiment make the default_trial_type a new Key.DEFAULT_TRIAL_TYPE value instead of None
2. Move over logic for bookkeeping metric -> trial_type and runner -> trial_type mappings
3. Treat LONG_ and SHORT_RUN trial types as special cases which map to DEFAULT_TRIAL_TYPE (i.e. if a Trial has trial_type=LONG_RUN then use whichever metrics and runners are mapped to DEFAULT_TRIAL_TYPE
4. Fix tests which expect the default_trial_type of an Experiment to be None

This diff allows us to remove all isinstance(foo, MultiTypeExperiment) checks in Ax in the next diff, then to deprecate MultiTypeExperiment entirely.

Differential Revision: D91618283
mpolson64 added a commit to mpolson64/Ax that referenced this pull request Feb 10, 2026
Summary:

These changes will enable us to deprecate multitypeexperment, simplifying the Ax data model ahead of storage changes.

1. In Experiment make the default_trial_type a new Key.DEFAULT_TRIAL_TYPE value instead of None
2. Move over logic for bookkeeping metric -> trial_type and runner -> trial_type mappings
3. Treat LONG_ and SHORT_RUN trial types as special cases which map to DEFAULT_TRIAL_TYPE (i.e. if a Trial has trial_type=LONG_RUN then use whichever metrics and runners are mapped to DEFAULT_TRIAL_TYPE
4. Fix tests which expect the default_trial_type of an Experiment to be None

This diff allows us to remove all isinstance(foo, MultiTypeExperiment) checks in Ax in the next diff, then to deprecate MultiTypeExperiment entirely.

Differential Revision: D91618283
Summary:

These changes will enable us to deprecate multitypeexperment, simplifying the Ax data model ahead of storage changes.

1. In Experiment make the default_trial_type a new Key.DEFAULT_TRIAL_TYPE value instead of None
2. Move over logic for bookkeeping metric -> trial_type and runner -> trial_type mappings
3. Treat LONG_ and SHORT_RUN trial types as special cases which map to DEFAULT_TRIAL_TYPE (i.e. if a Trial has trial_type=LONG_RUN then use whichever metrics and runners are mapped to DEFAULT_TRIAL_TYPE
4. Fix tests which expect the default_trial_type of an Experiment to be None

This diff allows us to remove all isinstance(foo, MultiTypeExperiment) checks in Ax in the next diff, then to deprecate MultiTypeExperiment entirely.

Differential Revision: D91618283
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants