Skip to content

Retire the app-local HITL machinery onto the shared task service (follow-up to #1812) #1813

Description

@rubenvdlinde

PR #1812 landed the adoption seam: every approval_request is mirrored into OpenRegister's shared task service, decisions close the mirror, and the shared sweep owns the mirror's expiry. The remainder of the convergence, tracked here (openspec change hitl-on-shared-tasks, tasks.md section 2):

  • Listen to OpenRegister's TaskTransitionedEvent for mirrored tasks (appId integriq, metadata approvalRequestId) and resolve the approval_request task-first; then retire ApprovalTimeoutSweepJob for mirrored rows (keep it for pre-seam rows without a taskUuid).
  • Drive approve/reject from the shared task inbox, reducing ApprovalsController to the resume orchestration (rehydrate + re-invoke), with the two-layer authorization moving to the task's candidate-group model.
  • Delegate the approver notification to the shared task service and drop the imperative dispatch in ApprovalService::notifyApprovers() (avoids the current double-notification for mirrored approvals).
  • Translate the mirrored task's title and description (the seam ships untranslated strings; ApprovalService has no IL10N yet).

Depends on: ConductionNL/openregister#3338 (merged) — task-expiry-and-outcomes.

Metadata

Metadata

Assignees

Labels

triageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions