[Feature] Persist, edit, and execute reusable workflow definition graphs #5

Closed
opened 2026-07-28 12:48:20 +02:00 by zemion · 7 comments
Owner

The shared graph contract and Workflow-specific node library/validation
API are implemented in 85eef00. Build the durable execution slice on that
contract.

Acceptance criteria:

  • immutable versioned workflow definitions and activation state
  • graphical editor reusing Core graph primitives with Workflow's library and loop constraints
  • configuration-package registration/import
  • workflow instances, current state, transition history, timers, and subject references
  • permission/guard checks and explicit acting context
  • idempotent capability command records with retry, manual resolution, and compensation state
  • audit/events for start, transition, blocked, failure, cancellation, and completion
  • module-owned handoff panels and basic instance progress UI
  • no direct imports of optional domain modules
The shared graph contract and Workflow-specific node library/validation API are implemented in `85eef00`. Build the durable execution slice on that contract. Acceptance criteria: - immutable versioned workflow definitions and activation state - graphical editor reusing Core graph primitives with Workflow's library and loop constraints - configuration-package registration/import - workflow instances, current state, transition history, timers, and subject references - permission/guard checks and explicit acting context - idempotent capability command records with retry, manual resolution, and compensation state - audit/events for start, transition, blocked, failure, cancellation, and completion - module-owned handoff panels and basic instance progress UI - no direct imports of optional domain modules
Author
Owner

Codex State: progress

Summary

  • Implemented tenant-scoped Workflow definitions, immutable graph revisions, optimistic updates, activation, archive/delete, migration guards, APIs, and audit events in 6737b60.
  • Added the full-height graphical editor using Core definition-graph primitives, Workflow node constraints, generic configuration fields, diagnostics, revision history/restore, and unsaved-change protection.

Verification

  • Workflow tests: 10 passed; standalone typecheck and Workflow-only/combined Core builds passed.

Next / Blocked

  • Keep open for configuration package import plus runtime instances, transitions/timers, guarded capability commands, compensation/manual resolution, and module-owned handoff/progress panels.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Implemented tenant-scoped Workflow definitions, immutable graph revisions, optimistic updates, activation, archive/delete, migration guards, APIs, and audit events in 6737b60. - Added the full-height graphical editor using Core definition-graph primitives, Workflow node constraints, generic configuration fields, diagnostics, revision history/restore, and unsaved-change protection. ### Verification - `Workflow tests: 10 passed; standalone typecheck and Workflow-only/combined Core builds passed.` ### Next / Blocked - Keep open for configuration package import plus runtime instances, transitions/timers, guarded capability commands, compensation/manual resolution, and module-owned handoff/progress panels. Suggested status label: `status/in-progress`
zemion added
status
in-progress
and removed
status
ready
labels 2026-07-28 13:51:42 +02:00
Author
Owner

Scoped definitions, immutable pinned derivation, templates, Policy provenance, and start-node contracts landed in govoplan-workflow@1ec8336. The instance runtime, transition/timer persistence, capability command ledger, recovery/compensation, and progress UI remain open here.

Scoped definitions, immutable pinned derivation, templates, Policy provenance, and start-node contracts landed in govoplan-workflow@1ec8336. The instance runtime, transition/timer persistence, capability command ledger, recovery/compensation, and progress UI remain open here.
Author
Owner

Additional interoperability and layout slice pushed in c505e81.

Workflow now exposes a bounded, secure BPMN 2.0 inspection/profile API that inventories every model element, rejects unsafe/oversized XML, detects duplicate IDs and selected dangling references, and classifies native mapping/execution support. This does not falsely claim full BPMN execution.

Complete notation/XML round-trip editing is tracked in #9; profile-based executable adapters and conformance fixtures are tracked in #10. The native versioned graph/runtime remains authoritative until an adapter explicitly declares support.

Additional interoperability and layout slice pushed in `c505e81`. Workflow now exposes a bounded, secure BPMN 2.0 inspection/profile API that inventories every model element, rejects unsafe/oversized XML, detects duplicate IDs and selected dangling references, and classifies native mapping/execution support. This does not falsely claim full BPMN execution. Complete notation/XML round-trip editing is tracked in #9; profile-based executable adapters and conformance fixtures are tracked in #10. The native versioned graph/runtime remains authoritative until an adapter explicitly declares support.
Author
Owner

Codex State: progress

The definition/editor/runtime portion is now implemented, including immutable revisions, native graph execution, durable instance/step/event state, Dataflow lifecycle handoff, human review/wait handoffs, canonical progress UI, and explicit versioned BPMN materialization.

