Skip to content

feat(versiebeheer): versie-bewuste schemaStore (Fase 2a)#408

Draft
robbertbos wants to merge 1 commit into
feat/sources-versiebeheerfrom
feat/sources-versiebeheer-2-loader
Draft

feat(versiebeheer): versie-bewuste schemaStore (Fase 2a)#408
robbertbos wants to merge 1 commit into
feat/sources-versiebeheerfrom
feat/sources-versiebeheer-2-loader

Conversation

@robbertbos

Copy link
Copy Markdown
Member

Fase 2a — versie-bewuste schemaStore (loader-fundament)

Eerste stuk van Fase 2 (de kern: per-assessment versie-pinning). Voegt een versie-registry toe aan schemaStore, zodat een specifieke definitie-versie op zijn volledige canonieke urn opgevraagd kan worden — náást de bestaande per-type view.

Wat

  • register(def) — registreert een definitie op urn:nl:<type>:<volledige-versie> (bv. urn:nl:dpia:3.1.0-concept.2); type afgeleid uit de urn-prefix.
  • getByUrn(urn) / registeredUrns() — versie-precieze lookup.
  • init({preScan,dpia,iama}) blijft als shim en vult de registry mee.

Eigenschappen

  • Additief & breaking-change-vrij: alle 8 bestaande FormType-call-sites (getSchema/getUrn/init) werken ongewijzigd.
  • Tests: schemas.ts 100% (39/39 branches), volledige core-suite 1222 tests @ 100% coverage.

Twijfels / open punten (graag jouw review)

  • Dit is fundament: de registry wordt nog niet geconsumeerd (resolve-by-pin volgt). Bewust klein gehouden.
  • Vervolg: resolve-by-pin in de app-loaders (consumeert getByUrn) → daarna de per-assessment pin-kolom (backend/DB-migratie — daar wil ik je review op vóór ik de save/create-flow raak) → Fase 1 (echte multi-versie-build, raakt CI; apart).
  • Sequencing: ik leid bewust met de kern (Fase 2) i.p.v. Fase 4; Fase 1 minimaal. Kan los gereviewd worden.

Stapelt op de epic-branch feat/sources-versiebeheer (#406).

schemaStore krijgt een versie-registry naast de bestaande per-type view:
- register(def): registreert een definitie op zijn volledige canonieke urn
  (bv. urn:nl:dpia:3.1.0-concept.2), type afgeleid uit de urn-prefix.
- getByUrn(urn) / registeredUrns(): versie-precieze lookup.
- init({preScan,dpia,iama}) blijft als shim en vult de registry mee.

Additief: alle bestaande FormType-call-sites (getSchema/getUrn/init) werken
ongewijzigd. Fundament voor resolve-by-pin (vervolg-PR). Core 1222 tests @ 100%.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant