refactor(nav): retire five superseded pages instead of only hiding them - #1682
Open
rubenvdlinde wants to merge 3 commits into
Open
refactor(nav): retire five superseded pages instead of only hiding them#1682rubenvdlinde wants to merge 3 commits into
rubenvdlinde wants to merge 3 commits into
Conversation
added 2 commits
September 2, 2026 11:21
`removals` in src/menu-layout.json hid a menu entry and left the page routable. For five entries the page had nothing left to show, so this deletes the page rather than the link to it, and the array drops to 9. Bezwaren and Beroepen were each an index over register dossiq and schema case narrowed only by filter.caseType, and both narrowed on case types sitting under _caseTypes_disabled in lib/Settings/bezwaar_seed_data.json, so both listed zero rows in every install. Cases carries the same register, the same schema and the same field through folderSidebar.filterField. complaints-bezwaar.spec.ts had been describe.fixme on exactly that ground since procest#675. Advice was an index over adviesAanvraag, a model decidesk has owned since consume-decidesk-besluitvorming-leaf. Parafeerroutes was the design screen for approval routes, which dossiq#1632 turned into flows, so editing there reached nothing that runs. Both detail routes stay registered: /advice/:id and /settings/parafeerroutes/:id keep resolving, and so does the audit context that names parafeerrouteId. BezwaarBeroepOverview goes with them. Its four cards pointed at Bezwaren, Beroepen, BezwaarDecisions and BezwaarAdviceRequests; the last two were already retired by case-type-navigation, so every card on the page resolved to nothing. Its change proposal is marked superseded rather than rewritten. BesluitvormingAgenda leaves the array as a stale entry matching no merged menu entry, which is what gate-53 had been reporting. CaseMap and SubstitutionAdminMenu stay hidden rather than deleted, and the coverage note now records why. Both pages are type: custom, which means the standard types cannot host what they do, so a waiver naming Cases covers where the user lands and not what they can do there. Cases carries one of SubstitutionAdmin's five capabilities, and its own _note says the standard list type cannot host the others. The three Reports waivers stay for the opposite reason: the Reports page's cards route straight at those pages. Also declares requiredApp on the case-kpis-hours widget, which reads register humaniq without it (gate-55, pre-existing on development).
Two conflicts, both in src/menu-layout.json, both resolved by keeping each side's decision rather than either version wholesale. development removed `Voorstellen` from `removals` because the case-detail consolidation dropped the `case-voorstellen` widget that was its only navigation edge, so the entry is restored rather than waived. This branch removed six other entries because their pages are deleted. Both hold: the array is now 8, and every one of the 8 is waived. The coverage note is merged rather than picked: development's Voorstellen rationale is kept alongside this branch's record of what was deleted and why a `type: index` page is replaceable where a `type: custom` one is not. Also corrects two spec amendments this branch wrote before #1666 landed. They said an approval route is a flow authored at /flows, and named `occ dossiq:migrate-approval-routes-to-flows`. #1666 moved the parafering runtime to decidiq and retired the local engine including that projection and that command, so both now say parafering is raised in the decision app and recorded here. The reason `/settings/parafeerroutes` is retired is unchanged: editing a route object in dossiq reaches nothing that runs.
rubenvdlinde
requested review from
Rem-Dam,
SudoThijn and
remko48
as code owners
September 2, 2026 17:54
…epOverview entry Removing that registry block left the object literal opening on a blank line, which prettier --check rejects. Whitespace only.
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-09-02 18:14 UTC
Download the full PDF report from the workflow artifacts.
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-09-02 19:06 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.
What changed
removalsinsrc/menu-layout.jsonhid a menu entry and left the page routable.This makes five of them permanent by deleting the page, and records why the other
nine stay hidden rather than deleted. The array drops from 15 to 9.
Deleted
Bezwaren/bezwarentype: indexover registerdossiq/ schemacase, narrowed only byfilter.caseType.Casescarries the same register, schema and field viafolderSidebar.filterField. The caseType it filtered on sits under_caseTypes_disabled, so it listed zero rows in every install.Beroepen/beroepenAdvice/adviceadviesAanvraag, a model decidesk has owned sinceconsume-decidesk-besluitvorming-leaf.Parafeerroutes/settings/parafeerroutesBezwaarBeroepOverview/bezwaar-beroepBezwaren,Beroepen,BezwaarDecisionsandBezwaarAdviceRequests. The last two were already retired bycase-type-navigation, so every card resolved to nothing.BesluitvormingAgendaalso leaves the array: it matched no merged menu entry, whichis what gate-53 had been reporting.
Every
:iddetail route stays registered./bezwaren/:id,/beroepen/:id,/advice/:idand/settings/parafeerroutes/:idstill resolve, so stored deep linkskeep working and the audit context naming
parafeerrouteIdstill resolves.Deliberately NOT deleted
The waiver names where the entry's user should go next. It is not evidence the page
is redundant, and the test turned out to be the page
type.CaseMapandSubstitutionAdminMenuaretype: custom, which means thestandard types cannot host what they do.
Casescarries one ofSubstitutionAdmin's five capabilities (bulkActions.reassign); the page's own_notesays the standard list type cannot host register-on-behalf, the action-listinspection or bulk reassign.
CaseMap's waiver covers the presentation, not thecase-map-overviewrectangle / polygon / wijk-buurt selection scenarios.Reportswaivers point AT the pages: the Reports page's three cardsroute straight at
Doorlooptijd,TermijnDashboardandProcessMiningDashboard.Deleting them would leave Reports with three dead cards.
TenantsMenuandBezwaarCommitteesMenuare cross-app and their targets havenot shipped, so dossiq's page is the only UI.
The coverage note in
menu-layout.jsonnow records all of this.Specs
Five requirements asserted these routes stay reachable, so they are amended rather
than left to rot:
bezwaar-lifecycle,advice-management,parafeerroute-engine,objections-appeals-nav-group(REQ-POAG-003) anddossiq-config-to-settings(REQ-PCTS-004). The
bezwaar-beroep-cards-collapsechange is marked superseded.Also
Declares
requiredApp: humaniqon thecase-kpis-hourswidget, which reads registerhumaniqwithout it. That was a gate-55 failure pre-existing ondevelopment.Verification
eslint src tests scripts: 0 errorsvitest: 35 files, 360 tests passednpm run build: exit 0, no errors"/bezwaren","/beroepen","/advice","/settings/parafeerroutes"at 0 occurrences; all four:iddetailroutes still present
all 14 reproduce on clean
origin/developmentwithout this commit. Isolated bybuilding and deploying
developmentand this branch in turn and verifying theserved bytes before and after each run. Eight of them are
#1646relabelling thenav (
Casesto "All issues",MyWorkto "Assigned to me",WorkGroupto "Mywork") without updating the specs that assert the old labels. This branch adds
none of them.
case-flow-human-steps.spec.ts:196was checked separately: it failed once andpassed on a re-run of the same SHA, and 3/3 in isolation. Flaky, not a regression.
The pre-existing e2e breakage on
developmentis being fixed separately.