[Feature] Execute idempotent Form handoffs to Cases and Workflow Engine #4

Closed
opened 2026-08-01 16:38:44 +02:00 by zemion · 1 comment
Owner

Outcome

Replace manual handoff-reference recording with governed owner-capability execution for configured Case and Workflow Engine targets.

Acceptance criteria

  • Resolve a versioned handoff binding from the exact Form/Service definition and invoke only the matching owner capability.
  • Carry exact submission, Service, Form, actor/representation, institutional context, evidence, and idempotency provenance without cross-module table access.
  • Persist requested, accepted, rejected, outcome-unknown, reconciled, and compensated evidence before advancing runtime status.
  • Never retry an outcome-unknown effect as a new handoff; reconcile using the same provider key.
  • Validate same-tenant targets and current policy/access at request and confirmation time.
  • Keep manual external handoff references explicit and distinguish them from confirmed native effects.
  • Expose status, retry/reconcile controls, target links, and explanations in the runtime WebUI.
  • Add Case/Workflow permutation tests, race/replay/failure tests, recovery docs, and user/admin documentation.
## Outcome Replace manual handoff-reference recording with governed owner-capability execution for configured Case and Workflow Engine targets. ## Acceptance criteria - Resolve a versioned handoff binding from the exact Form/Service definition and invoke only the matching owner capability. - Carry exact submission, Service, Form, actor/representation, institutional context, evidence, and idempotency provenance without cross-module table access. - Persist requested, accepted, rejected, outcome-unknown, reconciled, and compensated evidence before advancing runtime status. - Never retry an outcome-unknown effect as a new handoff; reconcile using the same provider key. - Validate same-tenant targets and current policy/access at request and confirmation time. - Keep manual external handoff references explicit and distinguish them from confirmed native effects. - Expose status, retry/reconcile controls, target links, and explanations in the runtime WebUI. - Add Case/Workflow permutation tests, race/replay/failure tests, recovery docs, and user/admin documentation.
Author
Owner

Codex State: done

Summary

  • Implemented exact-revision native Case and Workflow handoffs with durable requested/accepted/rejected/outcome-unknown/reconciled/compensated evidence, same-tenant/current-authority checks, idempotent reconciliation, UI status and recovery actions.
  • Pushed as GovOPlaN/govoplan-forms-runtime@b4388b1.

Changed Files

  • src/govoplan_forms_runtime/backend/handoffs.py
  • webui/src/features/forms/FormInstancePage.tsx
  • docs/FORMS_RUNTIME_DOMAIN_BOUNDARY.md

Verification

  • Forms Runtime backend and migration suite passed (10 tests).
  • Full module-permutation and WebUI build matrix passed.
## Codex State: done ### Summary - Implemented exact-revision native Case and Workflow handoffs with durable requested/accepted/rejected/outcome-unknown/reconciled/compensated evidence, same-tenant/current-authority checks, idempotent reconciliation, UI status and recovery actions. - Pushed as GovOPlaN/govoplan-forms-runtime@b4388b1. ### Changed Files - `src/govoplan_forms_runtime/backend/handoffs.py` - `webui/src/features/forms/FormInstancePage.tsx` - `docs/FORMS_RUNTIME_DOMAIN_BOUNDARY.md` ### Verification - `Forms Runtime backend and migration suite passed (10 tests).` - `Full module-permutation and WebUI build matrix passed.`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-forms-runtime#4