Skip to content

Conversation

@CristianLara
Copy link
Contributor

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

Differential Revision: D88091530

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

meta-codesync bot commented Feb 10, 2026

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

@codecov-commenter
Copy link

codecov-commenter commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.76%. Comparing base (36f83b7) to head (5c31fc7).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4886   +/-   ##
=======================================
  Coverage   96.76%   96.76%           
=======================================
  Files         593      593           
  Lines       62037    62085   +48     
=======================================
+ Hits        60031    60079   +48     
  Misses       2006     2006           

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

CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
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

Differential Revision: D88091530
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
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

Differential Revision: D88091530
Summary:

This change introduces an optional `suggested_experiment_state` field to
the `GenerationNode` class that allows tracking what experiment status is suggested
for a given generation node. This is part of a larger effort to add status tracking
to experiments.

The field is:
- Optional (defaults to None for backward compatibility)
- Advisory only (does not automatically update experiment.status)
- Configurable per GenerationNode instance
- Serialized automatically via SerializationMixin
- Displayed in __repr__ when set

This is Phase 1 where we are just adding the column but not yet doing anything with it. In the next diffs in this stack we will propagate this through the orchestrator and eventually set this status on the experiment.

Reviewed By: mgarrard

Differential Revision: D88089767
Summary:

Set the `suggested_experiment_status` field on generation nodes throughout the codebase. This will be used in the next diffs in stack to allow the orchestrator to automatically update experiment status based on the optimization phase.

**Why this change:**
This builds on the infrastructure added in previous diffs which added the status field to Experiment, and GenerationNode. Now we're actually setting the field on nodes so that experiments will automatically transition through their lifecycle based on what GS node they're in.

Reviewed By: lena-kashtelyan, mgarrard

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

Differential Revision: D88091530
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
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

Differential Revision: D88091530
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
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

Differential Revision: D88091530
CristianLara added a commit to CristianLara/Ax that referenced this pull request Feb 11, 2026
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

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