Skip to main content

Module concurrent

Module concurrent 

Source
Expand description

SRD-88 — the headless observer + single-run headless helper.

HeadlessObserver folds an execution’s lifecycle + log into an ExecutionOutcome with no live display surface (SRD-88 §4), and run_workload_headless runs ONE workload inside a scoped ExecutionContext for that capture.

The real CONCURRENT harness — N executions sharing ONE session — is crate::runner::run_executions: one SessionHost, forked under a ScheduleSpec/semaphore, each execution deriving its own exec_id under the shared session and flushing its metrics to the shared store. The bespoke task-based run_executions_concurrent that used to live here was a DUPLICATE concurrency path (SRD-02 One Concurrency Path) and has been retired.

Structs§

ExecutionOutcome
What one execution produced, returned by [run_executions_concurrent].
HeadlessObserver
A headless RunObserver: captures lifecycle + log into an outcome, draws nothing. Each concurrent execution gets its own, so events route here via the task-local context (observer::global_observer() resolves to it) and never to a shared global.

Enums§

PhaseRecord
One phase’s terminal record captured by a HeadlessObserver.

Functions§

run_workload_headless
Run ONE workload headless inside its own ExecutionContext: route the run’s lifecycle + log through a HeadlessObserver (no display surface), then return the captured ExecutionOutcome alongside the run result.