Skip to contents

Additive optional Linux execution preserving the synchronous APIs.

Usage

reflow_artifact_run_bounded(spec, directory, supervisor_directory,
  resources, runtime_files, cancel = function() FALSE)
reflow_artifact_resume_bounded(spec, directory, supervisor_directory,
  resources, runtime_files, cancel = function() FALSE,
  reconciled_attempt = NULL, reconciliation = NULL)

Arguments

spec

A declared artifact specification.

directory

Artifact run directory.

supervisor_directory

Fresh separate supervisor directory.

resources

Exact list: timeout_seconds (finite, 1–86400), address_space_bytes, nice (absolute 0–19), threads (1–2), temp_directory, cache_directory, rscript, prlimit, nice_command. Paths are canonical and link-free.

runtime_files

Named SHA-256 vector including installed backend scripts, every file of the backend and declared writer Depends/Imports/LinkingTo closure and the three executables. Other runtime files must be explicitly declared; no complete ELF closure is inferred.

cancel

Callback returning one nonmissing logical value. Errors cancel.

reconciled_attempt,reconciliation

Explicit retry assertions as in reflow_artifact_resume; no automatic process reconciliation.

Details

Requires processx 3.9.0 or later, ps 1.9.3 or later, Linux /proc and declared nice/prlimit executables. Address-space bounds are per process, thread variables are requests, and this is not a sandbox. Trusted same-UID descendants must retain ownership tokens. Guardian death remains unresolved and requires external cleanup. Unknown cleanup retains locks; no stale lock is stolen. A successful worker is revalidated through a locked READY-only path which cannot invoke a writer. Deadlines exclude up to two additional five-second cleanup intervals. No graph or targets scheduling is performed. Parent OPENBLAS_NUM_THREADS, OMP_NUM_THREADS and MKL_NUM_THREADS must already equal the requested thread count. Child locale, RNG kind and full numerical environment must match the captured definition before dispatch. Parent in-process changes are not silently replayed; use an explicit artifact seed for stochastic writers. RNG state is not copied.

Value

A verified artifact descriptor after successful guardian cleanup.