Skip to content

Ml ops#39

Open
samingbar wants to merge 5 commits intomainfrom
MLOps
Open

Ml ops#39
samingbar wants to merge 5 commits intomainfrom
MLOps

Conversation

@samingbar
Copy link
Copy Markdown

What was changed

I added two ML Ops examples. One is simpler, and demonstrates how to create a durable training job. The other demonstrates a more realistic and complex hyperparamater optimization algorithm, showing how Temporal can be used to save GPU costs, build reproducible research, and reduce the manual overhead of babysitting runs.

Why?

The world simply needs to know about this. Temproal for ML Ops cannot remain a secret any longer. Today is the day everything starts to change

Checklist

??

  1. Closes

  2. How was this tested:
    What is our typical testing bar? Hyperparameter optimization has been tested over dozens of runs using six different small language models and three different sample datasets. The durable training package has undergone less extensive testing, but is a component of the HPO system.

  3. Any docs updates needed?
    I don't think so, but guides are included in the docs folder with both samples

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jan 23, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
0 out of 2 committers have signed the CLA.

❌ “Sam
❌ rross


“Sam seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Copy Markdown
Collaborator

@cdavisafc cdavisafc left a comment

Choose a reason for hiding this comment

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

Hi @samingbar. Thanks for this PR!

A few requests to start please:

  • this PR inadvertently includes the Google Gemini recipe that @rross already has a PR on, can you please remove that from this PR?
  • This PR also adds some file into the agents directory, in particular, a resources subdirectory. I don't think that belongs there?
  • And you you please rebase on main? We merged a bunch of PRs early this week and would love not to have to do the rebase as a part of the review/merge.

Those cleanups will make it easier to review and we'll then continue it. Thanks.

@samingbar
Copy link
Copy Markdown
Author

samingbar commented Jan 23, 2026 via email

# Read payloads as JSON
assert req.content_type == "application/json"
data = await req.read()
payloads = json_format.Parse(data.decode("utf-8"), Payloads())
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

High severity and reachable issue identified in your code:
Line 106 has a vulnerable usage of protobuf, introducing a high severity vulnerability.

ℹ️ Why this is reachable

A reachable issue is a real security risk because your project actually executes the vulnerable code. This issue is reachable because your code uses a certain version of protobuf.
Affected versions of protobuf are vulnerable to Uncontrolled Recursion. A denial-of-service vulnerability in the Python protobuf library's JSON parser allows deeply nested google.protobuf.Any messages to bypass the configured max_recursion_depth in json_format.ParseDict. Because the internal Any-handling logic does not update the recursion counter, an attacker supplying a JSON payload with repeatedly nested Any messages can exhaust Python's recursion stack (raising RecursionError) instead of a controlled ParseError, potentially crashing or disrupting services that parse untrusted JSON.

References: GHSA, CVE

To resolve this comment:
Upgrade this dependency to at least version 6.33.5 at foundations/claim_check_pattern_python/uv.lock.

💬 Ignore this finding

To ignore this, reply with:

  • /fp <comment> for false positive
  • /ar <comment> for acceptable risk
  • /other <comment> for all other reasons

You can view more details on this finding in the Semgrep AppSec Platform here.

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.

4 participants