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§
- Execution
Outcome - What one execution produced, returned by [
run_executions_concurrent]. - Headless
Observer - 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§
- Phase
Record - 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 aHeadlessObserver(no display surface), then return the capturedExecutionOutcomealongside the run result.