0.5.3rc2: SSH experiment workers and workspace polish

This preview adds distributed numerical execution to minimal-mode studies and simplifies the Machines and Research tools interfaces. Stable remains 0.5.2. It includes the rc1 campaign audit repairs and experimental Simjecture Bench 0.1.0 without changing their scientific completion policy.

Included

  • One coordinator owns the agent, hypothesis, methods, review and deadline; headless local/SSH workers execute experiments in parallel. Simote is optional.

  • Worker profiles, code, runtime identities and experiment inputs are frozen per phase. Jobs preserve their identity across lost replies, SSH interruptions and coordinator restarts. Workers enforce deadlines and confirm descendant cancellation.

  • CPU/RAM/GPU admission, explicit device visibility, machine-scoped instruments, bounded read-only source inspection and SHA256-verified artifact transfers are available through the agent client and visible GUI controls.

  • Machines onboarding needs only an SSH address and password. Hardware, persistent directories, non-root accounts and execution environments are detected; advanced overrides and agent-guided solver preparation remain available. New host keys use a private managed known-hosts file; changed keys are rejected.

  • Lightweight availability checks run every 30 seconds while the web server runs, independently of browser activity. Cards show status, budgets, jobs and check age.

  • Research tools uses compact cards and a separate Details panel for build lists, setup diagnostics, paths and logs. Detected local builds remain distinct from a missing optional managed runtime. Expanding details does not stretch the grid.

  • Continuation preparation retains selected machines. Agent/native backend tools and independent scientific review remain unchanged.

Real-host evidence

The SSH acceptance record documents two P40 hosts, concurrent calculations, retained HDF5 retrieval, SSH loss/recovery, coordinator restart, process-tree cancellation, FLASH RZ/MPI/HDF5 commissioning and simultaneous WarpX jobs on distinct physical GPUs. A second fresh coordinator prepared both hosts using only the two basic input fields, automatically chose cooperative execution, and ran real numerical jobs under non-root accounts.

These checks establish infrastructure behavior and limited solver readiness. They are not grid-convergence results or scientific support for a plasma hypothesis. No paid model-provider requests were needed for the release checks.

Release validation

Release checks include the complete Python regression suite, DSH integration tests, Ruff on the tracked release source, JavaScript syntax, public schemas, documentation without warnings, clean source/wheel builds, and the checksummed workspace installer in a fresh HOME with no provider key or CLI agent. 823 Python tests passed, 7 optional-environment checks were skipped, and 14 DSH tests passed. Ruff, JavaScript syntax, public schemas and documentation checks passed. Source/wheel/workspace checksums and credential exclusion were verified. The fresh-home installer completed and served the GUI with no API key or CLI agent.

Private operator trials, credentials and runtime installations are excluded from release artifacts. Older release files and research directories remain intact.

Boundaries

Execution pools currently apply to minimal-mode numerical studies. Interactive simulation jobs, remote inference-agent hosting, Simote profile import and Slurm worker adapters retain their existing separate paths. CPU budgets are admission reservations rather than OS CPU quotas; cooperative PRoot is not kernel/network isolation. Scientific solvers and licensed tables must exist on their worker.

Waiting for resources or reconnection counts against the phase’s original wall budget. If SSH is unreachable at deadline expiry, cancellation remains explicitly unconfirmed. Start a new phase after changing frozen instruments or pool configuration.

Install this preview

curl -fsSL https://github.com/tomzhu0225/simjecture/releases/download/v0.5.3rc2/install.sh | bash
# Python package only:
uv tool install 'simjecture[workspace,tui]==0.5.3rc2'

See SSH worker setup and the workspace walkthrough.