Skip to content

feat(p3-citizen-participation): apply spec (partial — i18n deferred)#173

Merged
rubenvdlinde merged 1 commit into
developmentfrom
feat/apply-p3-citizen-participation
May 11, 2026
Merged

feat(p3-citizen-participation): apply spec (partial — i18n deferred)#173
rubenvdlinde merged 1 commit into
developmentfrom
feat/apply-p3-citizen-participation

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

Applies the openspec change for p3-citizen-participation to the decidesk register, controller, and tests. The original apply agent stalled mid-i18n update, so this PR lands the structural/code portion only — i18n key updates are deferred to a follow-up.

Changes

  • lib/Settings/decidesk_register.json — adds 7 schemas for citizen engagement (BudgetProposal, CitizenPanel, CitizenVote, Deliberation, Notification, ParticipatoryBudget, PublicConsultation). Promotes Decision.isPublished from boolean to enum internal | public | confidential.
  • lib/Controller/DecisionController.php + lib/Service/LiveDecisionService.php — handle new isPublished enum; backwards-compatible with legacy boolean form.
  • tests/Unit/RegisterJsonTest.php — schema count expectation raised from 17 to 24 (17 p1 core + 7 p3); enum assertion added.
  • tests/Unit/Controller/DecisionControllerTest.php — publish() tests updated to use enum values.
  • src/manifest.json — minor cache-buster bump.

Deferred

  • i18n keys for the 7 new schemas + the new transparency states. The apply agent stalled before reaching the l10n step.

Quality gates

  • composer check:strict — passes (lint, phpcs, phpmd, psalm, phpstan, phpunit 153 tests / 822 assertions / 33 skipped)
  • npm ci — clean install
  • npm run lint — 0 errors (17 pre-existing warnings)
  • npm run build — webpack compiled with 4 pre-existing warnings (no errors)

Test plan

  • Visual review of new schemas in the register UI
  • Confirm Decision publish flow still works with legacy boolean values
  • Follow-up PR adds i18n keys for the 7 new schemas and the isPublished enum labels

Applies the openspec change for p3-citizen-participation. NOTE: i18n keys
deferred to a follow-up — the apply agent stalled mid-i18n update.

Changes:
- decidesk_register.json: +7 schemas (BudgetProposal, CitizenPanel,
  CitizenVote, Deliberation, Notification, ParticipatoryBudget,
  PublicConsultation); Decision.isPublished promoted to enum
  (internal | public | confidential).
- DecisionController/LiveDecisionService: handle isPublished enum
  (treats legacy boolean true as already-published for backward compat).
- Tests updated: 24 schemas expected; publish() tests use enum values.

i18n update for new schemas/strings is deferred to a follow-up PR.
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidesk @ 1024864

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 469/469
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/115 statements)


Quality workflow — 2026-05-11 05:58 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit 9d5c8da into development May 11, 2026
23 checks passed
@rubenvdlinde rubenvdlinde deleted the feat/apply-p3-citizen-participation branch May 11, 2026 06:06
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