You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Triage] cache-tasks depends on lm_eval.tasks.get_task_dict, deprecated in lm-eval 0.4.12+, with the declared cap at <1.0.0 (CR-A15-062) #824
Needs triage. Reviewers disagreed on this finding, so it is not counted in the backlog. Decide whether it is a real defect: if yes, set severity and wave; if not, close it with the reason.
CR-A15-062 — cache-tasks depends on lm_eval.tasks.get_task_dict, deprecated in lm-eval 0.4.12+, with the declared cap at <1.0.0
severity Low · confidence disputed · single reviewer · not reproduced (code trace)
What happens. In lm-eval 0.4.13 (2026-08-31), get_task_dict is wrapped in @deprecated('Use TaskManager.load() instead'). The 0.4.12 release notes call it, together with load_task_or_group, a 'deprecated shim' returning the legacy nested shape. TaskManager.load now returns a flat {tasks, groups} dict. Each call emits a DeprecationWarning, and the shim can be removed in a later 0.x or 0.5 release, which the <1.0.0 cap still allows. The Task and ConfigurableGroup shapes also moved (ConfigurableGroup is now a deprecated wrapper), and _prepare_one_task's duck-typing of .dataset was written against the old shape. The eval extra declares lm-eval>=0.4.4, but 0.4.4 through 0.4.8 construct tasks with datasets.load_dataset(..., trust_remote_code=...), which datasets>=4 (core floor 4.7.0) no longer accepts. Whether the floor combination works was not tested.
lm-eval v0.4.13 lm_eval/tasks/init.py:136 '@deprecated("get_task_dict is deprecated. Use TaskManager.load() instead.")'. GitHub release v0.4.12 body (TaskManager refactor). PyPI requires_dist: 0.4.9.1 pins datasets<4.0; 0.4.4 to 0.4.8 only require datasets>=2.16.0.
Recommended fix. Prefer TaskManager().load(...) where available, with the legacy path as a fallback. Raise the eval floor to a release known to work with datasets>=4, and add a CI job against lm-eval latest.
Found by the October 2026 ForgeLM code and documentation review against commit cab2947. Code links point at that commit; line numbers may have moved since. Finding IDs (CR-…, DOC-…, TECH-…) are stable references for this backlog.
Confirmed in part. get_task_dict is deprecated upstream (decorated with @deprecated at lm_eval/tasks/init.py:136 in v0.4.13; the v0.4.12 notes call it a shim) and cache-tasks still calls it at forgelm/cli/subcommands/_cache.py:454.
It works today, and the command already fails with an error and an audit event if the returned shape cannot be walked, so this is technology currency rather than a live bug.
The fix is to prefer TaskManager.load() and keep the legacy call only as a fallback, or to raise the eval floor to 0.4.12; that depends on the floor decision in #527. The same item appears as TECH-T05-010 in #120; this issue stays open as the focused one for the migration.
Triage result: dependencies, area: operator-cmds, urgency: next-release, wave: 2 (the bug label is removed: nothing is broken yet).
Triage round 1, checked against development on 2026-10-20.
Activity
cemililik commentedon Oct 20, 2026
Confirmed in part. get_task_dict is deprecated upstream (decorated with @deprecated at lm_eval/tasks/init.py:136 in v0.4.13; the v0.4.12 notes call it a shim) and cache-tasks still calls it at forgelm/cli/subcommands/_cache.py:454.
It works today, and the command already fails with an error and an audit event if the returned shape cannot be walked, so this is technology currency rather than a live bug.
The fix is to prefer TaskManager.load() and keep the legacy call only as a fallback, or to raise the eval floor to 0.4.12; that depends on the floor decision in #527. The same item appears as TECH-T05-010 in #120; this issue stays open as the focused one for the migration.
Triage result:
dependencies,area: operator-cmds,urgency: next-release,wave: 2(thebuglabel is removed: nothing is broken yet).Triage round 1, checked against
developmenton 2026-10-20.