docs(backlog): move FORM-09 to resolved — listener refactored in previous commit

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 21:19:00 +02:00
parent fda8033633
commit 6f032a0311

View File

@@ -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)~~ ✅
---