feat(cli): add deterministic task preflight checks - #590
Conversation
Embed environment, task, grader, and reward validation in existing task and sync commands so broken definitions fail before rollout or upload. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 49dfac2. Configure here.
| selected = matches[0] | ||
| placement = SubprocessRuntime(_spawn_target(source or "."))(selected) | ||
| return selected.id, args or selected.args, placement | ||
| selected = _resolution_or_exit(lambda: select_local_task(task, source or ".", args)) |
There was a problem hiding this comment.
Task prefix ignored for local source
Medium Severity
_task_id strips a leading task/ for --env and --url placements, but the local --source path passes the raw argument into select_local_task. The same task/… form documented for deployed checks therefore fails to match local slugs or ids and exits as unresolved.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 49dfac2. Configure here.


What changed
hud task list,start, andgrade, including deployed environment support.hud task grade --dry-runwith separate environment, task, grader, and reward-shape results plus per-phase timeouts and cleanup.hud sync tasks, including verifier task IDs.hud eval, updated CLI docs, and added behavioral regression coverage. There are no UI changes.Why
Deterministic lifecycle failures were discovered only after task upload or rollout. The previous standalone checker duplicated execution lifecycle code and included nondeterministic agent behavior beyond this requirement. These checks now live in the existing commands that own each lifecycle stage.
Impact
Environment and task authors can catch invalid sources, missing deployed tasks, startup failures, broken graders, and malformed rewards before syncing or running agent evaluations. CI can use the existing command exit status without adopting a separate check protocol.
Validation
uv run pytest -q(1042 passed, 9 deselected)uv run ruff check .uv run ruff format --check .uv run --extra dev --extra train ty checkMade with Cursor