Bring the engineer-facing FDS documentation next to the code it describes: ADR-0001 to ADR-0006, the ADR index and template, the L3 component view, and the slice-1 proposal. All translated to Dutch. Source: projects/open-register-fd/ in Respellion/innovation-lab. Land the set in docs/architecture/fds/ rather than docs/architecture/. This repo already owns adr-0001-loose-coupling to adr-0004-bdd-framework, so a flat import collides on every number. The subfolder keeps the imported numbering, and with it about thirty ADR-000N cross-references in the imported text. Add the mermaid custom fence to pymdownx.superfences. Without it the imported diagrams publish as raw code blocks, because the site has no mermaid support today. Add the nav group and one link from the docs index. The blueprint, the FDS gap analysis and the privacy views stay in the lab repo; the OKRs cite them and they feed tender responses. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.9 KiB
ADR-0001: Anti-Corruption Layer op elke registergrens
- Status: accepted
- Datum: 2026-06-13
- Deciders: Lab Circle (Build, Lead Link)
- Vervangt / vervangen door: —
Context
De applicatie bevraagt meerdere registers: BRP, NHR/KVK, en ZGW via OpenZaak. Hun vocabulaires en schema's verschillen van elkaar en van ons domein. Zij veranderen ook zelf mee met de FDS-standaarden.
Lekt registervocabulaire het domeinmodel in, dan werkt elke wijziging aan de registerzijde door in de bedrijfslogica. Het domein wordt dan een lappendeken van vreemde begrippen in plaats van ubiquitous language.
Besluit
Elk register is bereikbaar via een Anti-Corruption Layer: één adapter per register, die een port vervult die het domein definieert.
Adapters doen alleen vertalen en velden versmallen. Zij bevatten geen bedrijfslogica. Het domein
spreekt Persoon en Organisatie, en nooit veldnamen uit BRP of NHR.
Gevolgen
Positief: verloop in registers en FDS-standaarden blijft bij de adapter. Het domein blijft stabiel en testbaar. Adapters zijn onafhankelijk vervangbaar, en dat is precies wat de FSC-wissel uit ADR-0002 goedkoop maakt. Het patroon generaliseert naar een herbruikbare ACL-template per register, een Foundations-kandidaat.
Negatief en kosten: één vertaalmap per register om te schrijven en te onderhouden, plus een extra indirectie die engineers moeten respecteren in plaats van omzeilen.
Vervolgwerk: extraheer de ACL-template zodra de tweede adapter bestaat (slice 3).
Overwogen alternatieven
- Registers direct aanroepen uit de applicatieservices — afgewezen: dit koppelt bedrijfscode aan registerschema's en aan versies van FDS-standaarden.
- Eén generieke registeradapter — afgewezen: registers verschillen genoeg dat een generieke abstractie zou gaan lekken of opzwellen. Adapters per register zijn duidelijker.