Skip to main content
Remaining-duration estimates for running tests, spatial profile plots, project webhooks, and cycler hardware and calibration tracking

Know how much longer a running test has left

A test already on a channel can now report how much of it is left. The platform reads the steps the cycler has actually measured, works out exactly where the cell has reached in its protocol — which branch it took, how many loops it has been through, what its variables hold — and simulates only the remainder. Because it starts from where the cell really is rather than where a model would have gone, the estimate tracks the physical run instead of an idealised one. Duration estimates also now work from the cell specification alone, so a request that hasn’t been assigned a specific cell yet can still be estimated.

See what’s happening inside the cell

Simulation results now include spatial profile plots. Where a result carries a field that varies through the cell rather than a single number per timestep, it’s rendered as an interactive profile with fixed axes, a proportional time control, typed time overlays and marked domain boundaries. You don’t pick a plot type — whether a variable is scalar or spatial is inferred from the variable itself.

Webhooks for your project’s events

Projects can now register HTTPS webhooks that fire when something finishes or changes. Pipelines and simple pipelines notify you when they reach a terminal state — completed, failed or canceled — and nine new cell events cover specifications, instances and measurements being created, updated or deleted. Webhooks are managed from Project Settings, each delivery is signed so you can verify it came from us, retried on failure, and viewable in a delivery log.

Cyclers as real instruments

A cycler in the Lab now records the details a real instrument has: version, serial number, firmware version, and the hostname, IP address and port of its control host. On top of that, calibration and service are tracked — record when a cycler was last calibrated and how often it needs to be, and its next due date is derived for you. A cycler that isn’t on a calibration schedule reads as unknown rather than overdue. Scheduled service windows can be recorded ahead of time so the channels are accounted for before the engineer arrives.
Improvements
  • The sidebar gained an Operate section holding the Channel Wall and the Test Scheduler. The Test Scheduler was previously reachable only by URL.
  • Plain-English protocol authoring is now available everywhere a protocol is created — the New Protocol page, the new-simulation flow and the interactive builder, not just the test scheduler.
  • The Agent now collapses code and printed output by default, showing the answer rather than the transcript. Plots and errors always stay visible.
  • Activity log entries can now be filtered to a single project.
Fixes
  • Fixed live results going missing or stale on some jobs — result metadata could silently fail to upload while the job still reported success.
  • Quick-model simulations now create their model inside the project you ran them from, so it appears in the project’s model lists instead of being invisible everywhere.
  • Fixed a crash on the pipeline detail page when a parameter had no value.
  • Deleting a measurement that a channel booking or an active plan depends on now explains which record is blocking it, and stored files are only removed once the deletion itself succeeds.
  • Fixed the “learn more” link on the Protocol Simulator upload screen, which 404ed.
  • Render failures are now reported to our error tracking, so crashes get fixed rather than going unnoticed.
Improvements
  • Fits now report per-objective timing and the cost of a parameter sweep, so the work a fit represents can be measured before it is scheduled.
  • Breaking: MultiCost now takes one input form across both the schema and pipeline packages. The previously documented {cost: weight} mapping never worked in the schema package — a list of cost/weight records is now the single supported form on both sides.
Fixes
  • Invalid DataFit options are now rejected when you submit, with a message naming the unrecognised option, instead of failing minutes into the run with an unexplained internal error.
Improvements
  • New client.search sub-client for global search across projects, models, cell specifications, instances, measurements, materials, studies, optimizations and pipelines.
  • client.protocol now covers the whole protocol lifecycle — listing, fetching, finding by name, creating, updating and deleting saved protocols — instead of only validation and conversion.
  • New clients for project webhooks and for cycler hardware, calibration and scheduled service.
Fixes
  • Fixed get_plot_data returning a 404 for every request — the client was calling an address that did not exist.
  • An API URL configured with a trailing slash no longer produces a doubled slash and a 404.
Improvements
  • A protocol’s position can now be recovered from a real cell’s measured steps — which step it is on, its loop counters, subroutine stack, variables and cycle number. Combined with the existing resume support, a simulation can pick up exactly where a physical test has got to.
Improvements
  • New Search skill covering global search across the platform from the SDK.
  • New Manage protocols skill covering the full saved-protocol lifecycle, authoring and conversion.
  • Manage equipment covers cycler hardware details, calibration tracking and scheduled service.