Skip to content

push: add --novis flag (skip visualize_samples on evaluate)#247

Merged
moshe-kabala merged 2 commits into
masterfrom
upate-novis-flag
Jun 11, 2026
Merged

push: add --novis flag (skip visualize_samples on evaluate)#247
moshe-kabala merged 2 commits into
masterfrom
upate-novis-flag

Conversation

@moshe-kabala

Copy link
Copy Markdown
Contributor

Summary

Adds a new --novis flag to leap push. When used alongside --eval (or -u, which implies --eval), the CLI sends noVisualization: true on the evaluate request. The engine then marks the visualize_samples step SKIPPED instead of running it.

Why

Headless evaluations (CI, sweeps, debugging) often don't need the dashboard's per-sample visualizations. Skipping the step shortens the wall-clock and reduces visualization-artifact storage churn.

UX

```

evaluate without visualizations

leap push -e --novis

overwrite + update + skip vis

leap push -o my-model -u metric --novis
```

Misuse is loud: --novis without --eval errors at validate time.

Code changes

  • cmd/root_cmd/push.go
    • new pushInputs.noVisualization + --novis flag binding
    • validatePushInputs rejects --novis without --eval/-u
    • threaded through evalDispatch (only set on the RunEvaluate path — update_evaluate_artifact has no visualize step)
    • included in analytics props
  • pkg/model/evaluate.go
    • RunEvaluate now takes noVisualization bool and sets it on EvaluateExistingVersionParams when true

Paired PRs

  • node-server: tensorleap/node-server#1742 (already added the API field)
  • engine: tensorleap/engine#2347 (engine-side SKIPPED handling)
  • web-ui: tensorleap/web-ui#3338 (api-client bump)

Test plan

  • go build ./... clean
  • go vet ./... clean
  • leap push -e --novis → engine marks visualize_samples SKIPPED, version still completes
  • leap push --novis (no -e) → errors with clear message
  • leap push -e (no --novis) → identical behavior to today

🤖 Generated with Claude Code

moshe-kabala and others added 2 commits June 11, 2026 14:25
When the user passes `leap push -e --novis` (or `-u … --novis`) the CLI
sets `EvaluateExistingVersionParams.noVisualization = true` on the
evaluate request. Engine then marks the visualize_samples step SKIPPED
instead of executing it — faster turnaround for headless evaluations
that don't need the dashboard's sample-level visualizations.

  - validate that --novis requires --eval / --update (otherwise the
    flag is a no-op and we error so the misuse is loud)
  - thread through pushInputs → evalDispatch → RunEvaluate
  - only meaningful on the RunEvaluate path; --update path that runs
    update-evaluate-artifact has no visualize_samples step, so we
    don't carry the flag there

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@roytl roytl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@moshe-kabala moshe-kabala merged commit 135864a into master Jun 11, 2026
2 checks passed
@moshe-kabala moshe-kabala deleted the upate-novis-flag branch June 11, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants