ADR: beoordeling escalation reassigns via external-worker task (S-14) #98
Closed
opened 2026-07-17 06:56:57 +00:00 by not
·
1 comment
No Branch/Tag Specified
main
ci/175-deploy-on-merge
feat/177-public-tls-edge
ci/168-helm-chart-ci-gate
docs/169-mkdocs-nav
feat/25-helm-kubernetes-caddy
fix/161-e2e-bounded-and-diagnosable
feat/162-werkbak-live-refresh
feat/132-medewerker-mfa
fix/156-tempo-ingester-healthcheck
feat/153-projection-sourced-from-objecten
feat/152-objecten-publishes-to-nrc
feat/149-acl-writes-registerrecord
feat/141-registerrecord-objecttype
perf/verify-stack-uwsgi-oz-nrc
fix/144-verify-stack-uwsgi
feat/140-objecten-up
feat/139-objecttypen-up
feat/131-default-fill-crud
chore/136-ci-job-summaries
fix/134-verify-stack-scheduling
feat/130-beheer-catalogi
feat/124-metrics-dashboards
ci/127-parallel-jobs
feat/123-distributed-traces
feat/111-self-service-resume
feat/113-acl-zaaktype-by-identificatie
fix/110-compose-local-flow
fix/115-e2e-single-worker
docs/111-backlog-s26
feat/106-close-zaak-on-timeout
feat/103-diploma-upload-documenten
feat/102-document-wait-timeout
feat/14-dmn-diploma-eligibility
feat/15-beoordeling-escalation
fix/portal-nginx-resolver
fix/local-eventsubscriber-acl
feat/12-withdrawal-portal
fix/91-local-compose-parity
feat/12-withdrawal-bff
feat/12-withdrawal-workflow
feat/12-withdrawal
feat/13-behandel-portal
feat/13-behandel-decide
feat/13-behandel-bff-auth-werkbak
feat/13-workflow-user-tasks
feat/13-behandel-decision-model
chore/release-2026.07.0
feat/78-reference-correlation
feat/75-approval-flow
feat/10-openbaar-portal
chore/73-ci-speedups
feat/68-e2e
feat/67-self-service-form
feat/66-api-client
feat/65-nx-workspace
feat/8-bff
feat/6-domain-service
feat/7-event-subscriber-projection
feat/56-nrc-notification-wiring
test/46-acl-openzaak-integration
feat/47-acl-mutation-baseline
ci/30-gitea-actions-ci
feat/5-acl-open-zaak
feat/4-flowable
feat/3-keycloak
feat/2-opennotificaties
feat/2-catalogus-seed
feat/10-openzaak-compose
feat/32-docs-scaffold
feat/31-contributor-workflow
feat/30-gitea-actions-ci
feat/29-bff-docker-compose
chore/remove-bootstrap-scripts
feat/28-bff-health
docs/split-s00
v2026.07.0
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
eho (Edwin van den Houdt)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eho/register-referentie#98
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Recorded ahead of S-14 (#15) per CLAUDE.md §14 (non-obvious decision + bends the workflow boundary). ADR file will land as
docs/architecture/adr-0015-*.mdin the implementing PR.Decision to be made: How does the 14-day boundary timer on the
Beoordelenuser task reassign the open task from thebehandelaargroup toteamlead?Context / forces: Flowable cannot reassign an already-open user task's candidate group from pure BPMN XML — it needs code. The repo has held a "no custom Java/jars in Flowable; Workflow Client is the only thing that talks to Flowable (§8.2)" posture, and already has an external-worker pattern (topic acquire/complete via REST, see ADR-0009). The task must stay open for the teamlead, so escalation must be non-interrupting.
Options considered:
P14DonBeoordelen→ external-workerserviceTaskon a new topic (BeoordelingEscaleren) → Workflow Client acquires the job and PUTs theBeoordelentask to swapcandidateGroupsbehandelaar→teamlead, then completes the job. Reuses ADR-0009 machinery; Workflow Client stays the sole Flowable client.Proposed option + why: Option 1. It keeps §8.2 intact, reuses the existing external-worker infrastructure, and adds no custom code inside Flowable. Cost is a new topic, a worker loop, and a Workflow Client reassign method — all covered by unit + integration tests.
Consequences: Escalation latency is bounded by the worker poll interval (seconds), acceptable for a 14-day timer. The Workflow Client gains a task-reassign capability reusable by future escalations. Flowable stays a stock image.
Coupling rules touched (CLAUDE.md §8): §8.2 (Workflow Client is the only code that talks to Flowable) — upheld, not bent. The BPMN owns the escalation path; the reassignment is delegated to the Workflow Client via an external task, consistent with §8.2.
Accepted and recorded as
docs/architecture/adr-0015-beoordeling-escalation.md, merged in #99 (closes #15). Closing this proposal.