Skip to content

Introduce ExperimentDesign and AutomationSettings (#4732)#4732

Open
lena-kashtelyan wants to merge 1 commit intofacebook:mainfrom
lena-kashtelyan:export-D89770462
Open

Introduce ExperimentDesign and AutomationSettings (#4732)#4732
lena-kashtelyan wants to merge 1 commit intofacebook:mainfrom
lena-kashtelyan:export-D89770462

Conversation

@lena-kashtelyan
Copy link
Copy Markdown
Contributor

@lena-kashtelyan lena-kashtelyan commented Dec 30, 2025

Summary:

Adds an ExperimentDesign dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is concurrency_limit, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into experiment.properties via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

Differential Revision: D89770462

@meta-cla meta-cla bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Dec 30, 2025
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Dec 30, 2025

@lena-kashtelyan has exported this pull request. If you are a Meta employee, you can view the originating Diff in D89770462.

lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Dec 31, 2025
…tDesign.concurrency_limit` (facebook#4732)

Summary:
Pull Request resolved: facebook#4732

As titled, adding a simple `ExperimentDesign` object. Putting it into properties for serialization for now, so as to not do duplicate work ahead of the storage refactor implementation (and also in case we change things while working on this stack).

Differential Revision:
D89770462

Privacy Context Container: L1307644
lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Dec 31, 2025
…tDesign.concurrency_limit` (facebook#4732)

Summary:

As titled, adding a simple `ExperimentDesign` object. Putting it into properties for serialization for now, so as to not do duplicate work ahead of the storage refactor implementation (and also in case we change things while working on this stack).

Differential Revision:
D89770462

Privacy Context Container: L1307644
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Dec 31, 2025

Codecov Report

❌ Patch coverage is 98.19820% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.39%. Comparing base (53be145) to head (d085bba).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
ax/core/experiment.py 93.10% 2 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main    #4732    +/-   ##
========================================
  Coverage   96.39%   96.39%            
========================================
  Files         613      615     +2     
  Lines       68295    68406   +111     
========================================
+ Hits        65830    65939   +109     
- Misses       2465     2467     +2     

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

lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Jan 1, 2026
…tDesign.concurrency_limit` (facebook#4732)

Summary:
Pull Request resolved: facebook#4732

As titled, adding a simple `ExperimentDesign` object. Putting it into properties for serialization for now, so as to not do duplicate work ahead of the storage refactor implementation (and also in case we change things while working on this stack).

Differential Revision:
D89770462

Privacy Context Container: L1307644
@meta-codesync meta-codesync bot changed the title Deal with total_concurrency and n weirdness: introduce ExperimentDesign.concurrency_limit Introduce ExperimentDesign.concurrency_limit on Experiment Mar 31, 2026
@meta-codesync meta-codesync bot changed the title Introduce ExperimentDesign.concurrency_limit on Experiment Introduce ExperimentDesign and AutomationSettings (#4732) Mar 31, 2026
lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Mar 31, 2026
Summary:

Adds an `ExperimentDesign` dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is `concurrency_limit`, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into `experiment.properties` via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

Differential Revision: D89770462
lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Mar 31, 2026
Summary:
Pull Request resolved: facebook#4732

Adds an `ExperimentDesign` dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is `concurrency_limit`, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into `experiment.properties` via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

Differential Revision: D89770462
@lena-kashtelyan lena-kashtelyan force-pushed the export-D89770462 branch 2 times, most recently from 6aa7e22 to 5a0be46 Compare April 3, 2026 19:23
lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Apr 3, 2026
Summary:

Adds an `ExperimentDesign` dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is `concurrency_limit`, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into `experiment.properties` via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

Differential Revision: D89770462
lena-kashtelyan pushed a commit to lena-kashtelyan/Ax that referenced this pull request Apr 3, 2026
Summary:
Pull Request resolved: facebook#4732

Adds an `ExperimentDesign` dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is `concurrency_limit`, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into `experiment.properties` via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

Differential Revision: D89770462
Summary:

Adds an `ExperimentDesign` dataclass to hold experiment-level execution settings that are agnostic to the evaluation backend. The first attribute is `concurrency_limit`, which specifies the maximum number of arms to run concurrently across one or multiple trials.

The design is serialized into `experiment.properties` via the existing storage path (JSON and SQA) as a stopgap until first-class storage support is added.

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