Progress Runtime Projection System
Scope
This page documents the OpenHCS implementation path only.
The generic progress abstraction lives in zmqruntime.progress and is
documented in the zmqruntime docs.
OpenHCS Implementation Path
OpenHCS-specific modules:
openhcs.core.progress.types(domain event vocabulary + semantics)openhcs.core.progress.registry(OpenHCS semantic keying wrapper)openhcs.core.progress.projection(OpenHCS adapter + runtime projection API)openhcs.core.progress.emitters(orchestrator/step event emission)
Consumption path:
Emit typed
ProgressEventvalues from compile/execute flows.Route events through explicit queue wiring via
set_progress_queue(...).Register events in
ProgressRegistrywith semantic channel keying.Build runtime projection for UI status derivation.
Render projection in plate manager and ZMQ server browser services.
OpenHCS Invariants
Canonical execution tree path is
plate -> worker -> well -> step.PATTERN_GROUPis step-detail only and does not set well pipeline percent.Plate/server status is derived from projection snapshots, not mutable cache.
Canonical Abstraction Docs
See zmqruntime for abstraction internals:
external/zmqruntime/docs/source/architecture/progress_registry_projection.rstexternal/zmqruntime/docs/source/architecture/zmq_execution_system.rst