Remaining before closure is intentionally narrower:

  • configuration-package registration/import for Workflow definitions;
  • durable generic action command/effect records using the new Core action/effect contract;
  • timer persistence/dispatch;
  • provider retry, quarantine, manual recovery, and compensation execution beyond the existing Dataflow-specific lifecycle.

No product decision is needed for these remaining slices.

## Codex State: progress The definition/editor/runtime portion is now implemented, including immutable revisions, native graph execution, durable instance/step/event state, Dataflow lifecycle handoff, human review/wait handoffs, canonical progress UI, and explicit versioned BPMN materialization. Remaining before closure is intentionally narrower: - configuration-package registration/import for Workflow definitions; - durable generic action command/effect records using the new Core action/effect contract; - timer persistence/dispatch; - provider retry, quarantine, manual recovery, and compensation execution beyond the existing Dataflow-specific lifecycle. No product decision is needed for these remaining slices.
Author
Owner

Codex State: progress

Summary

  • Added revision-pinned guided, automated, and hybrid execution modes, with start origin tracked independently.
  • Implemented durable capability action execution through Core's versioned action/effect provider contract, including preview, idempotency, retry, observed effects, audit references, and fail-closed unknown outcomes.
  • Added explicit Dataflow warning/failure policies so automated runs cannot silently create an unintended human handoff.
  • Added a dashboard open-work return path and exact notification deep links for resumable runs.

Verification

  • python -m unittest tests.test_instance_service tests.test_service tests.test_node_library tests.test_migrations (25 passed)
  • Core full linked-module WebUI build and bundle-budget check passed.

Next / Blocked

  • Decision execution and durable timer/event waits remain before the runtime acceptance criteria are complete.
## Codex State: progress ### Summary - Added revision-pinned `guided`, `automated`, and `hybrid` execution modes, with start origin tracked independently. - Implemented durable capability action execution through Core's versioned action/effect provider contract, including preview, idempotency, retry, observed effects, audit references, and fail-closed unknown outcomes. - Added explicit Dataflow warning/failure policies so automated runs cannot silently create an unintended human handoff. - Added a dashboard open-work return path and exact notification deep links for resumable runs. ### Verification - `python -m unittest tests.test_instance_service tests.test_service tests.test_node_library tests.test_migrations` (25 passed) - Core full linked-module WebUI build and bundle-budget check passed. ### Next / Blocked - Decision execution and durable timer/event waits remain before the runtime acceptance criteria are complete.
Author
Owner

Architecture update: definition/runtime persistence moves to the headless Workflow Engine under #12. The existing immutable revision, activation, instance pinning, BPMN, and execution behavior remains the migration baseline; Workflow will retain only authoring/inspection UI after extraction.

Architecture update: definition/runtime persistence moves to the headless Workflow Engine under #12. The existing immutable revision, activation, instance pinning, BPMN, and execution behavior remains the migration baseline; Workflow will retain only authoring/inspection UI after extraction.
Author
Owner

Codex State: done

Summary

  • Completed the durable execution acceptance surface in the extracted Workflow Engine: immutable definitions/revisions, package fragments and module baselines, instances/history, action/effect commands, manual recovery, durable timer/event waits, governed triggers, UI inspection, and capability-only optional integrations.
  • Final trigger/wait implementation is GovOPlaN/govoplan-workflow-engine@a1cea1d; the editor compatibility fixture update is GovOPlaN/govoplan-workflow@6e27e72.

Changed Files

  • ../govoplan-workflow-engine/src/govoplan_workflow_engine/backend/instance_service.py
  • ../govoplan-workflow-engine/src/govoplan_workflow_engine/backend/triggers.py

Verification

  • Workflow Engine suite passed (61 tests); Workflow editor/compatibility suite passed (47 tests).
  • Workflow WebUI typecheck and full module-permutation matrix passed.
## Codex State: done ### Summary - Completed the durable execution acceptance surface in the extracted Workflow Engine: immutable definitions/revisions, package fragments and module baselines, instances/history, action/effect commands, manual recovery, durable timer/event waits, governed triggers, UI inspection, and capability-only optional integrations. - Final trigger/wait implementation is GovOPlaN/govoplan-workflow-engine@a1cea1d; the editor compatibility fixture update is GovOPlaN/govoplan-workflow@6e27e72. ### Changed Files - `../govoplan-workflow-engine/src/govoplan_workflow_engine/backend/instance_service.py` - `../govoplan-workflow-engine/src/govoplan_workflow_engine/backend/triggers.py` ### Verification - `Workflow Engine suite passed (61 tests); Workflow editor/compatibility suite passed (47 tests).` - `Workflow WebUI typecheck and full module-permutation matrix passed.`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-workflow#5