Skip to content
Deze documentatie wordt actief uitgebreid — kom regelmatig terug.

9. Architecture Decisions (ADRs)

This chapter holds the Architecture Decision Records that capture the choices made during the design and evolution of the Connected Trade Network.

Decisions are split into two tiers by audience:

  • ADR — Architecture Decision Record (this directory): board-level, large-scale choices an architecture board would own (stack, structure, identity, federation). Five-digit sequential ids (00001, …).
  • TDR — Technical Decision Record (docs/ai/adrs/): low-level, purely technical choices of concern only to builders (schema tooling, intake field mapping). Separate four-digit sequence (TDR-0001, …).

A decision belongs in the ADR tier when it is large-scale and board-relevant; otherwise it is a TDR. Each tier has its own numbering sequence and index; cross-references between tiers are by id.

RefTitle
00001Record architecture decisions
00002Define a preferred technology stack
00003Separate users and participants
00004Naming follows the glossary
00005Use AGENTS.md for AI guidelines
00006Token claim composition
00007Identity mutation proxy
00008External IdP federation strategy
00009Layered source code structure
00010Evolving from Package-based Plugins to Quarkus Extensions
00011URI-Based Legal Entity Identifier Scheme
00012OnboardingRequest Lifecycle Transition Seam
00013Applicant Keycloak account provisioned at intake
00014Claim Verification Provider seam and eHerkenning control-proof
00015End-to-End Browser Test Tooling — Playwright + Chromium
00016Language Support and Documentation Policy
00017Test Automation Using Playwright with TypeScript (strategic portal UI framework)
00018Build-enforced Java formatting via Spotless + an Eclipse JDT profile
00019Bulk import is a distinct onboarding Source with orthogonal Validity and admin-owned repair
00020Test Data Handling Strategy
00021Documents as a decoupled service behind an ObjectStorageProvider seam, Postgres-first
00022Module seam pattern — in-process seam vs internal, with a REST-boundary zone (audit pilot)
00023CTN Test Strategy — layers, ownership, and CI gating (umbrella over 00015 / 00017 / 00020)

(Two early decisions were reclassified as technical decisions and moved to the TDR tier — see docs/ai/adrs/. Numbering caveats: 00015 was used twice (Test Data Handling Strategy and the Playwright e2e tooling ADR); ADR-00017 is present in-repo but its file is named with an extra leading zero (000017-…); 00019 is currently unused. A separate ADR-renumbering branch (not yet merged) fixes these collisions/gaps — reconcile 00021’s number against that branch on merge.)

  • Numbering is sequential (00001, 00002, …). Pick the next free number.
  • Status moves through ProposedAcceptedReviewedApproved (or Rejected); a superseded ADR keeps its file but its status changes to Superseded by 0000N.
  • Every ADR has Context, Decision and Consequences sections (see the template).

In samenwerking met

Connected Trade NetworkConclusionData in LogisticsContargoInland Terminals GroupVan Berkel