feat: persist and edit versioned workflow definitions

This commit is contained in:
2026-07-28 13:48:06 +02:00
parent 85eef00913
commit 6737b60c11
25 changed files with 3913 additions and 9 deletions

View File

@@ -11,13 +11,19 @@ between modules without importing their implementations. It coordinates cases,
tasks, forms, files, templates, mail, appointments, payments, and records
through capabilities, events, commands, and DTOs.
The first executable slice exposes a workflow-specific node library and graph
validation API through `/workflow/node-types` and
`/workflow/definitions/validate`. 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.
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.
See [docs/CONCEPT.md](docs/CONCEPT.md) for the complete module concept.