Skip to content

refactor(nav): retire five superseded pages instead of only hiding them - #1682

Open
rubenvdlinde wants to merge 3 commits into
developmentfrom
fix/retire-superseded-index-pages
Open

refactor(nav): retire five superseded pages instead of only hiding them#1682
rubenvdlinde wants to merge 3 commits into
developmentfrom
fix/retire-superseded-index-pages

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What changed

removals in src/menu-layout.json hid 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

Page Route Why it could go
Bezwaren /bezwaren type: index over register dossiq / schema case, narrowed only by filter.caseType. Cases carries the same register, schema and field via folderSidebar.filterField. The caseType it filtered on sits under _caseTypes_disabled, so it listed zero rows in every install.
Beroepen /beroepen Same shape, same disabled caseType.
Advice /advice Index over adviesAanvraag, a model decidesk has owned since consume-decidesk-besluitvorming-leaf.
Parafeerroutes /settings/parafeerroutes The design screen for approval routes, which dossiq#1632 turned into flows. Edits there reached nothing that runs.
BezwaarBeroepOverview /bezwaar-beroep A card grid whose four cards pointed at Bezwaren, Beroepen, BezwaarDecisions and BezwaarAdviceRequests. The last two were already retired by case-type-navigation, so every card resolved to nothing.

BesluitvormingAgenda also leaves the array: it matched no merged menu entry, which
is what gate-53 had been reporting.

Every :id detail route stays registered. /bezwaren/:id, /beroepen/:id,
/advice/:id and /settings/parafeerroutes/:id still resolve, so stored deep links
keep working and the audit context naming parafeerrouteId still 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.

  • CaseMap and SubstitutionAdminMenu are type: custom, which means the
    standard types cannot host what they do. Cases carries one of
    SubstitutionAdmin's five capabilities (bulkActions.reassign); the page's own
    _note says the standard list type cannot host register-on-behalf, the action-list
    inspection or bulk reassign. CaseMap's waiver covers the presentation, not the
    case-map-overview rectangle / polygon / wijk-buurt selection scenarios.
  • The three Reports waivers point AT the pages: the Reports page's three cards
    route straight at Doorlooptijd, TermijnDashboard and ProcessMiningDashboard.
    Deleting them would leave Reports with three dead cards.
  • TenantsMenu and BezwaarCommitteesMenu are cross-app and their targets have
    not shipped, so dossiq's page is the only UI.

The coverage note in menu-layout.json now 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) and dossiq-config-to-settings
(REQ-PCTS-004). The bezwaar-beroep-cards-collapse change is marked superseded.

Also

Declares requiredApp: humaniq on the case-kpis-hours widget, which reads register
humaniq without it. That was a gate-55 failure pre-existing on development.

Verification

  • hydra-gates: all 74 applicable gates passed, and the runner confirms all 74 ran
  • eslint src tests scripts: 0 errors
  • vitest: 35 files, 360 tests passed
  • npm run build: exit 0, no errors
  • Served bundle probed on the deployed instance: "/bezwaren", "/beroepen",
    "/advice", "/settings/parafeerroutes" at 0 occurrences; all four :id detail
    routes still present
  • Playwright chromium suite on a disposable instance: 142 passed, 14 failed, and
    all 14 reproduce on clean origin/development without this commit. Isolated by
    building and deploying development and this branch in turn and verifying the
    served bytes before and after each run. Eight of them are #1646 relabelling the
    nav (Cases to "All issues", MyWork to "Assigned to me", WorkGroup to "My
    work") without updating the specs that assert the old labels. This branch adds
    none of them.
  • case-flow-human-steps.spec.ts:196 was checked separately: it failed once and
    passed on a re-run of the same SHA, and 3/3 in isolation. Flaky, not a regression.

The pre-existing e2e breakage on development is being fixed separately.

Conduction Release Bot 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.
…epOverview entry

Removing that registry block left the object literal opening on a blank line,
which prettier --check rejects. Whitespace only.
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/dossiq @ ac84ed3

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.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/dossiq @ 3919680

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.

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