feat(workflow): orchestrate resumable dataflow handoffs
This commit is contained in:
+21
-15
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user