feat: add update_experiment_definition_metadata to Model entity - #354
Open
abhilash-kumar-nair wants to merge 2 commits into
Open
feat: add update_experiment_definition_metadata to Model entity#354abhilash-kumar-nair wants to merge 2 commits into
abhilash-kumar-nair wants to merge 2 commits into
Conversation
abhilash-kumar-nair
force-pushed
the
feat/experiment-definition-metadata-update
branch
from
September 8, 2026 06:57
4ec3e48 to
f5eaeb6
Compare
Binds PUT /api/projects/{id}/models/{path}/experiment-definitions/{id}/metadata,
so a definition can be renamed or flagged as the model's default without
fetching and re-sending the whole experiment.
The server renamed the metadata request field 'isDefault' to 'setAsDefault' on
the create and update endpoints, so send that instead. The old name is silently
ignored rather than rejected, which made the client store every definition as
non-default. This requires a server carrying that change.
For the same reason 'is_default' on update_experiment_definition now defaults to
None, meaning the stored flag is kept, instead of False, which reset it. Both
endpoints replace the whole metadata, so whatever the caller leaves out is
filled in from the stored definition.
abhilash-kumar-nair
force-pushed
the
feat/experiment-definition-metadata-update
branch
2 times, most recently
from
September 8, 2026 07:02
f5eaeb6 to
976b4a3
Compare
Debian 11 bullseye stopped receiving security updates, so the Release file for
bullseye-security is no longer regenerated and has now passed its Valid-Until:
Suite: oldoldstable-security
Date: Mon, 31 Aug 2026 21:13:04 UTC
Valid-Until: Mon, 07 Sep 2026 21:13:04 UTC
apt-get update fails on that expiry, which breaks the first apt layer of the
build image and so every make target that goes through build-docker. This is
permanent rather than a stale mirror, so it will not clear on a retry.
python:3.9.6 was the last 3.9 image built on bullseye. Move to
python:3.9.25-bookworm, keeping Python 3.9 as the version floor declared in
pyproject.toml and pinning the exact patch as the previous base did.
The newer libenchant in bookworm resolves en_US through aspell rather than
hunspell, which is stricter, so 'pylint --enable spelling' started reporting 37
words it had previously let through. It turns out the check was near enough a
no-op before: hunspell accepted anything, including the typo it now caught in
Experiment.failed ("in experiment thar have failed"). Fix that typo and add the
technical words it flags to the spelling wordlist.
Verified in the rebuilt image: 'make lint' exits 0 and the full suite is green
at 308 passed.
abhilash-kumar-nair
force-pushed
the
feat/experiment-definition-metadata-update
branch
from
September 8, 2026 08:20
66b409e to
1641c27
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Binds PUT /api/projects/{id}/models/{path}/experiment-definitions/{id}/metadata, so a definition can be renamed or flagged as the model's default without fetching and re-sending the whole experiment.
The server renamed the metadata request field 'isDefault' to 'setAsDefault' on the create and update endpoints, so send that instead. The old name is silently ignored rather than rejected, which made the client store every definition as non-default. This requires a server carrying that change.
For the same reason 'is_default' on update_experiment_definition now defaults to None, meaning the stored flag is kept, instead of False, which reset it. Both endpoints replace the whole metadata, so whatever the caller leaves out is filled in from the stored definition.
Both wire formats are pinned by tests, as a dropped metadata field is accepted by the server rather than reported.