Skip to content

fix(settings): install the declarative schema annotations on import - #1704

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/install-declarative-schema-annotations
Sep 3, 2026
Merged

fix(settings): install the declarative schema annotations on import#1704
rubenvdlinde merged 1 commit into
developmentfrom
fix/install-declarative-schema-annotations

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Why

loadConfiguration() called the schema-keys reconciler but never the annotations one. Importing the register creates the schemas, but the x-openregister-* blocks declared alongside them in dossiq_register.json do not survive onto the live schema.

On a fresh instance the task calculations therefore never arrive:

  • isTerminalStatus never materialises, so every completed task reads false and the widgets whose entire filter is isTerminalStatus = false keep showing finished work.
  • daysUntilDue does not exist to extend, so every due-date column renders blank.

Both failures are silent. Nothing errors, nothing logs.

How it was found

The e2e suite caught it on the development push run, on a clean CI install, after the same two tests had passed locally.

They passed locally because I had repaired the dev instance by hand before testing it. The dev box had the calculations; a clean install never would. That is exactly why those assertions are written against the API rather than the UI, and it is the reason the test is worth more than the fix.

Proven both directions

Measured on a real import, after stripping schema 173 back to its fresh-install state:

import calculations on the task schema
as shipped blocksCase only
with this change isTerminalStatus, daysUntilDue, daysOverdue

The foreign task schema (id 52, owned by another app) stays untouched in both cases, so the register-scoped resolver from #1676 still holds.

Verified

  • 2794 PHPUnit tests pass
  • The 4 demo-caseload Playwright tests pass, which are the ones that failed on development
  • phpcs clean

Idempotent, so it is safe on every import.

🤖 Generated with Claude Code

loadConfiguration() called the schema-KEYS reconciler but never the
ANNOTATIONS one, so importing the register created the schemas without the
`x-openregister-*` blocks declared alongside them in dossiq_register.json.

On a fresh instance that means the task calculations never arrive:
isTerminalStatus never materialises, so every completed task reads false and
the widgets whose entire filter is isTerminalStatus = false keep showing
finished work; and daysUntilDue does not exist to extend, so every due-date
column renders blank. Both failures are silent.

The e2e suite caught this on a clean CI install after the same tests passed
locally, because I had repaired the dev instance BY HAND before testing it.
The dev box had the calculations; a clean install never would. That is the
whole reason the assertions are written against the API rather than the UI.

Proven both directions on a real import, after stripping schema 173 back to
its fresh-install state:

  import as shipped -> blocksCase only
  import with this  -> isTerminalStatus, daysUntilDue, daysOverdue

The foreign task schema stays untouched either way, so the register-scoped
resolver still holds.

Idempotent, so it is safe on every import.

Verified: 2794 PHPUnit tests pass, the 4 demo-caseload e2e tests pass, phpcs
clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/dossiq @ 3d36448

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-03 05:42 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit f46b7d8 into development Sep 3, 2026
49 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/install-declarative-schema-annotations branch September 3, 2026 05:42
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