diff --git a/docs/data/models.json b/docs/data/models.json index 6fe8977..4741dd7 100644 --- a/docs/data/models.json +++ b/docs/data/models.json @@ -20,6 +20,7 @@ "tirex2": { "name": "TiRex-2", "class": "tsfm" }, "patchtst-fm-r1": { "name": "PatchTST-FM r1", "class": "tsfm" }, "patchtst-fm-r2": { "name": "PatchTST-FM r2", "class": "tsfm" }, + "timestral-209m": { "name": "Timestral 209M", "class": "tsfm" }, "cascade-toto2-4m": { "name": "Cascade Toto2-4M", "class": "tsfm" }, "timesfm3": { "name": "TimesFM-3", "class": "reference" }, "flowstate-r1": { "name": "FlowState-R1", "class": "tsfm" }, diff --git a/src/paracast_client.py b/src/paracast_client.py index b27c27e..fe4fda2 100644 --- a/src/paracast_client.py +++ b/src/paracast_client.py @@ -45,7 +45,8 @@ ENSEMBLE_ID = "paracast-ensemble" ROUTER_ID = "paracast-router" -# Snapshot of the enabled serving panel (paracast models.yaml, 2026-08). The +# Snapshot of the serving panel (paracast models.yaml, 2026-08; patchtst-fm-r2 +# and timestral-209m added 2026-10). The # live roster is ALWAYS discovered from GET /models at run time — this tuple # exists so tests can pin docs/data/models.json display entries for every id # a paracast round can publish without needing a live endpoint. @@ -56,8 +57,10 @@ "toto2-2.5b", "tirex2", "patchtst-fm-r1", + "patchtst-fm-r2", "flowstate-r1", "yinglong-300m", + "timestral-209m", ) # The dense grid evaluate.py scores CRPS on. Requesting it directly means the