# GovOPlaN Workflow Engine **Repository type:** module (platform). Headless workflow definition and execution services for GovOPlaN modules. Workflow Engine owns the canonical BPMN/native graph model, immutable definition revisions, runtime instances and evidence, migrations, validation, execution adapters, dispatch, retries, and recovery. It intentionally provides no primary navigation or visual editor. Modules can depend on runtime module ID `workflow_engine` and the versioned `workflow.*` interfaces without installing the optional `govoplan-workflow` editor. The extraction preserves the existing `workflow_*` tables, Alembic revision IDs, `/api/v1/workflow` routes, `workflow:*` permissions, instance IDs, and audit references. See [the engine/editor split](docs/ENGINE_EDITOR_SPLIT.md) for the ownership and compatibility policy. See [the module concept](docs/CONCEPT.md) and [BPMN interoperability contract](docs/BPMN_INTEROPERABILITY.md) for runtime semantics and adapter boundaries. The optional `workflow_engine.service_launcher` capability lets Portal start an authorized active workflow from an exact published Service revision. It resolves tenant overrides before system baselines, pins the selected workflow revision, records the Service and binding in trusted instance context, and safely replays the same launch after an ambiguous response. Portal never accesses Workflow Engine tables. Active definitions reconcile durable API, one-time/interval schedule, platform-event, and parent-workflow trigger registrations. A shared worker claims due deliveries with scale-out-safe locking, rechecks the exact active revision and automation authority, and starts instances idempotently. Duration, deadline, and platform-event waits are persistent runtime state rather than human handoffs; event filters and variable mappings are bounded JSON expressions and never executable code. Cron remains an optional governed scheduler-adapter concern. ## Checks ```bash /mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests ```