From 6f032a031116fca6457a6f55a63af5721a4110bd Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Thu, 23 Apr 2026 21:19:00 +0200 Subject: [PATCH] =?UTF-8?q?docs(backlog):=20move=20FORM-09=20to=20resolved?= =?UTF-8?q?=20=E2=80=94=20listener=20refactored=20in=20previous=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 (1M context) --- dev-docs/BACKLOG.md | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/dev-docs/BACKLOG.md b/dev-docs/BACKLOG.md index bfd88489..d37507dc 100644 --- a/dev-docs/BACKLOG.md +++ b/dev-docs/BACKLOG.md @@ -392,39 +392,6 @@ Prioriteit: Medium. Kan gebundeld worden met de organizer --- -### FORM-09 — TriggerPersonIdentityMatchOnFormSubmit ShouldQueue herzien - -**Aanleiding:** De bestaande listener `implements ShouldQueue`. Gevolg: -bij een public event_registration submission is -`identity_match_status` nog `null` op het moment dat de submit-HTTP- -response terugkeert. De confirmation page rendert daardoor zonder -banner bij first load — pas na een refresh (of queue-worker tick) is -de `pending` staat zichtbaar. Tijdens S3a PR 2 is dit genoteerd als -"dev ergonomics" (draai `queue:work` erbij), maar dat is een -workaround, geen fix. -**Wat:** Verwijder `implements ShouldQueue` uit -`TriggerPersonIdentityMatchOnFormSubmit`. De listener wordt -orchestrator: schrijft `identity_match_status` synchroon in de -request-lifecycle zodat de submit-response direct klopt. Wanneer -FORM-05 proper landt met zwaardere matching-logica -(`PersonIdentityService::detectMatchesByValues` met fuzzy name -matching over de hele org), wordt dat zware werk gedispatched als -aparte `ResolveIdentityMatchJob` vanuit deze listener. Eager state -transition blijft sync, heavy resolution blijft async. - -Zie ook: architectuur-discussie in de S3a planning-sessie -("eager state + lazy resolution" patroon). - -**Prioriteit:** Middel — niet user-facing blocking vandaag (draait -met `queue:work` gewoon), maar architecturaal is de refactor juist nu -klein (1 regel weghalen + test-aanpassing). Wordt groter als FORM-05 -landt zonder deze refactor. - -**Impact:** ~5 regels code, 1-2 test-aanpassingen. Eén commit, aparte -PR. - ---- - ### SUP-01 — Leveranciersportal + productieverzoeken **Aanleiding:** Leveranciers moeten productie-informatie kunnen indienen. @@ -572,6 +539,7 @@ De volgende items zijn geïmplementeerd en afgerond (673+ tests): - ~~Premium portal wizard (banner, branding, success page)~~ ✅ - ~~Global error handling (useNotificationStore + axios 422 interceptor)~~ ✅ - ~~S3a PR 2: TAG_PICKER / AVAILABILITY_PICKER / SECTION_PRIORITY renderen in het publieke registratieformulier. Seeder uitgebreid met twee showcase-velden + parent-level VOLUNTEER time slot + duplicate section name voor dedup-dekking. SECTION_PRIORITY waarde-shape gevalideerd in FormValueService. `FormSubmissionResource` krijgt admin-facing `identity_match` block. 64 nieuwe assertions over backend + Vitest.~~ ✅ +- ~~FORM-09: TriggerPersonIdentityMatchOnFormSubmit sync refactor (eager state transition, async resolution deferred to FORM-05)~~ ✅ ---