Skip to content

feat: store execution profile in metadata - #2631

Open
diogodanielsoaresferreira wants to merge 7 commits into
TimefoldAI:mainfrom
diogodanielsoaresferreira:execution_profiles
Open

feat: store execution profile in metadata#2631
diogodanielsoaresferreira wants to merge 7 commits into
TimefoldAI:mainfrom
diogodanielsoaresferreira:execution_profiles

Conversation

@diogodanielsoaresferreira

@diogodanielsoaresferreira diogodanielsoaresferreira commented Sep 1, 2026

Copy link
Copy Markdown
Contributor
  • Store execution profile information in metadata
  • Add method to store execution profile artifacts in Worker

Related with https://github.com/TimefoldAI/timefold-platform/pull/5469

@Schema(nullable = true, description = "The name of the execution profile the run was submitted with.")
@JsonAlias({ "executionprofile" })
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String executionProfile;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe make this an enum with the known profiles?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not set this on metadata but do the same as we do for configuration profile. Allow to set it via optional query parameter and then store it as system tag on the metadata. That way we keep it consistent with config profile and don't change the api contract.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moreover, I also think we should support activating multiple profiles at the same time, think of debug profile that changes logging and troubleshooting profile that enables JFR and stores distance matrix

@diogodanielsoaresferreira diogodanielsoaresferreira Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Supporting multiple execution profiles at the same time makes sense, I updated it to use it. In this case, should we just drop the default execution profile, which basically it's empty?

@Schema(nullable = true, description = "The name of the execution profile the run was submitted with.")
@JsonAlias({ "executionprofile" })
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String executionProfile;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not set this on metadata but do the same as we do for configuration profile. Allow to set it via optional query parameter and then store it as system tag on the metadata. That way we keep it consistent with config profile and don't change the api contract.

@Schema(nullable = true, description = "The name of the execution profile the run was submitted with.")
@JsonAlias({ "executionprofile" })
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String executionProfile;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moreover, I also think we should support activating multiple profiles at the same time, think of debug profile that changes logging and troubleshooting profile that enables JFR and stores distance matrix

WAYPOINTS("waypoints"),
PATCH_REQUEST("patch-request");
PATCH_REQUEST("patch-request"),
EXECUTION_PROFILE_ARTIFACTS("execution-profile-artifacts");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe rename this to EXECUTION_ARTIFACTS only, no need to mention profile, especially if we allow to activate more profiles at the same time

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense, updated

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.

3 participants