fix(t0): bump tfc-t0 to 0.5.0 for t0-beta API and gift-eval CI - #29
Conversation
tfc-t0 0.5.0 (released with t0-beta) renamed predict()'s quantiles kwarg to quantile_levels, which broke gift-eval CI when the resolver picked the latest package. Register t0-beta in models.yaml for future GIFT-Eval runs. Co-authored-by: Cursor <cursoragent@cursor.com>
Parametrize integration tests with t0-beta, add unit tests for quantile_levels API and gift-eval registry, and publish v0.1.8 notes. Co-authored-by: Cursor <cursoragent@cursor.com>
Merging this PR will improve performance by 16.98%
Performance Changes
Tip Curious why performance improved? Comment Comparing |
Fix ruff import order in test_t0.py, correct changelog API link path, and make v0.1.8 code example self-contained for mktestdocs. Co-authored-by: Cursor <cursoragent@cursor.com>
toml-sort-fix reorders lockfile keys; commit sorted uv.lock so lint passes. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
🟡 Changes recommended
Fix the tests/models/test_t0.py mock to provide three quantile columns and avoid the resulting IndexError.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates the T0 integration for tfc-t0 0.5.0 and adds t0-beta support across code, tests, documentation, and GIFT-Eval.
Changes:
- Switches
predict()toquantile_levels. - Registers and documents
t0-beta. - Refreshes dependency locks and CI/test configuration.
File summaries
| File | Summary |
|---|---|
uv.lock |
Locks the updated T0 dependency |
tests/models/test_t0.py |
Adds T0 API and beta tests; the mock requires three quantile columns |
tests/models/conftest.py |
Includes t0-beta in model tests |
README.md |
Documents supported T0 models |
pyproject.toml |
Raises the tfc-t0 minimum version |
mkdocs.yml |
Adds changelog navigation |
foundationforecast/models/t0.py |
Updates T0 API usage and documentation |
experiments/gift-eval/uv.lock |
Updates GIFT-Eval dependencies |
experiments/gift-eval/tests/test_models_config.py |
Tests beta registration |
experiments/gift-eval/configs/models.yaml |
Registers t0-beta |
docs/model-hub.md |
Documents T0 model variants |
docs/changelogs/v0.1.8.md |
Records the release changes |
docs/changelogs/index.md |
Links the new changelog |
Review details
- Files reviewed: 11/13 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The quantile_levels mock must match [0.1, 0.5, 0.9] on the last axis so forecast() can index median and requested quantiles without IndexError. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
🟡 Changes recommended
The v0.1.8 changelog conflicts with the declared 0.1.7 project and lockfile versions.
Get a fresh assessment by requesting another Copilot review.
Review details
- Files reviewed: 11/13 changed files
- Comments generated: 1
- Review effort level: Lite
| ### Dependencies | ||
|
|
||
| * Bumped `tfc-t0` from `>=0.2.3` to `>=0.5.0` (required for t0-beta; still supports t0-alpha). |
Summary
Fixes gift-eval CI failure on PR #27 (
test gift-eval replication):Root cause: t0-beta shipped with
tfc-t00.5.0, which renamed thepredict()kwarg fromquantilestoquantile_levels. Our pin wastfc-t0>=0.2.3, so CI resolved to 0.5.0 while the wrapper still passedquantiles=.Changes:
tfc-t0to>=0.5.0and updateT0.forecast()to callquantile_levels=theforecastingcompany/t0-betain gift-evalmodels.yaml(reference_slug: nulluntil GIFT-Eval publishes leaderboard results)t0-alphafor HF replicationTest plan
test-gift-evalcompletes (t0-alpha job onm4_weekly/short)pytest tests/test_replication.pypasses after Modal runRelated: https://github.com/TimeCopilot/foundationforecast/actions/runs/35274068491/job/105380265826
Made with Cursor