Repository navigation
refactor(vth): the VTH procedure is a case definition package, and its seeders are deleted - #3791
Merged
Merged
Conversation
…ists; the VTH seeders are deleted (unverified)
… Newman (unverified)
…leted (unverified)
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:17 UTC
Download the full PDF report from the workflow artifacts.
…ckage-vth # Conflicts: # appinfo/info.xml # tests/Unit/Repair/Vth/VthCaseTypeChildSeederTest.php
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.
…ision 208) The drafts in lib/Settings/vth-templates/ become draft flows of the vth package, and the directory goes. No case follows a draft until an administrator publishes it. The workflow backfill no longer counts a draft as a flow a case type has, so a case type that ships only a draft keeps its basis flow. Unverified: the Settings, Repair and Architecture suites are queued.
…e a draft (decision 208) Verified: Settings 313, Repair 396 and Architecture 100 tests exit 0 with the drafts in. The backfill's draft check is written without a new branch, so the repair step stays under the phpmd complexity limit.
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:26 UTC
Download the full PDF report from the workflow artifacts.
…ckage-vth # Conflicts: # appinfo/info.xml # appinfo/routes.php
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:43 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 | ✅ | ||||
| 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,
remko48 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
Ready. #3778 is on development, so this merges on its own.
composer check:strictpassed once on 8e89c99: all checks, PHPUnit 8,325 tests. After it: one prettier fix ontests/vitest/caseTypeListColumns.spec.jsand the tightened debt baseline..procedure-code-baseline.jsongoes from 206 to 195..debt-baseline.json:psalm.inlineSuppressions266 to 259.openspec/specs/beta-alignment/spec.mdnow names thevthpackage instead oflib/Settings/vth-templates/.check:debt-ratchetoneslint.inlineDisables(15 against a baseline of 14, the same on development) and the Quality Report that sums the jobs.Where a line below disagrees with this section, this section is the current one.
What
The VTH procedure is now the case definition package
lib/Settings/packages/vth/. The VTH seeders are deleted. Stacked on #3778 (which is on #3654). Merge those first.identifier, equal to the slug the seeder used. Term definitions and the publish step find it under the same key.Deleted
Repair/VthSeedDataRepairStep,Repair/SeedVthWorkflowTemplates, all ofRepair/Vth/(seven classes),lib/Settings/vth_seed_data.json,lib/Settings/seed/vth-workflow-templates/, their unit tests, theirinfo.xmlsteps and the phpstan entry.Service/VTHTemplateService,Controller/VTHTemplateControllerand the routes/api/vth/templatesand/api/vth/templates/{slug}/activate. They repeat the genericTemplateLibraryServicefor files namedvth-*. No screen, journey or collection calls them.Sweeps
PackageFlowStatusReferencesTest: in every package, a flow names only statuses of its own case type. It replacesShippedVthTemplateStatusesTest.ShippedPackageCaseTypesreads package case types in the nested seed shape.CaseFlowDeclarationTest,PublishSeededCaseTypesTest,SeededCaseTypeCategoriesTestandShippedDeadlineDefinitionCoverageTestread the package through it.SeedPayloadSchemaConformanceTestwalks every package'scase-type.jsonandseed/files.ShippedActionVocabularyTestreads actions inside a flow's JSON strings and exempts no type. The package storescreateSubCase, the form the seeder already wrote forspawnCase.x-indexfrom the package.Each package gets a collection and a journey
tests/integration/packages/vth.postman_collection.json, 56 reads.tests/e2e/packages/vth.spec.ts. Neither ran locally. The PR stays a draft until the journey is green in CI (decision 185).Decisions made here
TemplateLibraryServiceand the package installer. So the VTH service and controller are deleted and nothing new is built.lib/Settings/templates/vth-*.jsonstay, because the generic template library lists them.lib/Settings/vth-templates/*.json(six flow drafts) stay too. No code reads them. Whether they become draft flows in the package is a content question for Ruben.klacht-toezichtandbezwaarare not in the package. No shipped case type had those slugs, so the seeder skipped them on every install.Known effects
workflowDefinitionreference before the flow row exists. The case type is written first.Will conflict
SeedPayloadSchemaConformanceTest,SeededCaseTypeCategoriesTest,RepairStepRegistrationTest,SeedWriteIdentityTest). The package walks were copied from those branches so equal hunks merge clean. The rest is a comment or a list line.VthChecklistSeederTest, which this PR deletes.Verified
ManifestColumnBindingTestfails on development too: the Organisations page askskvkCompanyforopenCases(feat(design): contact and organisation pages on the shared relation-page shape #3762).composer check:strict, the two vitest files, the journey and the Newman collection. CI not read.Round 7: the six flow drafts ship as draft flows (decision 208)
lib/Settings/vth-templates/are now draft flows of the package (flows/concept-*.json), and the directory is gone. A draft is stored withlifecycleStatus: draft. No case follows it until an administrator publishes it.notifyaction, so the guard and action sweeps hold a draft to what they ask of a published flow.regulieranduitgebreidbesidestandaard. It also gains the fieldinhoudelijkeToets, which the regulier draft guards on.MigrateWorkflowDefinitionsno longer counts a draft as a flow the case type has. Sloopmelding and toezichtzaak milieu ship only a draft, and without this a clean install would have given them no basis flow. Red first:r7-backfill-red.log.PackageDraftFlowsTesthands every package's flows to the realWorkflowDefinitionService: a draft is never among the flows a case can follow, never answers for its route, never is a case type's default. Control: a draft marked active fails it (r7-drafts-sweep-control.log).What an administrator must still do before publishing a draft:
A draft an administrator changed or published is kept on upgrade: the installer never overwrites a row the instance holds.
Verified this round: Settings 313, Repair 396, Architecture 100 tests exit 0; phpcs and phpmd on
MigrateWorkflowDefinitionsclean. Not run:composer check:strict, vitest, the journey.openspec/specs/beta-alignment/spec.mdstill nameslib/Settings/vth-templates/in one scenario; that line is stale and not changed here.