[Feature] Orchestrate resumable Dataflow runs and human review handoffs #4

Closed
opened 2026-07-28 00:58:11 +02:00 by zemion · 1 comment
Owner

Implement a Workflow step contract that pins and starts a Dataflow revision, waits for success/warning/failure/review-required, routes the user to the Dataflow-owned review surface, resumes with stable output references, and preserves cancellation/retry/audit state.

This is a child of the monthly guided data workflow and complements focused workflow mode in #3.

Upstream: GovOPlaN/govoplan-dataflow#9

Implement a Workflow step contract that pins and starts a Dataflow revision, waits for success/warning/failure/review-required, routes the user to the Dataflow-owned review surface, resumes with stable output references, and preserves cancellation/retry/audit state. This is a child of the [monthly guided data workflow](https://git.add-ideas.de/GovOPlaN/govoplan/issues/8) and complements focused workflow mode in https://git.add-ideas.de/GovOPlaN/govoplan-workflow/issues/3. Upstream: https://git.add-ideas.de/GovOPlaN/govoplan-dataflow/issues/9
Author
Owner

Codex State: done

Summary

  • Implemented revision-pinned, idempotent Workflow instances with persisted steps and append-only evidence.
  • Dataflow handoffs now enqueue through the lifecycle capability, reconcile in a Core worker after current-authorization checks, retain stable output references, and support review, retry, rejection, and cancellation.
  • Added a Workflow run operator dialog for progress, handoff actions, evidence, event history, and linked Dataflow navigation.

Changed Files

  • src/govoplan_workflow/backend/instance_service.py
  • src/govoplan_workflow/backend/router.py
  • webui/src/features/workflow/WorkflowRunsDialog.tsx

Verification

  • Workflow: 20 tests passed; Ruff passed; WebUI typecheck passed.
  • Focused cross-module suite passed, including all module permutations and full-product build.

Next / Blocked

  • Generic capability nodes and non-manual trigger dispatch remain separate follow-up work, not part of this Dataflow/human-handoff slice.
## Codex State: done ### Summary - Implemented revision-pinned, idempotent Workflow instances with persisted steps and append-only evidence. - Dataflow handoffs now enqueue through the lifecycle capability, reconcile in a Core worker after current-authorization checks, retain stable output references, and support review, retry, rejection, and cancellation. - Added a Workflow run operator dialog for progress, handoff actions, evidence, event history, and linked Dataflow navigation. ### Changed Files - `src/govoplan_workflow/backend/instance_service.py` - `src/govoplan_workflow/backend/router.py` - `webui/src/features/workflow/WorkflowRunsDialog.tsx` ### Verification - `Workflow: 20 tests passed; Ruff passed; WebUI typecheck passed.` - `Focused cross-module suite passed, including all module permutations and full-product build.` ### Next / Blocked - Generic capability nodes and non-manual trigger dispatch remain separate follow-up work, not part of this Dataflow/human-handoff slice.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-workflow#4