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
fix: repair a scheme-less WANDB_BASE_URL and stop losing sink failures
Every harbor benchmark run has reported nothing to the self-hosted W&B:
`shehab-yasser` listed zero projects, and each run's exported
`artifacts/wandb/state.json` showed a run_id minted with
`evaluation_ids: []`, `next_step: 0`, `request_log_files: {}` — even for a
session that completed 11 evaluations.
That fingerprint is exactly what `SidecarWandbSink.__init__` leaves when
`wandb.init()` raises: state is written (wandb.py:225) before the run is
opened (wandb.py:230), and `deployment.py` catches anything from the
constructor and continues without W&B.
Reproduced locally against scaleai.wandb.io, $0, deterministic:
WANDB_BASE_URL=scaleai.wandb.io
pydantic_core.ValidationError: 1 validation error for Settings
base_url
Input should be a valid URL, relative URL without a base
[type=url_parsing, input_value='scaleai.wandb.io']
W&B parses `base_url` as a URL, so the natural way to write a self-hosted
host silently costs the run all of its reporting. With `https://` prepended,
the same script logs metrics, uploads an artifact and auto-creates the
project. Egress was never the problem.
Two changes:
- `normalize_wandb_base_url()` prepends `https://` to a scheme-less
`WANDB_BASE_URL` (and warns), called before both `wandb.init()` sites.
Already-qualified values, including plain `http://localhost`, pass through.
- The swallowed init failure now also lands in
`session/artifacts/wandb/init-error.json`. The existing `logger.warning`
goes to the sidecar container's stderr, which no run artifact captures, so
a disabled sink was indistinguishable from a healthy run that logged
nothing. Observability still never takes the eval path down.
Refs #52.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 commit comments