46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# govoplan-workflow
|
|
|
|
<!-- govoplan-repository-type:start -->
|
|
**Repository type:** module (platform).
|
|
<!-- govoplan-repository-type:end -->
|
|
|
|
`govoplan-workflow` owns process orchestration for GovOPlaN.
|
|
|
|
The module should execute configurable state machines and command handoffs
|
|
between modules without importing their implementations. It coordinates cases,
|
|
tasks, forms, files, templates, mail, appointments, payments, and records
|
|
through capabilities, events, commands, and DTOs.
|
|
|
|
Workflow exposes a workflow-specific node library, a full definition editor,
|
|
validation APIs, tenant-isolated definitions, and immutable graph revisions.
|
|
Activation pins the exact revision that future instances will execute. It uses
|
|
Core's domain-neutral definition graph contract, but applies Workflow
|
|
constraints: exactly one trigger, at least one outcome, governed configuration
|
|
fields, connected nodes, and permitted loops for correction and retry paths.
|
|
Dataflow uses the same graph contract with its own acyclic transformation
|
|
library.
|
|
|
|
The current slice deliberately stops before executing process instances.
|
|
Instance state, resumable transitions, human activities, retries, and event
|
|
subscriptions must build on the pinned definition and versioned module
|
|
capabilities rather than bypassing them.
|
|
|
|
Definitions can be complete flows or non-runnable templates at system,
|
|
tenant, group, or user scope. Policy resolves whether a definition can be
|
|
viewed, edited, started, reused, derived, or automated and returns the ordered
|
|
source path shown in the editor. Derivation copies an immutable graph revision
|
|
and records its hash, node-library version, source scope, actor, Policy
|
|
decision, and effective ancestor limits.
|
|
|
|
The start-node library distinguishes explicit user, API, scheduled, event, and
|
|
parent-workflow starts. These are definition contracts only until the
|
|
resumable Workflow instance runtime is implemented; the UI reports that
|
|
limitation rather than presenting automation as operational.
|
|
|
|
See [docs/CONCEPT.md](docs/CONCEPT.md) for the complete module concept.
|
|
|
|
There is a BPMN component playing a major role here. Maybe this needs to
|
|
become a separate module. It is quite viable to think about workflow
|
|
modelling (and consequently import and export) in terms of BPMN, permitting
|
|
a standardized configuration of the system.
|