Repository navigation
Conversation
Contributor
Author
Change map
|
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 20, 2026 22:42 — with
GitHub Actions
Inactive
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 20, 2026 23:49
e73a404 to
704dcde
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 20, 2026 23:49 — with
GitHub Actions
Inactive
2 tasks done
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 00:20
704dcde to
f57ba5f
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 00:20 — with
GitHub Actions
Inactive
3 tasks done
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 07:18
f57ba5f to
2c47c90
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 07:18 — with
GitHub Actions
Inactive
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 07:57
2c47c90 to
ad1936e
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 07:57 — with
GitHub Actions
Inactive
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 08:47
ad1936e to
2b2748e
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 08:47 — with
GitHub Actions
Inactive
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 09:01
2b2748e to
0bb99c3
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 09:02 — with
GitHub Actions
Inactive
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 16:24
0bb99c3 to
a2defce
Compare
Vedaant-J
temporarily deployed
to
gha-kumo-workflow-tests
October 21, 2026 16:24 — with
GitHub Actions
Inactive
Vedaant-J
changed the base branch from
vedaant/mlops-bundle-provenance
to
vedaant/mlops-lineage-columns
October 21, 2026 16:25
Vedaant-J
force-pushed
the
vedaant/mlops-score-sketch
branch
from
October 21, 2026 16:37
a2defce to
fe540e0
Compare
Vedaant-J
had a problem deploying
to
gha-kumo-workflow-tests
October 21, 2026 16:37 — with
GitHub Actions
Error
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lass Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sentence Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ker helpers private register reads fit_run_id and computes its metrics once; log_summaries, update_card, fold and logged_model_name are internal, and the dead run_id parameter, Snowflake guard and card re-filter go. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
_column's edges parameter no longer shadows score_drift.axis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The disabled-options test no longer compares two identical calls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> # Conflicts: # packages/kumo-engine/kumo/engine/integrations/mlflow.py # packages/kumo-engine/kumo/engine/integrations/snowflake.py # packages/kumo-engine/kumo/engine/trainer/_run_spec.py # packages/kumo-engine/kumo/engine/trainer/trainer.py
…hanges Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
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.
Stack: #53 → #112 → #50 → #60 → #64; #114 on #112; #115 on #64. Merge bottom to top.
Summary
Teams that score on a schedule cannot tell which model and data produced a table of scores, whether the scores moved, or how good they were once outcomes arrived. This PR records and monitors prediction runs:
Trainer.predictwrites aPredictionManifest(_provenance.json): model, snapshot and source-table versions, scoring options, destinations, skipped entities, and exact counts of its scores on fixed bins. With MLOps on, the run is also stored under<root>/predictions/<id>/and tracked.Trainer.score_driftgives PSI, KS and Wasserstein against the holdout and a previous run, plus input-column drift;Trainer.evaluategives realized metrics once outcomes are in a newer snapshot, with a DiskGraph join that keeps memory bounded. For link prediction, PSI against the holdout is a plain number with no shift verdict, since the holdout covers only entities with a future target; every other task, multilabel included, gets one.SingleRunHooks), with a Markdown run card and build time and size asprep.*tags. On MLflow, a monitoring call folds into its prediction run, and the fit'stest/*holdout metrics are also logged on its logged model without a dataset link, so the Models tab and Compare versions show onetest/<metric>column per version; the training table remains the run's input dataset. Snowflake runs carry the card and akumo.modelparam, and tracking stops with a clear error at the experiment's 500-run limit.examples/mlopsships fit and score job templates for Databricks Jobs, SageMaker Pipelines and Snowflake Tasks;docs/mlops.mdhas recipes that feed exported evaluations to Databricks and Snowflake warehouse monitors.Usage
Back-compat
WriteMode.APPENDaddsPREDICTION_IDandBUNDLE_ID.APPEND;OVERWRITEempties it first.Nonewith a reason.on_error="raise"after outputs are written; predictions unchanged.Trackingwith fit hooks onlydiskgraph.compute_col_stats_for_parquetcallersTesting
test_score_counts.py,test_evaluation_counts.py,test_prediction_counts.py,test_score_drift.pycheck every count and drift statistic against a brute-force recount.test_monitoring.py(25 tests: maturity, anchors, exports, metric definitions, exact drift),test_prediction_manifest.py(12),test_tracking_contract.py,test_mlflow_tracking.py,test_snowflake_tracking.py,test_card.py,test_prediction_table_output.py.test_job_templates.pyrunsfit_job.pythenscore_job.pyend to end on local Parquet.test_col_stats_options.pypins the default statistics output by SHA-256; Rust tests cover the evaluation join and value bins.Change map: see the
kumo-pr-change-mapcomment.🤖 Generated with Claude Code