Skip to content

v0.42.2 — Workflows That Stay

Choose a tag to compare

@gizmax gizmax released this 21 Jul 20:11
· 96 commits to main since this release
f76631e

Ten fixes from a day of running Sandcastle on real hardware (NVIDIA DGX Spark, Docker 29, plain-http LAN dashboard). Every one of them reproduced live before it was fixed, and verified live after.

Fixed

  • Workflows persist. WORKFLOWS_DIR is a shared volume (app_workflows) on the API, worker, and scheduler - user-created workflows previously vanished on every rebuild and each service saw its own copy. (Workflows created before this fix were stored in old containers and cannot be recovered; re-save once.)
  • Docker sandbox works on modern daemons. Newer Docker rejects put_archive into a ReadonlyRootfs container; /home/user is now an anonymous volume, keeping the rootfs read-only.
  • aiodocker 0.27+ compatibility for log streaming (log(follow=True) API drift).
  • Sandboxed agent steps honour workflow_default_model - they previously picked the Claude runner on local-first boxes and failed with "Not logged in".
  • Key-less rescue: hub templates hardcode cloud models; when the resolved provider's key is missing and a local default is set, the step runs on the local default with a warning. Keyed providers are never touched.
  • The worker restores dashboard-managed settings from the DB at startup (shared restore_db_settings) - provider keys and the default model previously applied only to the API process, never to the process executing steps.
  • Template runs are replayable: the workflow loader falls back to the template catalog, matched by the YAML's declared name:.
  • Runner image ships curl (+ ca-certificates, jq) - agents had no way to reach the web from bash steps.
  • Empty-final-message fallback in the OpenAI-compatible runner (last non-empty assistant text).
  • Agent Memory works in Docker: the image includes the memory extras (mem0ai, fastembed).

Known issue

Step outputs of template/UI runs can display empty despite completing; diagnosed to the executor's result aggregation path, fix underway.


pip install sandcastle-ai==0.42.2