Appearance
SystemsLab 157.0.0
Added
- Host agents can now be drained — cordoned out of the scheduler so no new jobs are assigned to them — via
systemslab host drain <host> [--wait], thedrain_hostMCP tool, orPOST /host/{id}/drain. A busy host entersdrainingand finishes its current job before becomingdrained; it stays out of the pool until explicitly reactivated (systemslab host reactivate <host>,reactivate_host, orPOST /host/{id}/reactivate). This lets a machine that is both a developer box and an agent be used for local work without contaminating experiment measurements. - The MCP
submit_experimenttool now accepts Jsonnet and YAML specs in addition to TOML, selected with a newformatargument that defaults totoml. Jsonnet and YAML specs can also be expanded into multiple variants under a shared context with a newsweepargument, which takes the same sweepfile shape as thesystemslab sweepcommand. - Context artifacts now open the same viewers as experiment artifacts — the generic file viewer, the rezolus metrics dashboard, the llm-perf, rpc-perf, vllm and sgl dashboards, and the PromQL explorer — instead of being download-only.
- The metrics dashboard now charts AMD GPU metrics — utilization, memory, power, temperature, clocks, PCIe throughput, and the AMD hardware performance counters — and gains a GPU selector that scopes the aggregate charts to a subset of devices. The system info viewer also lists each GPU's model, vendor, memory, architecture, driver, PCI bus, and NUMA node.
- The KPI summary now reports
Input Tok/sandTotal Tok/salongside the existingOutput Tok/s.
Changed
- The
systemslab/download-artifactaction now falls back to searching the contexts an experiment belongs to when the named artifact is not found in the experiment itself, so a context-level artifact can be staged once and pulled by every experiment in it. This applies only when nojobis specified, and the match must still be unambiguous.
Fixed
- Fixed
getent hosts <name>.systemslab.internal— and any process resolving such a name throughgetaddrinfo— segfaulting on hosts with the SystemsLab NSS module installed. The returnedstruct hostenthad unterminatedh_aliasesandh_addr_listarrays, so callers walked off the end of them. AnAF_INET6lookup for an IPv4-only job also no longer answers with a synthesized IPv4-mapped address, which had been shadowing the job's real address ingetaddrinforesults. Jobs no longer need to work around this by using the*_ADDRenvironment variables. - An experiment in which one job failed and its siblings were cancelled as a consequence now reports
failedrather than sometimes reportingcancelled, and the same precedence applies when rolling experiment states up into a context's status. Experiments and contexts the user cancels outright still reportcancelled. - A context with no experiments now shows a distinct
emptystatus instead oferror. - Fixed proxied MCP tool calls failing with 401/403 partway through a session once the CLI's login token aged out. Tokens are now refreshed against the credential actually sent, and the proxy reloads the token from disk and retries once on an auth failure, so an out-of-band
systemslab loginrecovers the session without restarting the MCP server. - The MCP
list_actionstool now reports action names in the canonicalsystemslab/<name>form. It previously returned stale snake_case names such asdownload_artifactandstart_metrics, which passedvalidate_specbut failed at run time with "no such action". Itstagsparameter is also now documented as an array, matching what thesystemslab.libsonnethelpers actually accept.