[Debt] Adopt the Core recovery ledger for Workflow Engine side effects and resumable handoffs #1

Closed
opened 2026-08-03 02:11:46 +02:00 by zemion · 2 comments
Owner

Parent: GovOPlaN/govoplan#36.

Objective

Use Core recovery operations for automated service tasks, human handoffs, timers, and module actions with external or multi-resource effects.

Acceptance criteria

  • Workflow definitions declare recovery mode and verification for consequential activities.
  • Instance/activity idempotency and definition/input hashes are durable before effects.
  • Worker/timer execution is lease-fenced and stale claims cannot advance instances.
  • Outcome-unknown activities block unsafe automatic continuation and expose operator recovery.
  • Crash, retry, stale-fence, tamper, and module-permutation tests cover the contract.
  • Engine documentation distinguishes process failure from unresolved external outcome.
Parent: GovOPlaN/govoplan#36. ## Objective Use Core recovery operations for automated service tasks, human handoffs, timers, and module actions with external or multi-resource effects. ## Acceptance criteria - [ ] Workflow definitions declare recovery mode and verification for consequential activities. - [ ] Instance/activity idempotency and definition/input hashes are durable before effects. - [ ] Worker/timer execution is lease-fenced and stale claims cannot advance instances. - [ ] Outcome-unknown activities block unsafe automatic continuation and expose operator recovery. - [ ] Crash, retry, stale-fence, tamper, and module-permutation tests cover the contract. - [ ] Engine documentation distinguishes process failure from unresolved external outcome.
Author
Owner

Codex State: started

Summary

  • Implementing durable recovery declarations, fenced runtime claims, outcome-unknown handoffs, and crash/tamper/module-permutation coverage.

Suggested status label: status/in-progress

## Codex State: started ### Summary - Implementing durable recovery declarations, fenced runtime claims, outcome-unknown handoffs, and crash/tamper/module-permutation coverage. Suggested status label: `status/in-progress`
Author
Owner

Codex State: done

Summary

  • Adopted Core recovery operations for module-action effects and fenced Workflow runtime transitions.
  • Unknown non-atomic provider outcomes now block continuation and require evidence-backed Effect confirmed or Effect absent reconciliation; blind retry is unavailable.
  • Linked Dataflow recovery attention propagates without duplicating recovery authority, and action evidence remains hash-only and tamper-evident.

Changed Files

  • src/govoplan_workflow_engine/backend/recovery.py
  • src/govoplan_workflow_engine/backend/instance_service.py
  • src/govoplan_workflow_engine/backend/triggers.py
  • docs/DURABLE_RUNTIME_RECOVERY.md

Verification

  • 68 backend tests plus 6 subtests passed
  • Workflow WebUI TypeScript check passed
  • 65/65 manifest registry check passed
## Codex State: done ### Summary - Adopted Core recovery operations for module-action effects and fenced Workflow runtime transitions. - Unknown non-atomic provider outcomes now block continuation and require evidence-backed Effect confirmed or Effect absent reconciliation; blind retry is unavailable. - Linked Dataflow recovery attention propagates without duplicating recovery authority, and action evidence remains hash-only and tamper-evident. ### Changed Files - `src/govoplan_workflow_engine/backend/recovery.py` - `src/govoplan_workflow_engine/backend/instance_service.py` - `src/govoplan_workflow_engine/backend/triggers.py` - `docs/DURABLE_RUNTIME_RECOVERY.md` ### Verification - `68 backend tests plus 6 subtests passed` - `Workflow WebUI TypeScript check passed` - `65/65 manifest registry check passed`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-workflow-engine#1