feat(wfe-core): add LogSink trait and wire lifecycle publisher into executor

LogSink trait for real-time step output streaming. Added to
StepExecutionContext as optional field (backward compatible).
Threaded through WorkflowExecutor and WorkflowHostBuilder.

Wired LifecyclePublisher.publish() into executor at 5 points:
StepStarted, StepCompleted, Error, Completed, Terminated.
Also added lifecycle events to host start/suspend/resume/terminate.
This commit is contained in:
2026-04-01 14:33:27 +01:00
parent d437e6ff36
commit 7a9af8015e
9 changed files with 183 additions and 2 deletions

View File

@@ -45,6 +45,7 @@ mod test_helpers {
workflow,
cancellation_token: CancellationToken::new(),
host_context: None,
log_sink: None,
}
}

View File

@@ -212,6 +212,7 @@ mod tests {
workflow,
cancellation_token: tokio_util::sync::CancellationToken::new(),
host_context: Some(host),
log_sink: None,
}
}