feat(schemas): x-openregister-lifecycle on 7 schemas (re-do of #306)#419
feat(schemas): x-openregister-lifecycle on 7 schemas (re-do of #306)#419rubenvdlinde wants to merge 1 commit into
Conversation
Quality Report — ConductionNL/procest @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ❌ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ❌ | ||||
| stylelint | ❌ | ||||
| composer | ✅ | ✅ 100/100 | |||
| npm | ✅ | ✅ 419/419 | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ❌ |
Spec coverage: 5% (21 tests / 456 specs)
Quality workflow — 2026-05-12 05:38 UTC
Download the full PDF report from the workflow artifacts.
There was a problem hiding this comment.
[CONCERN] hearingSession: dossier_beschikbaar has no incoming transition
The hearingSession lifecycle uses dossier_beschikbaar as a from state in three transitions (execute, cancel, waive), but there is no transition whose to is dossier_beschikbaar. Starting from gepland, the lifecycle machine can reach uitgenodigd, uitgevoerd, geannuleerd, and afgezien — but dossier_beschikbaar is unreachable via any defined transition.
If dossier availability is set by an external/automatic process (not a user-triggered transition), this may be intentional and should be documented. If it is meant to be triggered manually, a makeDossierAvailable (or similar) transition from uitgenodigd to dossier_beschikbaar is missing.
Suggested fix: either add a transition makeDossierAvailable: { from: ["uitgenodigd"], to: "dossier_beschikbaar" }, or add a comment/description in the schema explaining that this state is set programmatically outside the lifecycle machine.
WilcoLouwerse
left a comment
There was a problem hiding this comment.
Review
🟡 Concerns (1)
- hearingSession: dossier_beschikbaar has no incoming transition —
lib/Settings/procest_register.json:249
Reviewed by WilcoLouwerse via automated batch review.
Summary
Re-applies the ADR-031 declarative-state-machine annotations from PR #306 onto the current post-manifest-migration
lib/Settings/procest_register.json. PR #306's branch (feature/declarative-annotation-pilot) accumulated 40+ conflicts withdevelopment(which has since landed the json-manifest migration that deleted/restructured files the branch modified) and could not be rebased — this is a clean re-do off currentdevelopment.Adds
configuration.x-openregister-lifecycleblocks (state machine:field,initial,final,transitions) to 7 schemas, with version bumps:taskdocumentvoorstelhearingSessiondossier_beschikbaarstatus that development added)adviesAanvraaghandhavingsactieinspectieChecklistRegister version bumped 0.7.0 → 0.8.0.
Notes / scope
lib/Lifecycle/), nox-openregister-calculations/-aggregations/-notifications, and noSTATUS_*constant removal — those were never part of that PR — so this re-do mirrors it: register-JSON-only. No PHP changes.docs/development.md,l10n/*,src/utils/taskLifecycle.js) was branch drift, not part of the lifecycle deliverable, and is intentionally not carried over.python3 -m json.tool lib/Settings/procest_register.jsonvalidates.Supersedes #306, which is on an un-rebaseable branch.
Test plan
python3 -m json.tool lib/Settings/procest_register.jsonis valid (done)POST /api/objects/{id}/transitionhonours the new transition tables