Repository navigation
Bezwaar and beroep become a case definition package (ADR-118, R1) - #3669
Merged
Merged
Conversation
The bezwaar and beroep case types ship as lib/Settings/packages/bezwaar-beroep/ (install: on-request), written by the package installer. The setup action `seed` installs it; installed or already current records setup_seed_done, a refusal or failed write answers 422 with the installer's message. Converted once, offline, by scripts/packages/seed-to-package.py: status names resolved into fixed UUIDs, a `*` source status (honoured by no reader) expanded into one transition per open status, flows published. The nine fields the flows guard on are declared as property definitions, so every guarded transition can be taken; the guard sweep and the payload sweep now walk every package. Deleted: SeedDataService, SeedSummary, SeedBezwaarBeroepData, SeedBezwaarBeroepCommand (occ dossiq:bezwaar:seed), SeedBezwaarWorkflowDefinition, bezwaar_seed_data.json and their unit tests. Newman collection and Playwright journey added (decision 185).
…-bezwaar-beroep # Conflicts: # tests/Unit/Architecture/catch-return-null.allowlist.json
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 | ❌ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-10 21:27 UTC
Download the full PDF report from the workflow artifacts.
This was referenced Oct 11, 2026
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 | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-11 07:48 UTC
Download the full PDF report from the workflow artifacts.
This was referenced Oct 11, 2026
…ckage-bezwaar-beroep # Conflicts: # appinfo/info.xml # lib/Repair/SeedBezwaarWorkflowDefinition.php # tests/Unit/Architecture/catch-return-null.allowlist.json
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 | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-12 07:52 UTC
Download the full PDF report from the workflow artifacts.
…s as OpenRegister answers them CI's packages job: OpenRegister answers the JSON text of a flow's transitions as a list, and the collection parsed it as text. It takes either now. The journey imports its type on its own line and is formatted, which eslint and prettier asked for.
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 | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-12 08:22 UTC
Download the full PDF report from the workflow artifacts.
…ckage-bezwaar-beroep
…ckage-bezwaar-beroep Development now seeds the Bezwaar case type with the Woo case type (register.d/84) and read the old bezwaar seed in a test. The seed stays deleted. The package names Bezwaar's statuses by the uuids the register seeds, so installing it completes the seeded case type; the test that read the parked seed now checks that. catch-return-null ceiling 262 (development's 263 minus the deleted SeedDataService site).
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 | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-12 10:42 UTC
Download the full PDF report from the workflow artifacts.
…ow moves by; the read-back reads the version record The shipped case flow moves a case by status role (intake, in-progress, closed). The Bezwaar and Beroep statuses had none, in the package and in the register fragment that seeds Bezwaar, so the flow would stop at its first step on a case of either type. Both now name the three. On a clean instance the register seeds the Bezwaar case type before the package installs, so the package finds it present and writes no ledger row for it. The collection now reads the package's version record, and the ledger row of the Beroep case type, which the package does write.
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 | ✅ | ||||
| check-debt-ratchet | ❌ | ||||
| check-types-e2e | ✅ | ||||
| composer | ✅ | ✅ 109/109 | |||
| npm | ✅ | ✅ 659/659 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | 🚨 NO VERDICT — enabled but never ran | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ⏭️ |
Quality workflow — 2026-10-12 14:03 UTC
Download the full PDF report from the workflow artifacts.
rubenvdlinde
marked this pull request as ready for review
October 12, 2026 14:08
rubenvdlinde
requested review from
Rem-Dam,
SudoThijn,
bbrands02 and
remko48
as code owners
October 12, 2026 14:08
rubenvdlinde
requested review from
WilcoLouwerse and
rjzondervan
as code owners
October 12, 2026 14:08
This was referenced Oct 12, 2026
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.
Status, 12 October
The first of a stack of three: #3669, #3725, #3768. They land together by #3768's head. See #3768 for the checks on the stack.
lib/Settings/bezwaar_seed_data.jsonstays deleted; the test development added on it now checks that the package completes the seeded Bezwaar.register.d/84-woo-bezwaar-case-type.json). The package names Bezwaar and its ten statuses by the same uuids, so installing it completes that case type with roles and a flow and adds no second one. Beroep ships only in the package.intake,in-progressandclosed. The register fragment for Bezwaar got the same three..procedure-code-baseline.jsongoes from 206 to 203..debt-baseline.json:phpmd.suppressWarnings188 to 187,phpunit.skips6 to 5. catch-return-null ceiling 262.Where a line below disagrees with this section, this section is the current one.
Stacked on #3654 (case definition package installer). Base it on development once #3654 lands; until then the diff includes #3654.
What
Bezwaar and beroep become the first real case definition package (hydra ADR-118, refactor lane R1).
lib/Settings/packages/bezwaar-beroep/,install: on-request: both case types, 19 status types, 10 role types, 9 property definitions, 2 published flows. Every row has a fixed UUID.seedinstalls the package throughPackageInstaller. Installed or already current recordssetup_seed_done; a refusal or failed write answers 422 with the installer's message. Before this, every call answered422 Nothing to seed, because the seed data was parked.scripts/packages/seed-to-package.py(outside lib/) did the conversion once, offline: status names resolved into fixed UUIDs, exactly asWorkflowReferenceResolverdid at runtime, with one change. A*source status is honoured by no reader (CaseTypeReachabilitysays so; I checked the transition code too), so the withdrawal and settlement transitions could never be taken. The script expands a wildcard into one transition per open status.isTimely,dispositionType,dispositionDetails,hearingWaived,minutesSummary,advisoryReport,withdrawalReason,rulingOutcome,settlementDetails).WorkflowGuardConformanceTest::testTheBezwaarBundleIsStillParkedexisted to stop the bundle from being re-enabled before they were declared. They are now property definitions of their case type, and the guard sweep and the payload sweep walk every package.SeedDataService,SeedSummary,SeedBezwaarBeroepData,SeedBezwaarBeroepCommand(occ dossiq:bezwaar:seed, replaced byocc dossiq:package:install bezwaar-beroep),SeedBezwaarWorkflowDefinition(it looked for identifierobjectionProceeding, which no seed writes, so it never ran),bezwaar_seed_data.json,ShippedSets::BEZWAAR_BEROEP, and their unit tests.tests/integration/packages/bezwaar-beroep.postman_collection.json. The packages workflow installs with--all(on-request included) on a clean instance and reads back case types, statuses, roles, a guarded field, both flows (every transition between two statuses of its case type) and the ledger row.tests/e2e/packages/bezwaar-beroep.spec.ts. An administrator runsseed, opens both case types with their flow under Versions, and runsseedagain to getcurrent.bezwaar-beroep-package: REQ-CT-50 added; the seeder requirements in bezwaar-lifecycle and dossiq-app-scaffold removed; REQ-SETUP-PRO-001/002 modified to describe the action that ships.Assumptions
--git-ref).seedstep. Offering the on-request package there is a product choice.on-requestfor a parked seed).bezwaar-beroepat 1.0.0, so the installer reads it as current and writes nothing over it.Verified
PackageValidator; rows checked against thedossiq_register.jsonproperty types and enums.check:strict: not run. The slot queue did not start my run in 10 minutes (four other lanes held or queued it), so per the lane brief I ran the targeted checks above instead. CI is the full check.Inherited
No inherited findings touched. Stale prose that still names
bezwaar_seed_data.jsoninsrc/manifest.d/50-subsidie.json,lib/Settings/seed/vth-workflow-templates/bezwaar.jsonandregister.d/46-demo-cases-english.jsonis left for the subsidie and VTH package PRs.