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

@@ -1,5 +1,6 @@
pub mod lifecycle;
pub mod lock;
pub mod log_sink;
pub mod middleware;
pub mod persistence;
pub mod queue;
@@ -9,6 +10,7 @@ pub mod step;
pub use lifecycle::LifecyclePublisher;
pub use lock::DistributedLockProvider;
pub use log_sink::{LogChunk, LogSink, LogStreamType};
pub use middleware::{StepMiddleware, WorkflowMiddleware};
pub use persistence::{
EventRepository, PersistenceProvider, ScheduledCommandRepository, SubscriptionRepository,