refactor(organisations): retire the menu entry that outlived the migration - #1584
Merged
rubenvdlinde merged 1 commit intoAug 31, 2026
Merged
Conversation
…ation The dossiq `tenant` schema has been DEPRECATED for a while, and says so itself: "Tenant identity now lives on OpenRegister's Organisation entity; this schema is retained only so pre-migration rows remain readable until sunset." `occ dossiq:migrate-tenants` moves the rows. OpenRegister carries the Organisation model, and openregister#3247 is giving it the chain-partner fields dossiq's partner schema still holds. What never happened is the last step: the Organisations settings entry stayed in the menu, pointing at an index over the deprecated schema. On this instance that index lists zero rows, because the data has already moved. An admin opening it learns nothing and edits nothing. The page stays routable for deep links and e2e specs; only the entry goes, declared in menu-layout.json under `removals` per ADR-044 Decision 2. gate-53 warns, correctly, that a cross-app waiver is a REDUCED GUARANTEE: it checks only that `openregister` is a known fleet app id, and cannot check that page `organisation` exists there, is reachable, or carries this functionality — nor can the waiver ever rot. So the judgement is written into removalsCoverageNote to be re-checkable, the way BesluitvormingAgenda's is. Measured against the running instance: openregister declares page id `organisation` (route /organisation) with a live `Organisations` menu entry, and ships OrganisationsIndex.vue, OrganisationDetails.vue and JoinOrganisation.vue. Unlike the decidesk case, dossiq DOES declare a manifest dependency on openregister, so the target is guaranteed present.
Contributor
Quality Report — ConductionNL/dossiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue3-compile | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 106/106 | |||
| npm | ✅ | ✅ 540/540 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| PHPUnit | ✅ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development | ||||
| Hydra gates | ✅ |
Quality workflow — 2026-08-31 21:12 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One settings entry gone. Part of the consolidation programme; unblocks nothing else, blocked by nothing.
The dossiq
tenantschema has been deprecated for a while and says so itself:occ dossiq:migrate-tenantsmoves the rows. OpenRegister carries the Organisation model, and openregister#3247 is giving it the chain-partner fields dossiq's partner schema still holds.What never happened is the last step. The Organisations settings entry stayed in the menu, pointing at an index over the deprecated schema. On the dev instance that index lists zero rows, because the data already moved. An admin who opens it learns nothing and edits nothing.
The page stays routable for deep links and e2e specs; only the entry goes, under
removalsper ADR-044 D2.The cross-app waiver, verified by hand because the gate cannot
gate-53 warns — correctly — that this is a reduced guarantee: it checks only that
openregisteris a known fleet app id, and cannot check that pageorganisationexists there, is reachable, or carries the functionality. It also cannot rot: a same-app waiver FAILs the day its target leaves the menu, this one never will.So the judgement is written into
removalsCoverageNoteto be re-checkable, the wayBesluitvormingAgenda's is. Measured against the running instance: openregister declares page idorganisation(route/organisation, type custom) with a liveOrganisationsmenu entry, and shipsOrganisationsIndex.vue,OrganisationDetails.vue,JoinOrganisation.vue.Unlike the decidesk case, dossiq does declare a manifest dependency on openregister, so the target app is guaranteed present rather than merely hoped for.
Verification
check:manifest: Ajv PASSTenantspage still routable