Skip to content

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

Open

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.

Activity

  1. github-actions commented on Sep 2, 2026

    @github-actions
    Contributor

    Thank you for opening this issue! It has been assigned to @rubenvdlinde for review.

    What happens next:

    1. A maintainer will review this issue and determine the appropriate action
    2. If accepted, it may be converted into an OpenSpec change for structured development
    3. You will be notified of any status changes

    Triage labels:

    • triage:accept-feature — accepted as a new feature
    • triage:accept-bugfix — accepted as a bug fix
    • triage:needs-info — more information needed
    • triage:wontfix — will not be addressed
    • triage:duplicate — duplicate of another issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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