feat(workflow): orchestrate resumable dataflow handoffs

This commit is contained in:
2026-07-30 03:11:56 +02:00
parent a1654e70cf
commit a6e0e89829
18 changed files with 3938 additions and 27 deletions
+21 -15
View File
@@ -104,19 +104,23 @@ The first executable slice now provides:
- trigger, activity, review, decision, wait, module-action, Dataflow, and outcome
nodes
- API discovery and validation endpoints
- revision-pinned, idempotent Workflow instances
- persisted steps and append-only transition evidence
- durable Dataflow handoff, progress reconciliation, output references,
retries, cancellation, and warning/review paths
- manual activity, review, and wait handoffs with comments and evidence
- a worker capability with current-authorization rechecks
- an operator dialog for starting, inspecting, and advancing instances
The next execution slices should provide:
- static workflow definition registration from configuration packages
- create/read/list workflow instances
- transition execution with permission checks
- event, API, schedule, and parent-workflow start dispatchers
- guard hooks implemented through capability calls
- command execution records with retry/manual-resolution state
- registry-driven generic module-action execution records
- action/effect previews for transitions that call other modules
- idempotency keys for command execution
- explicit blocked, retryable, quarantined, manual-required, and
compensation-required states
- basic WebUI instance detail and definition viewer
- dashboard summary provider
- event emission and audit integration
@@ -149,12 +153,16 @@ details.
## Data Model Sketch
Candidate tables:
Current tables:
- `workflow_definitions`
- `workflow_definition_versions`
- `workflow_definition_revisions`
- `workflow_instances`
- `workflow_transition_history`
- `workflow_instance_steps`
- `workflow_instance_events`
Future generic action execution and timers may add:
- `workflow_command_records`
- `workflow_timers`
@@ -163,16 +171,14 @@ reference the exact version used at start.
## WebUI
Initial route contributions:
Current route contribution:
- `/workflow`
- `/workflow/instances/:instanceId`
- `/workflow/definitions/:definitionId`
The UI should show current state, available transitions, pending commands,
failed handoffs, audit trace, and linked subject records. It should not import
case/task/template components directly; panels are contributed through core UI
extension points.
The route combines the definition editor and a fixed run dialog showing current
state, available transitions, failed handoffs, comments/evidence, immutable
event history, and linked Dataflow results. It does not import Dataflow or other
domain UI components.
## Tests