chore(smolvla2-runtime): probe obs once at dry-run startup

The dry-run REPL only fires a tick when the user types, so the
``_log_obs_tensors_once`` diagnostic never reached stdout (the
provider was never called). Probe the provider once at startup —
the result is discarded; we only care about the obs log it triggers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pepijn
2026-05-12 18:21:58 +02:00
parent fcdae0ce8e
commit 53172873e3
@@ -1318,6 +1318,15 @@ def main(argv: list[str] | None = None) -> int:
initial_task=args.task,
max_ticks=args.max_ticks,
)
# Fire the observation provider once at startup so the
# ``_log_obs_tensors_once`` diagnostic prints before the REPL
# blocks on stdin. The REPL otherwise only ticks on user input —
# useful for the train/inference tensor-comparison workflow.
if observation_provider is not None:
try:
_ = observation_provider()
except Exception as exc: # noqa: BLE001
logger.warning("startup obs probe failed: %s", exc)
return _run_repl(runtime, initial_task=args.task, max_ticks=args.max_ticks)