Skip to content

refactor(procest): rename omschrijving/beschrijving to description - #820

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/english-vocabulary-description-v2
Aug 12, 2026
Merged

refactor(procest): rename omschrijving/beschrijving to description#820
rubenvdlinde merged 1 commit into
developmentfrom
feat/english-vocabulary-description-v2

Conversation

@rubenvdlinde

@rubenvdlinde rubenvdlinde commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Renames the property across all five procest-scoped owning schemas and every code site that reads or writes it.

schema before after
complaint omschrijving description
bewijsstuk beschrijving description
mandate omschrijving description
informatieobject beschrijving description
informatieobjecttype omschrijving description

All owners in one migration scope

Ownership was checked before editing: these five are the only procest-scoped declarations, they collapse onto one English name without colliding (no schema declares both spellings, none already declares description), and all five live in the procest register — so the register-scoped repair step covers every owner. Verified after: 0 procest-scoped schemas still declare either spelling.

No migration entry needed — both mappings are already in RenameDutchDeadlineColumns::COLUMN_MAP, with the guard that refuses to migrate when two sources target one destination in a table. Measured: that guard cannot fire, because no schema carries both.

agendapunt is deliberately excluded

It lives in ori_register.json, which declares register slug ori, not procest. The repair step matches REGISTER_SLUG_PREFIX = 'procest', so ORI's shard tables are outside its scope — renaming it would ship a rename with no migration behind it. ORI is also Open Raadsinformatie, a Dutch municipal open-data standard, so it is plausibly wire-exempt. It needs its own ori-scoped migration and an exemption decision.

The breaking subset was isolated first

omschrijving/beschrijving appear 233 times — but only 42 break. The rest are Dutch prose, comments, wire-adapter field names (StUF/ZGW/ZTC) and ORI consumers, where renaming would be wrong or pointless.

Sizing the breaking subset first is what made this finishable in one pass. The same split turned mandaat (716 refs, 66 breaking) into #817.

Published contracts keep both spellings

ZaakdossierController reads an HTTP request param — description preferred, beschrijving still accepted, so an un-updated client does not break. ZaakdossierService does the same for its metadata array, and MandaatImportService for a CSV header.

Verification

  • 1882 tests, 6393 assertions green (5 skipped — baseline). One test failed first (MandaatImportServiceTest asserting the diff field name) and was fixed.
  • php -l clean on every changed file; all four register JSONs parse
  • phpcs: 46 errors — identical to the pre-change baseline, measured by stashing
  • Residual grep: no omschrijving/beschrijving anywhere in src/

The first test run reported a phantom failure: the disk hit 100% and truncated the copied vendor/ mid-copy, so vendor/bin/phpunit did not exist. I freed 5.5G of my own stale worktrees, re-copied, and re-ran. The numbers above are from the intact run.

Renames the property across all five procest-scoped owning schemas and every
code site that reads or writes it.

  complaint.omschrijving              -> description
  bewijsstuk.beschrijving             -> description
  mandate.omschrijving                -> description
  informatieobject.beschrijving       -> description
  informatieobjecttype.omschrijving   -> description

ALL OWNERS IN ONE MIGRATION SCOPE. Ownership was checked before editing: these
five are the only procest-scoped declarations, they collapse onto one English
name without colliding (no schema declares both spellings, and none already
declares `description`), and all five live in the `procest` register — so the
register-scoped repair step covers every owner. Verified after: 0 procest-scoped
schemas still declare either spelling.

NO MIGRATION ENTRY NEEDED. `omschrijving => description` and
`beschrijving => description` are ALREADY in RenameDutchDeadlineColumns'
COLUMN_MAP, together with the guard that refuses to migrate when two sources
target one destination in a single table. That guard cannot fire here: measured,
no schema carries both.

`agendapunt.omschrijving` IS DELIBERATELY EXCLUDED. It lives in
lib/Settings/ori_register.json, which declares register slug `ori`, NOT
`procest`. The repair step matches REGISTER_SLUG_PREFIX = 'procest', so ORI's
shard tables are outside its scope entirely — renaming it would ship a rename
with NO migration behind it. ORI is also Open Raadsinformatie, a Dutch municipal
open-data standard, so it is plausibly wire-exempt. It needs its own
`ori`-scoped migration and an exemption decision; neither belongs here.

THE BREAKING SUBSET WAS ISOLATED FIRST. `omschrijving`/`beschrijving` appear 233
times, but only 42 of those BREAK when the schema moves — property reads, filter
keys, request params. The rest are Dutch prose, comments, wire-adapter field
names (StUF/ZGW/ZTC) and ORI consumers. Renaming those would be wrong or
pointless. Sizing the breaking subset first is what made this finishable; the
same split turned mandaat (716 refs, 66 breaking) into procest#817.

PUBLISHED CONTRACTS KEEP BOTH SPELLINGS
  - ZaakdossierController reads an HTTP request param: `description` preferred,
    `beschrijving` still accepted, so an un-updated client does not break.
  - ZaakdossierService does the same for its metadata array.
  - MandaatImportService maps a CSV column header the same way.

VERIFIED
  - phpunit: 1882 tests, 6393 assertions green (5 skipped, same as baseline).
    One test failed first — MandaatImportServiceTest asserting the diff field
    name — and was fixed.
  - php -l clean on every changed file; all four register JSONs parse.
  - phpcs: 46 errors across the changed files, IDENTICAL to the pre-change
    baseline measured by stashing.
  - Residual grep: no omschrijving/beschrijving anywhere in src/.

A NOTE ON THE TEST RUN. The first attempt reported a phantom failure because the
disk hit 100% and truncated the copied vendor/ mid-copy — vendor/bin/phpunit did
not exist. Freed 5.5G of my own stale worktrees, re-copied vendor, and re-ran.
The numbers above are from the intact run.
@rubenvdlinde
rubenvdlinde merged commit f3ca3f7 into development Aug 12, 2026
22 of 23 checks passed
@rubenvdlinde
rubenvdlinde deleted the feat/english-vocabulary-description-v2 branch August 12, 2026 10:05
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ 05a38e4

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-vue3-compile
test-l10n
composer ✅ 100/100
npm ✅ 552/552
PHPUnit
Newman ⏭️
Playwright
Hydra gates

Quality workflow — 2026-08-12 10:22 UTC

Download the full PDF report from the workflow artifacts.

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