Skip to content

refactor(organisations): retire the menu entry that outlived the migration - #1584

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/organisations-live-in-openregister
Aug 31, 2026
Merged

refactor(organisations): retire the menu entry that outlived the migration#1584
rubenvdlinde merged 1 commit into
developmentfrom
feat/organisations-live-in-openregister

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

One settings entry gone. Part of the consolidation programme; unblocks nothing else, blocked by nothing.

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 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 removals per 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 openregister is a known fleet app id, and cannot check that page organisation exists 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 removalsCoverageNote to be re-checkable, the way BesluitvormingAgenda's is. Measured against the running instance: openregister declares page id organisation (route /organisation, type custom) with a live Organisations menu entry, and ships OrganisationsIndex.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 PASS
  • gate-53: passes
  • Assembled menu: Organisations gone; Tenants page still routable

…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.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/dossiq @ 62a2fc8

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.

@rubenvdlinde
rubenvdlinde merged commit d1f1403 into development Aug 31, 2026
49 checks passed
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