Skip to content

Method to consolidate Experiment.status from generator runs#4900

Open
CristianLara wants to merge 3 commits intofacebook:mainfrom
CristianLara:export-D92985915
Open

Method to consolidate Experiment.status from generator runs#4900
CristianLara wants to merge 3 commits intofacebook:mainfrom
CristianLara:export-D92985915

Conversation

@CristianLara
Copy link
Contributor

Summary:
Add a new static method experiment_status_from_generator_runs() to GenerationStrategy that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

  • Returns None with a warning if there are conflicting statuses across runs
  • Returns None with an info log if no statuses are found
  • Returns the single agreed-upon status otherwise

Differential Revision: D92985915

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

meta-codesync bot commented Feb 11, 2026

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

CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Differential Revision: D92985915
@CristianLara CristianLara force-pushed the export-D92985915 branch 2 times, most recently from 1c0766d to 89fba1c Compare February 11, 2026 22:56
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Differential Revision: D92985915
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Differential Revision: D92985915
@codecov-commenter
Copy link

codecov-commenter commented Feb 11, 2026

Codecov Report

❌ Patch coverage is 98.85057% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 96.78%. Comparing base (44c7c38) to head (c502f09).

Files with missing lines Patch % Lines
ax/core/experiment.py 91.66% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4900   +/-   ##
=======================================
  Coverage   96.78%   96.78%           
=======================================
  Files         593      593           
  Lines       62303    62390   +87     
=======================================
+ Hits        60297    60383   +86     
- Misses       2006     2007    +1     

☔ 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.

Summary:

## Summary

Add `suggested_experiment_status` column to `GeneratorRun`. Some benefits:

1. We don't need to modify the GS.gen() or Orchestrator methods to pass along a suggested status via tuple, instead it's baked into the GeneratorRuns that are already being passed along
2. The suggested status are more clearly stored in the database for historical tracking

Prior to this approach I tried changing `GS.gen()` to return a tuple including the `suggested_experiment_status` but that over-complicated callsites.

## AOSC DIFF

D92476170

Reviewed By: lena-kashtelyan

Differential Revision: D88091530
…rRun (facebook#4885)

Summary:

In the previous diff (D88091530) we added `suggested_experiment_status` the column to GeneratorRun, now we populate it during creation from GenerationNode.

Reviewed By: lena-kashtelyan

Differential Revision: D92555215
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Reviewed By: lena-kashtelyan

Differential Revision: D92985915
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 13, 2026
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Reviewed By: lena-kashtelyan

Differential Revision: D92985915
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 13, 2026
…#4900)

Summary:

Add a new static method `experiment_status_from_generator_runs()` to `GenerationStrategy` that extracts and validates a suggested ExperimentStatus from a list of GeneratorRun objects. It collects all unique suggested_experiment_status values from the runs and:

- Returns None with a warning if there are conflicting statuses across runs
- Returns None with an info log if no statuses are found
- Returns the single agreed-upon status otherwise

Reviewed By: lena-kashtelyan

Differential Revision: D92985915
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