Skip to content

v2.0.1 - #301

Merged
guillaume-byte merged 7 commits into
mainfrom
dev
Aug 26, 2026
Merged

v2.0.1#301
guillaume-byte merged 7 commits into
mainfrom
dev

Conversation

@guillaume-byte

Copy link
Copy Markdown
Member

Small fixes:

  • Add Opencode binary forgotten in v2
  • Fix UI issues with subview
  • Fix Github CICD issue with ipynb Kernel

* feat(agent): vendored OpenCode binary + auto-install/init and container-tunnel support
---------------
- opencode_binary.py: Node-free on-demand provisioning of the OpenCode
  standalone binary (npm-registry tarball via stdlib), managed per-user cache
- resolver prefers managed binary; background auto-install on import/start
- `weightslab agent init` CLI; agent-config gating with an info hint (no
  implicit sign-in)
- configurable OpenCode bind host + UI trusted-hosts allowlist so the agent
  works through a container's published port / SSH tunnel
- unit tests + CI agent-smoke job

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

* docs(agent): Getting Started via `weightslab agent init` + OpenCode env var reference

- agent_quickstart: lead with `weightslab agent init` (provisions the Node-free
  OpenCode binary, then signs in); document --provision-only and the "agent not
  initialized" info behavior so a new user knows exactly what to do.
- configuration: document the OpenCode provisioning/bind env vars —
  WEIGHTSLAB_OPENCODE_HOST, WEIGHTSLAB_UI_TRUSTED_HOSTS,
  WEIGHTSLAB_OPENCODE_AUTOINSTALL/AUTODOWNLOAD/VERSION/HOME — incl. the
  container-behind-a-tunnel setup.
* fix(v2.1): video-gen report media + server-authoritative subview flag

- reporting: add a "Generated Media" section (poster thumbnails per media
  field) so video/image-generation runs show their artifacts instead of an
  empty report; guard media columns in the Distributions path (no longer
  mislabelled "no numeric values"); surface a swallowed get_combined_df error
  as a warning so a broken dataframe isn't silently hidden.
- data_service/proto: DataSamplesResponse gains is_subview/view_count/
  total_count, stamped from the backend's _is_filtered state on every
  GetDataSamples, so a fresh client can render the subview warning ribbon with
  no cached UI state. Regenerated pb2 with grpcio-tools 1.68 (gencode 5.28.1).
- tests: report media/distribution-guard coverage.

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

* fix(v2.1): backend min/max curve decimation so spikes survive 10k->1k

get_signal_history_downsampled emitted the earliest-step point per bucket, so a
spike between bucket edges (unless separately flagged as marker/note/outlier)
was dropped server-side before the browser ever saw it. Now it emits each
bucket's min-value AND max-value rows (min/max decimation); the bucket count is
halved so the total stays ~max_points. 10k points -> ~1k, with spikes.

+ test: a non-flagged mid-bucket value spike survives, output stays ~max_points.

* Check OS and adapt cmd
test_logger_scale.py deliberately builds multi-million-row DuckDB
fixtures to stress-test large-scale queries -- real, by-design heavy
work that easily exceeds the per-test timeout on a shared runner. Its
own marker registration already said "deselect with -m 'not scale'"
but the CI job never actually did, so each run burned its 600s
per-test timeout on these instead of skipping them, reading as a
hang stuck at the same progress percentage across unrelated pushes.
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.

1 participant