Round 375: MLflow ext, W&B ext, Kubeflow ext, SageMaker/Ray ext (20 commands)

ober

b77711dadcfd0eebb0d0b87a09bb33dddb0583fa

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 29eca64..10924b9 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 375 — MLflow ext, W&B ext, Kubeflow ext, SageMaker/Ray ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| MLflow experiments | — | `mlflow-experiments` | :orange_circle: Scaffolded |
+| MLflow runs | — | `mlflow-runs` | :orange_circle: Scaffolded |
+| MLflow models | — | `mlflow-models` | :orange_circle: Scaffolded |
+| MLflow model registry | — | `mlflow-registry` | :orange_circle: Scaffolded |
+| W&B runs | — | `wandb-runs` | :orange_circle: Scaffolded |
+| W&B sweeps | — | `wandb-sweeps` | :orange_circle: Scaffolded |
+| W&B artifacts | — | `wandb-artifacts` | :orange_circle: Scaffolded |
+| W&B reports | — | `wandb-reports` | :orange_circle: Scaffolded |
+| Kubeflow pipelines | — | `kubeflow-pipelines` | :orange_circle: Scaffolded |
+| Kubeflow experiments | — | `kubeflow-experiments` | :orange_circle: Scaffolded |
+| Kubeflow notebooks | — | `kubeflow-notebooks` | :orange_circle: Scaffolded |
+| Kubeflow models | — | `kubeflow-models` | :orange_circle: Scaffolded |
+| SageMaker endpoints | — | `sagemaker-endpoints` | :orange_circle: Scaffolded |
+| SageMaker training | — | `sagemaker-training` | :orange_circle: Scaffolded |
+| SageMaker models | — | `sagemaker-models` | :orange_circle: Scaffolded |
+| SageMaker pipelines | — | `sagemaker-pipelines` | :orange_circle: Scaffolded |
+| Ray jobs | — | `ray-jobs` | :orange_circle: Scaffolded |
+| Ray clusters | — | `ray-clusters` | :orange_circle: Scaffolded |
+| Ray Serve deployments | — | `ray-serve` | :orange_circle: Scaffolded |
+| Ray Tune trials | — | `ray-tune` | :orange_circle: Scaffolded |
+
 ### Round 374 — Airflow ext, Spark ext, Flink ext, Dagster/Prefect ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 349a933..420f51e 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -26669,3 +26669,44 @@
 (def (cmd-prefect-agents app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Prefect: listing agents")))
+
+;; Round 375 batch 2 — Kubeflow ext, SageMaker/Ray ext
+(def (cmd-kubeflow-notebooks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Kubeflow: listing notebooks")))
+
+(def (cmd-kubeflow-models app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Kubeflow: listing served models")))
+
+(def (cmd-sagemaker-endpoints app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SageMaker: listing endpoints")))
+
+(def (cmd-sagemaker-training app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SageMaker: listing training jobs")))
+
+(def (cmd-sagemaker-models app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SageMaker: listing models")))
+
+(def (cmd-sagemaker-pipelines app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SageMaker: listing pipelines")))
+
+(def (cmd-ray-jobs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ray: listing jobs")))
+
+(def (cmd-ray-clusters app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ray: listing clusters")))
+
+(def (cmd-ray-serve app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ray Serve: listing deployments")))
+
+(def (cmd-ray-tune app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Ray Tune: listing trials")))
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index c63d7e3..52965f4 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -27448,3 +27448,44 @@
 (def (cmd-flink-savepoints app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Flink: listing savepoints")))
+
+;; Round 375 batch 1 — MLflow ext, W&B ext
+(def (cmd-mlflow-experiments app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MLflow: listing experiments")))
+
+(def (cmd-mlflow-runs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MLflow: listing runs")))
+
+(def (cmd-mlflow-models app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MLflow: listing registered models")))
+
+(def (cmd-mlflow-registry app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "MLflow: querying model registry")))
+
+(def (cmd-wandb-runs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "W&B: listing runs")))
+
+(def (cmd-wandb-sweeps app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "W&B: listing sweeps")))
+
+(def (cmd-wandb-artifacts app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "W&B: listing artifacts")))
+
+(def (cmd-wandb-reports app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "W&B: listing reports")))
+
+(def (cmd-kubeflow-pipelines app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Kubeflow: listing pipelines")))
+
+(def (cmd-kubeflow-experiments app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Kubeflow: listing experiments")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index a5a6118..3406fbb 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -9332,4 +9332,26 @@
   (register-command! 'prefect-deployments cmd-prefect-deployments)
   (register-command! 'prefect-runs cmd-prefect-runs)
   (register-command! 'prefect-agents cmd-prefect-agents)
+
+  ;; Round 375 — MLflow ext, W&B ext, Kubeflow ext, SageMaker/Ray ext
+  (register-command! 'mlflow-experiments cmd-mlflow-experiments)
+  (register-command! 'mlflow-runs cmd-mlflow-runs)
+  (register-command! 'mlflow-models cmd-mlflow-models)
+  (register-command! 'mlflow-registry cmd-mlflow-registry)
+  (register-command! 'wandb-runs cmd-wandb-runs)
+  (register-command! 'wandb-sweeps cmd-wandb-sweeps)
+  (register-command! 'wandb-artifacts cmd-wandb-artifacts)
+  (register-command! 'wandb-reports cmd-wandb-reports)
+  (register-command! 'kubeflow-pipelines cmd-kubeflow-pipelines)
+  (register-command! 'kubeflow-experiments cmd-kubeflow-experiments)
+  (register-command! 'kubeflow-notebooks cmd-kubeflow-notebooks)
+  (register-command! 'kubeflow-models cmd-kubeflow-models)
+  (register-command! 'sagemaker-endpoints cmd-sagemaker-endpoints)
+  (register-command! 'sagemaker-training cmd-sagemaker-training)
+  (register-command! 'sagemaker-models cmd-sagemaker-models)
+  (register-command! 'sagemaker-pipelines cmd-sagemaker-pipelines)
+  (register-command! 'ray-jobs cmd-ray-jobs)
+  (register-command! 'ray-clusters cmd-ray-clusters)
+  (register-command! 'ray-serve cmd-ray-serve)
+  (register-command! 'ray-tune cmd-ray-tune)
 )